fbpx

Controle de LED Neopixel Franzininho WiFi com Blynk APP

Olá pessoal,

No post de hoje vamos ensinar a vocês controlar o LED Neopixel da placa Franzininho WiFi por meio de um aplicativo criado no Blynk App. Caso você não conheça esta plataforma de desenvolvimento de aplicativos leia o artigo Conhecendo a Plataforma Blynk.

A Franzininho WiFi é uma placa de desenvolvimento com o ESP32-S2 (Wroom e Wrover) do projeto Franzininho. O projeto Franzininho foi criado para desenvolver habilidades em pessoas nas áreas de eletrônica e programação, por meio de atividades no formato DIY e em conjunto com a cultura maker, no Brasil. Para saber mais sobre o projeto Franzininho, clique aqui.

A proposta desta prática é que você utilize o LED Neopixel RGB para criar diversas cores. Desta forma, por meio de uma conexão Wi-Fi, o APP Blynk enviará estas as informações para a Franzininho Wifi, fazendo com que a cor do LED altere conforme for posicionado no Blynk APP.


MATERIAIS NECESSÁRIOS

1 X Franzininho WiFi;

Figura 1 – Placa Franzininho WiFi



CONSTRUINDO O APLICATIVO NO BLYNK

Conforme mencionado anteriormente, o aplicativo para controle do LED será construído utilizando a plataforma Blynk. Para saber mais o Blynk e como instalá-lo clique aqui.

Para dar início à construção do aplicativo, abra o Blynk App em seu celular e selecione a opção “+ New Project”, conforme a Figura 2.

Figura 2: Clique em “+ New Project” para criar um novo projeto no Blynk App.


Em seguida, na tela Create New Project configuraremos o projeto conforme a Figura 3. Neste caso, atribuímos “Clima” como nome do projeto, selecionamos como dispositivo a placa ESP32 Dev Board e o tipo de conexão via Wi-Fi. Tendo feita as configurações, clique em “Create”.

Observação: Você também pode construir essa aplicação com outro microcontrolador ou outro tipo de comunicação. Para isso, configure o projeto conforme especificações da sua placa.

Figura 3: Configuração do projeto no Blynk App.


Em seguida, você receberá uma mensagem informando que o Auth Token do projeto foi enviado ao seu e-mail de cadastro. Clique em OK para fechar esta mensagem. Na tela de projeto incluiremos os Widgets necessários para construção do aplicativo, conforme a Figura 4.

Figura 4: Widgets do projeto Franzininho WiFi no Blynk App.

Para incluir os widgets do projeto clique no símbolo + , localizado na barra superior da tela de projetos do Blynk App. Os Widgets a serem inclusos são do tipo zeRGBa e Image Gallery.

Para exibir as cores vamos usar os Widgets do tipo zeRGBa, ideal para exibição visual das opções de cores disponíveis. Utilizaremos o Widgets Image Gallery para exibir a nossa logo e a logo do Franzininho na aplicação, mas você pode incluir qualquer outra imagem.

Após a inclusão dos Widgets, vamos configurar cada um deles para a nossa aplicação. Para entrar no modo de configuração dos Widgets dê um clique leve sobre o mesmo, mas se deseja mover ou redimensionar clique e segure.

Para iniciar, vamos configurar o zeRGBa responsável por demonstrar as opções de cores, conforme a Figura 5.

Figura 5: Configuração do zeRGBa.

Para enviar as informações das cores, vamos utilizar o pino virtual V2. O pino virtual é uma maneira de transmissão de dados entre o hardware e o Blynk App, e são comumente utilizados para fazer interface com outras bibliotecas e implementar lógica de programação personalizada. Os pinos virtuais não possuem representação física e não devem ser confundidos com os pinos GPIO físicos da Franzininho WiFi.

Em seguida, definimos a faixa de valor a ser enviado, que deve ser de 0 a 255.

Em seguida, Iniciaremos a configuração do Image Gallery. A Figura 6 ilustra a página de configuração desse Widget. Para incluir a imagem desejada clique em “URL”, para incluir uma imagem da Web,ou “ALBUM”, para adicionar uma imagem salva em seu celular.

Figura 6: Configuração do Widget Image Gallery no Blynk App.


ELABORANDO O CÓDIGO

Após a configuração do Blynk App, vamos a programação do nosso Sketch no Arduino IDE.
O código do projeto proposto ficará da seguinte maneira:

#define BLYNK_AUTH_TOKEN  "SeuAuthToken" //Auth token do projeto


#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h> //Biblioteca para uso do ESP32 (Franzininho) no Blynk
#include <Adafruit_NeoPixel.h> //Biblioteca do LED NeoPixel
#include <SPI.h>

#define PIN 18 //Define o pino que o LED Neopixel está conectado 
#define NUMPIXELS 1 //Quantidade de Pixel do led
#define BLYNK_PRINT Serial
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

char auth[] = BLYNK_AUTH_TOKEN;

//  Credenciais WiFi.
char ssid[] = "SuaRedeWiFi"; //Nome da rede Wi-Fi
char pass[] = "SenhadoWifi"; //Senha da rede Wi-Fi

BLYNK_WRITE(V2)
{
  int R = param[0].asInt(); 
  int G = param[1].asInt();
  int B = param[2].asInt();
  Serial.println(R);
  Serial.println(G);
  Serial.println(B);
  for (int i = 0; i < NUMPIXELS; i++) {

    pixels.setPixelColor(i, pixels.Color(R, G, B));

    pixels.show();
  }
}

void setup()
{
  
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  pixels.begin();
}

void loop()
{
  Blynk.run();
}


Observe que no código incluímos algumas bibliotecas que podem ser baixadas através dos seguintes links:

Biblioteca Blynk

Outra etapa necessária para o funcionamento correto do código é a inclusão do nome e da senha da rede Wi-Fi que a Franzininho WiFi deve se conectar. Desta forma, preencha estas informações no código, mantendo as aspas duplas (“ ”).

Em seguida, vamos realizar o upload do código para a placa Franzininho WiFi.

Após a transferência do código, abra o aplicativo criado no Blynk App e clique no ícone “Play” para iniciar a comunicação entre o aplicativo e a placa Franzininho WiFi.

Ao final, o aplicativo para monitorar a temperatura e a umidade funcionará conforme mostrado no Vídeo 1.

Vídeo 1: Controle de LED NeoPixel pelo celular usando a Franzininho WiFi e a plataforma Blynk.

Espero que tenham gostado deste tutorial. Em caso de dúvidas deixe seu comentário abaixo.

Att.,
Carlos Dyorgenes Santana

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.