BREAKOUT DE BAIXO CUSTO PARA APRENDIZAGEM DO MÓDULO NINA W102

O objetivo deste BLOG é mostrar o funcionamento breakout para aprendizagem NINA W102. Com autorização do autor da placa (Michel Racic), corroemos e montamos a placa para testes, versão 0.4




Adquirimos então os seguintes componentes


C1, C22100nF732-8086-1-NDCHF 0.0871
C3, C421uF732-7692-1-NDCHF 0.1177
D11GREEN LED732-5032-1-NDCHF 0.1558
J1, J22Conn_01x15WM50014-15-NDCHF 0.34636
R111kΩ541-1.0KECT-NDCHF 0.0254
R2, R3210kΩ541-4201-1-NDCHF 0.0147
SW1, SW22ButtonEG2663TR-NDCHF 0.27930
U11NINA-W102672-1070-1-NDCHF 8.- ~ CHF 20.-

Montado ficou assim
O esquema elétrico é este




Para efetuar a comunicação com ele, foi utilizado o conversor de USB para TTL 3.3V. A gravação é realizada via UART, com os pinos TXD e RXD do conversor ligados no RXD e TXD respectivamente do Breakout, bem como GND e VCC33. Há um pino de RESET que pode ser ligado no DTR do conversor, caso  seu modelo tenha.

Resultado de imagem para conversor usb serial ttl

Algumas características do Kit

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



Pequena 



Muito fácil de utilizar.

Vários exemplos foram testados com o ARDUINO e IDF-ESP32. Veja blogs anteriores sobre ferramentas para gravação do NINA W102. Aqui temos um exemplo de pisca pisca de LED no Arduino.



#define LED D12 //EQUIVALE AO PINO GPIO DO NINA W102

#include <arduino.h> //opcional

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED, OUTPUT);
}

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

O mesmo código também testado no Platformio Arduino.



E o código usando o IDF-SDK da Espressif
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"

#define BLINK_GPIO 23
void blink_task(void *pvParameter)
{
gpio_pad_select_gpio(BLINK_GPIO);
/* Set the GPIO as a push/pull output */
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);

while(1) {
/* Blink off (output low) */
gpio_set_level(BLINK_GPIO, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
/* Blink on (output high) */
gpio_set_level(BLINK_GPIO, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}

void app_main()
{
xTaskCreate(&blink_task, "blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL);
}

Resultado




Temos placas em estoque para você soldar o  NINA W102 e demais componentes para fazer seus primeiros protótipos.

Acompanhe o grupo de discussão da placa no primeiro link abaixo! Lá você encontrará as algumas imagens acima com melhor resolução.


Questoes: suporte@smartcore.com.br

Referências

https://rac.su/project/nina-w102-minimal-breakout/
https://platformio.org/