LSM110A - TESTES DA MOTHER BOARD
O objetivo deste BLOG é demonstrar como é possível programar o módulo WISOL LSM110A via VISUINO e assim utilizá-lo como OPENCPU.
Neste exemplo será feito um projeto para:
-PISCA LED NO PINO PA7
-IMPRIMIR HELLO WORLD NO TERMINAL A CADA 1 SEGUNDO
-MANDAR UM CONTADOR VIA "SPI" PARA DISPLAY 7 SEGMENTOS (TM1637)
-LER HORA/DATA DO DS3231 E MOSTRAR NA UART
-LER A/D E MOSTRAR NA UART
-LER DS3221 E MOSTERA NO TM1637
-ESCREVER E LER REGISTRADOR MODBUS VIA RS485
-PWM LED
-PWM LED
-RELAY
-OPTO DIGITAL INPUT
-LoRa RECEIVE
Módulo LSM110A
O LSM110A é um módulo de última geração que integra o STMicroelectronics STM32WL. É muito menos consumo atual para o dispositivo IoT para estender a vida útil da bateria. E, também suporta ambas as tecnologias – Sigfox e LoRa – com o próprio módulo LSM110A.
VISUINO
Visuino é o mais recente software inovador da Mitov Software. Um ambiente de programação visual que permite programar suas placas Arduino.
Os componentes encontrados no software Visuino representam seus componentes de hardware e você poderá facilmente criar e projetar seus programas arrastando e soltando. Nenhum equipamento ou hardware é necessário para executar o software no modo de design. Depois de concluir o projeto, você pode conectar o upload da placa Arduino e executá-lo.
Para aquelas pessoas que não são fortes em escrever código, projetar, compilar e criar programas Arduino nunca foi tão fácil! Por que perder tempo codificando quando todo o trabalho duro é feito para você? Você tem sua placa Arduino e um ótimo design de hardware, coloque-a em funcionamento em minutos, não em horas!
Para utilizar o Visuino para programar o LSM110A, deve-se copiar o arquivo Visuino_Wisintainer.zip para a pasta
Wisintainer : Namespace
//---------------------------------------------------------------------------
+TArduinoSTM32_STM32WL_HardwareSerial : TArduinoSTM32DefinedPinsBasicSerial
RXPin = 3
TXPin = 2
;
//---------------------------------------------------------------------------
//Miguel Wisintainer
[Name( 'STM32WL' )]
[ArduinoBoardArchitecture_STM32]
[ArduinoBoardCompileParams( 'STMicroelectronics:stm32:GenWL:pnum=GENERIC_WL55JCIX' )]
[Category( TSTM32Category )]
[ParentImage]
+TArduino_STM32_STM32WL_Board : TArduino_STM32_Basic_Shared_Modules_Board
[AddItem( TArduinoSTM32HardwareSerial0 )]
[AddItem( TArduinoSTM32_STM32WL_HardwareSerial )]
Serial
[AddItem( TArduinoI2C, 1 )]
I2CChannels
[AddItem( TArduinoSPI, 1 )]
SPIChannels
[ArduinoBoard_Add_DigitalAnalogChannel( 0, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA0 (BUT1) 3.3V', 'PA0' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 1, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA1 (BUT2) (WKUP) 3.3V', 'PA1' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 2, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSerial0Channel, 'PA2 (TX0) 3.3V', 'PA2' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 3, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSerial0Channel, 'PA3 (RX0) 3.3V', 'PA3' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 4, TArduinoCombinedAnalogDigitalPullDownOpenDrainChannel, 'PA4 (SPI1-NSS) 3.3V', 'PA4' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 5, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSPI0Channel, 'PA5(SPI1-SCK) 3.3V', 'PA5' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 6, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSPI0Channel, 'PA6(SPI1-MISO) 3.3V', 'PA6' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 7, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA7 3.3V', 'PA7' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 8, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA8 3.3V', 'PA8' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 9, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSerial1Channel, 'PA9 (TX1) 3.3V', 'PA9' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 10, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSerial1Channel, 'PA10 (RX1) 3.3V', 'PA10' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 11, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMI2C0Channel, 'PA11 (I2C0-SDA) 3.3V', 'PA11' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 12, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMI2C0Channel, 'PA12 (I2C0-SCL) 3.3V', 'PA12' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 13, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA13 (SWDIO) 3.3V', 'PA13' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 14, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA14 (SWCLK) 3.3V', 'PA14' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 15, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PA15 (LED3) 3.3V', 'PA15' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 18, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PB2 3.3V (ADC-IN4)', 'PB2' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 19, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PB3 3.3V', 'PB3' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 20, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PB4 3.3V', 'PB4' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 21, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMSPI0Channel, 'PB5(SPI1-MOSI) 3.3V', 'PB5' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 22, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PB6 3.3V', 'PB6' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 23, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PB7 3.3V', 'PB7' )]
[ArduinoBoard_Add_DigitalAnalogChannel( 24, TArduinoCombinedAnalogDigitalPullDownOpenDrainPWMChannel, 'PB8 3.3V', 'PB8' )]
Digital : TArduinoDigitalChannels
;
//---------------------------------------------------------------------------
; // Wisintainer
C:\Users\Usuario\libraries
e descompactar.
Também alterar variant_generic.h para
C:\Users\UsuA!rio\AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.7.1\variants\STM32WLxx\WL54JCI_WL55JCI_WLE4J(8-B-C)I_WLE5J(8-B-C)I
// I2C definitions
#ifndef PIN_WIRE_SDA
#define PIN_WIRE_SDA PA11
#endif
#ifndef PIN_WIRE_SCL
#define PIN_WIRE_SCL PA12
#endif
e
// SPI definitions
#ifndef PIN_SPI_SS
#define PIN_SPI_SS PA4
#endif
#ifndef PIN_SPI_SS1
#define PIN_SPI_SS1 PA15
#endif
#ifndef PIN_SPI_SS2
#define PIN_SPI_SS2 PB2
#endif
#ifndef PIN_SPI_SS3
#define PIN_SPI_SS3 PNUM_NOT_DEFINED
#endif
#ifndef PIN_SPI_MOSI
#define PIN_SPI_MOSI PB5
#endif
#ifndef PIN_SPI_MISO
#define PIN_SPI_MISO PA6
#endif
#ifndef PIN_SPI_SCK
#define PIN_SPI_SCK PA5
#endif
Execute o Visuino faça o projeto abaixo
Projeto Visuino Recebendo pacote LoRa em um canal (925.0)
Configure as Seriais 1 e 2
Altere Placa para STM32WL series e compile
Transferindo (utilizado o STM32CubeProgrammer)
Via ST-LINK V2
Fontes:
Dúvidas
suporte@smartcore.com.br
Sobre a SMARTCORE
A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br