segunda-feira, 18 de janeiro de 2021

U-BLOX NINA B302 RODANDO TINYGO - HELLO WORLD

U-BLOX NINA B302 RODANDO TINYGO - HELLO WORLD


O objetivo deste BLOG é demonstrar como é possível programar o módulo U-BLOX NINA B302 com a linguagem TINYGO. Foi utilizado o breakout NINA B302. Neste exemplo faremos um HELLO WORLD.


Adquirimos então os seguintes componentes



Montamos a BREAKOUT (B302)


O esquema elétrico é este



Algumas características do Kit

-Botão de RESET;
-Botão de Modo BOOTLOADER (W102);
-Plugável no PROTOBOARD;
-Acesso às várias GPIOS;

Pequena 
BREAKOUT



TinyGo é um projeto para levar a linguagem de programação Go para microcontroladores e navegadores modernos, criando um novo compilador baseado em LLVM.

Você pode compilar e executar programas TinyGo em muitas placas microcontroladoras diferentes, como o micro:bit da BBC e o Arduino Uno.

TinyGo também pode ser usado para produzir código WebAssembly (WASM), que é muito compacto em tamanho.

Só quer ver o código? Vá ao repositório do Github em 


TinyGo também tem suporte para vários dispositivos diferentes, como acelerômetros e magnetômetros. Confira o repositório do Github em 

https://github.com/tinygo-org/drivers para obter mais informações.

Instalando no WINDOWS 10

Você deve usar o Go 1.14.x+ com a instalação nativa do Windows 10 do TinyGo.

Se você ainda não o instalou, você pode obtê-lo a partir de https://golang.org/dl/

Escolha o link de download para Microsoft Windows, Windows 7 ou posterior, processador Intel de 64 bits.


Descomprima o arquivo assim:

Primeiro clique duas vezes no arquivo ZIP baixado para abri-lo.

Agora arraste a pasta "tinygo" na janela do arquivo ZIP para a unidade "C:".

Quando a pasta terminar de extrair, você pode fechar a janela de arquivo ZIP.

Você precisará adicionar C:\tinygo\bin ao seu PATH.

> set PATH=%PATH%;"C:\tinygo\bin";

Agora você deve ser capaz de executar o comando TinyGo:

> tinygo version
tinygo version 0.17.0 windows/amd64 (using go version go1.16 and LLVM version 11.0.0)

Montagem

Um cabo USB foi soldado em D+, D-, GND e VBUS do NINA B302

Gravando o BOOTLOADER

Diferente do NINA B112, o B302 tem uma USB a qual permite que você possa criar um COM virtual e MSD e copiar os programas, graças ao bootloader do time da Adafruit.

Adafruit Team

feather_nrf52840_express_bootloader-0.5.0.zip

Com seu gravador SEGGER J-TAG, será necessário gravar o BOOTLOADER  da Adafruit.




DFU

Obs: além de um dispositivo MSD, teremos uma COMM Virtual (para debug)

CDC USB COMM E MSD


INFO_UF2.TXT dentro do MSD

UF2 Bootloader 0.5.0 lib/nrfx (v2.0.0) lib/tinyusb (0.9.0-22-g7cdeed54) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: Adafruit Feather nRF52840 Express
Board-ID: nRF52840-Feather-revD
SoftDevice: S140 version 6.1.1
Date: Apr  4 2021

Como pode observar, está o Softdevice S140 junto!

Gravando a programa TINYGO

Conecte o u-BLOX NINA B302 na porta USB do seu computador.
Mostre seu programa TinyGo para o quadro usando este comando:

tinygo flash -port=COMxx -target=feather-nrf52840 examples/serial


O NRF52840 é o core do U-BLOX NINA-B302

A placa u-BLOX NINA B302 deve reiniciar e, em seguida, começar a executar o seu programa.

Solucionando problemas

Se você tiver problemas para enviar código para ou-BLOX NINA B302 receber código, tente isso:

Pressione o botão "RESET" na placa duas vezes para deixar a placa u-BLOX NINA B302 pronta para receber o código.

A placa u-BLOX NINA B302 aparecerá no seu computador como uma unidade USB.

Depois de atualizar sua placa u-BLOX NINA B302 pela primeira vez, depois disso você deve ser capaz de "flash-lo" inteiramente da linha de comando.

Notas
Você pode usar a porta USB para o u-BLOX NINA B302 como uma porta serial. UART0 refere-se a esta conexão.

Para um exemplo que usa os LEDs Neopixel embutidos, dê uma olhada no repositório de drivers TinyGo localizado em 


O suporte bluetooth já está disponível para a placa u-BLOX NINA B302.

Executando o exemplo Serial

Gravando na FLASH

Execução do Exemplo - 115200

código Fonte

Interfaces implementadas no U-BLOX NINA B302 com o TINYGO


PISCANDO LED

Gravando na Flash

Código Fonte

Para direcionar machine.LED para o pino GPIO02  do NINA B302 foi necessário abrir o arquivo board_feather-nrf52840.go e configurá-lo para D26, que corresponde à P0_14 ou GPIO 02.

D26 = P0_14 

const (
LED      = D26


Breakout

Datasheet

Execução

Restrições TINYGO


Questões: 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


Nenhum comentário:

Postar um comentário