fbpx
FranzininhoNovidade

Monitorando Temperatura e Umidade com Franzininho WiFi e Blynk App


Olá pessoal!

No post de hoje vamos ensinar a vocês como monitorar temperatura e umidade com a 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 é criar um sistema de hardware composto pela placa microcontroladora Franzininho WiFi e pelo DHT11, sensor capaz de medir a temperatura e umidade de um ambiente. Desta forma, o sensor enviará as informações de temperatura e umidade para a Franzininho WiFi que, por meio de uma conexão Wi-Fi, enviará estas informações ao Blynk.


MATERIAIS NECESSÁRIOS

1 X Franzininho WiFi;
1 x Sensor DHT11;
1 x Resistor de 10 kΩ;
1 x Protoboard;
Fios de jumper.


ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES

Monte atentamente o circuito da Figura 1.

Figura 1: Circuito elétrico para projeto Monitorando Temperatura e Umidade pelo Celular utilizando a placa Franzininho WiFi e o Blynk.

Ao montar seu circuito observe os seguintes pontos:

• O sensor DHT11 possui 4 terminais. O primeiro (VCC) é o terminal de alimentação, que conforme datasheet do fabricante pode ser entre 3 V e 5,5 V. O segundo (DATA) é o pino de comunicação de dados, será através dele que o valor da temperatura e umidade serão comunicados. O terceiro (NC) é um pino vazio. Por fim, o último (GND) é o terminal de terra do sensor;

• O pino 1 do sensor DHT11 será ligado a alimentação de 3,3 V da placa Franzininho WiFi, o pino 2 deve ser conectado à porta digital D2, o pino 3 não será utilizado e o pino 4 deve ser conectado ao GND (terra).


CONSTRUINDO O APLICATIVO NO BLYNK

Conforme mencionado anteriormente, o aplicativo para monitoramento da temperatura e umidade 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 Clima 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 Gauge e Image Gallery.

Para exibir as informações referentes a temperatura e umidade lida pelo sensor DHT11 vamos usar os Widgets do tipo Gauge, ideal para exibição visual de valores numéricos. 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 os Gauges responsáveis por receber as informações de temperatura e umidade, conforme a Figura 5.

Figura 5: Configuração dos Gauges para exibir umidade e temperatura.

Para receber as informações de umidade e temperatura, vamos utilizar os pinos virtuais V5 e V6. 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 valores a ser exibido pelos Gauges Umidade e Temperatura, que deve ser de 0 a 100 e de 0 a 40. Em label vamos definir a formatação dos dados recebidos. Utilizamos a opção /pin/ para que . Em seguida, incluímos as unidades de medida: a umidade será medida em porcentagem (%) e a temperatura em graus Celsius (ºC).

Você pode alterar as cores do Gauge clicando em Gauge Color.

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 montagem do circuito e 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> //Biblioteca para uso do WiFi da Franzininho
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h> //Biblioteca para uso do ESP32 (Franzininho) no Blynk
#include <DHT.h> //Biblioteca do DHT11

char auth[] = BLYNK_AUTH_TOKEN;

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

#define DHTPIN 2 // Define o pino digital que o DHT11 está conectado      
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE); //Inicializando o objeto dht do tipo DHT passando como parâmetro o pino (DHTPIN) e o tipo do sensor (DHTTYPE)
BlynkTimer timer; //Inicializando o objeto timer do tipo BlynkTimer

//Função de leitura do sensor
void sendSensor() {
  float h = dht.readHumidity(); //Realiza a leitura da umidade e armazena na variável h
  float t = dht.readTemperature(); //Realiza a leitura da temperatura e armazena na variável t

  if (isnan(h) || isnan(t)) { //Verifica se houve falha na leitura do sensor
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  Blynk.virtualWrite(V5, h); //Escreve no pino virtual V5 o valor de h (umidade)
  Blynk.virtualWrite(V6, t); //Escreve no pino virtual v6 o valor de t (temperatura)
}

void setup() {

  Serial.begin(115200); //Inicialização da comunicação serial
  Blynk.begin(auth, ssid, pass); //Inicializa o blynk passando como parâmetro o auth token, o nome da rede Wi-Fi e a senha
  dht.begin(); //Inicializa o sensor
  timer.setInterval(1000L, sendSensor); //Função sendSensor sendo chamada a cada segundo
}

void loop() {
  Blynk.run(); //Chama a função Blynk.run()
  timer.run(); //Chama a função timer.run()
}

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

Biblioteca Blynk

Biblioteca DHT11

Biblioteca Adafruit Unified Sensor Lib

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: Monitorando a temperatura e a umidade 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.,
Carol Correia Viana e Carlos Dyorgenes Santana

Dúvidas? Deixe seu comentário

Admisnitrador, Contador e especialista em Análise e Viabilidade de Projetos Financeiros. Graduação em andamento em Ciências Econômicas pela Universidade Estadual do Sudoeste da Bahia - UESB. Entusiasta em liguagem de programação C, C++ com projetos relacionados a plataforma Arduino. Colaborador do Blog da Robótica, com projetos DIY. Integrante da equipe de organização da CDR Arena, maior evento de robótica do sudoeste da Bahia.

Esp. Carlos Dyorgenes

Admisnitrador, Contador e especialista em Análise e Viabilidade de Projetos Financeiros. Graduação em andamento em Ciências Econômicas pela Universidade Estadual do Sudoeste da Bahia - UESB. Entusiasta em liguagem de programação C, C++ com projetos relacionados a plataforma Arduino. Colaborador do Blog da Robótica, com projetos DIY. Integrante da equipe de organização da CDR Arena, maior evento de robótica do sudoeste da Bahia.

Deixe uma pergunta

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