quarta-feira, 13 de março de 2019

PROGRAMANDO NINA B302 COM ARDUINO

U-BLOX NINA B302 e ARDUINO

O objetivo deste BLOG é demonstrar como é possível utilizar a IDE do Arduino para programar o módulo U-BLOX NINA B3. Foi utilizado o módulo NINA B302 (opencpu) para o teste. 

1) Baixe e instale a última versão da IDE do Arduino. 



https://www.arduino.cc/en/Main/Software

2) Crie uma pasta "portable" dentro da pasta Arduino



3) Execute a IDE do Arduino e click em files-->preferences



digite https://www.adafruit.com/package_adafruit_index.json e click OK



4) Vá agora em Ferramentas > Gerenciador de Placas




5) Procure por "Adafruit nRF52 by Adafruit" e instale



Aguarde alguns minutos para instalação do SDK. 

6) Selecione em Ferramentas-->placa o módulo "Adafruity NRF52840DK PCA10056"

7) Crie um Sketch novo e copie o programa abaixo

// the setup function runs once when you press reset or power the board
void setup() {
  pinMode(3, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);
  digitalWrite(3, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);
  }

Neste caso, foi escolhido o pino GPIO_16 do NINA, que tem pino do processador correspondente à P0.3



8) Você pode alterar o mapa PCA1006 para ser compatível com  NINA B302, alterando dois arquivos

....\Arduino\Portable\packages\adafruit\hardware\nrf52\0.9.3\variants\pca10056

variant.h e variant.cpp


9) Compile


9) Diferente do NINA B1, o B302 tem uma USB a qual permite que você possa criar um COM virtual e copiar o programa via DFU (NRFPROG), isto graças ao bootloader da Adafruit


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


Instale os drivers da Adafruit


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

Voce pode baixar o Bootloader pelo caminho (Arduino)

....Arduino\Portable\packages\adafruit\hardware\nrf52\0.9.3\bootloader\pca10056




11) Conecte a USB no seu PC e os drivers serão instalados. Uma COM virtual aparecerá, na figura abaixo, apareceu COM55



12) Seleciona a COM no Arduino e transfira o programa



Resete o NINA B302 e verás o LED alterando de estado a cada 1000ms!




Atenção (DICAS):


O BOOTLOADER da Adafruity também criará uma COM VIRTUAL para Debug do comando print, printl, write, etc;

Comente a linha abaixo, senão o programa ficará num LOOP infinito até que você abra a COM VIRTUAL.


  //while ( !Serial ) delay(10);   // for nrf52840 with native usb

Uma COM VIRTUAL é criada para UPLOAD, mas não é a mesma para DEBUG, ou seja, durante UPLOAD é usada uma COM, após a execução do programa é criada outra COM VIRTUAL.


13) Mandando dados pela serial (USB COM VIRTUAL)




14) 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 portifó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