Acionando cargas com módulo relé de 4 canais e NodeMCU

Em sistemas de automação, precisamos sempre habilitar e desabilitar cargas mediante a uma solicitação, ou determinado evento. Com isso, o uso de relés permite com que esse controle seja feito sem a intervenção humana de forma direta, ou seja, o próprio sistema é capaz de ligar e desligar cargas ou você mesmo pode desligar ligar ou desligar uma carga sem estar próximo ao equipamento.  Com base nisso, neste tutorial, iremos aprender a como construir um sistema de acionamento de cargas utilizando um módulo relé de 4 canais, e um ESP8266. Iremos aprender também a como utilizar o Blynk, uma ferramenta bem interessante para desenvolver Dashboards.

Montando o projeto

Para construir este projeto, iremos precisar de um NodeMCU, que será responsável por acionar as cargas do sistema, e receber os dados do nosso Dashboard. Iremos utilizar também um módulo relé de 4 canais, que será responsável por acionar os Leds  utilizados, simulando as cargas no sistema. Por fim, será necessário um Smartphone para criação e uso do Dashboard.

 

  1. NodeMCU
  2. Relé 4 Canais
  3. 4 Resistores 470 Ohms
  4. 4 Leds
  5. Smartphone

 

 

 

 

 

 

 

 

 

 

Montando nosso Dashboard

Primeiramente iremos criar o Dashboard para controlar o nosso relé de 4 canais, e para isso utilizaremos o Blynk. O Blynk para quem não conhece, é uma ferramenta que nos permite controlar nossos dispositivos IoT remotamente, e ainda nos permite criar Dashboards sem precisar escrever uma única linha de código.

Cadastrando no Blynk

O procedimento de criação do painel é bem simples, primeiramente faça o download do Blynk pela play store ou Itunes. Feito o download, faça o seu cadastro na plataforma selecionando a opção Create New Accout.

Criando um projeto

Feito o cadastro faça login no sistema com o email e senha utilizados e você será direcionado a tela abaixo:

Para criar um novo Dashboard você deve agora selecionar a opção New Project. Selecionada a opção New Project, Uma nova janela será aberta onde você irá definir um nome e o tipo de placa utilizada. Neste projeto iremos utilizar o NodeMCU e daremos o nome controle relés, como mostra a figura abaixo:

Feito isso, você será redirecionado para um painel vazio como o da figura abaixo:

Será nesse painel que você irá conseguir adicionar componentes, como botões e displays. Para acessar o painel de componentes, clique no ícone + que aparece no canto superior direito da tela. E uma janela semelhante a da figura abaixo será aberta:

Será nessa janela que iremos selecionar os componentes que iremos utilizar, em nosso caso 4 botões. Feita a seleção dos botões faça um alinhamento semelhante ao da figura abaixo:

Configurando botões do projeto

Agora iremos configurar os botões criados para que eles interajam com o nosso NodeMCU, para isso clique em cada um dos botões e crie as configurações da seguinte forma:

  • Nome: Reléx ( sendo x o número do relé que você deseja controlar pelo botão).
  • OUTPUT: Dx ( sendo x o pino onde você vai conectar o pino do microcontrolador ao relé ).
  • Mode: SWITCH.

 

Feito isso seu dashboard estará pronto para uso, bastando agora pressionar o botão start para inicializar o dashboard.

Montagem do projeto

Agora que configuramos o dashboard, iremos agora montar o sistema de controle de carga, neste tutorial, iremos utilizar sequencialmente os pinos D1, D2, D3 e D4 do nosso nodeMCU para ligar e desligar alguns leds ( simulando como se eles fossem a carga do sistema. A montagem do sistema é bem simples como mostra a figura abaixo:

Desenvolvimento do código

Agora que montamos o nosso sistema de acionamento de cargas, iremos partir para a parte do código, que pode ser visto logo abaixo:


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>


char auth[] = ""; // Token recebido no email ao criar o dashboard no blynk

char ssid[] = ""; // Nome da sua rede WiFi
char pass[] = ""; // senha da sua rede WiFi


void setup() {
  Blynk.begin(auth, ssid, pass); // Inicia conexão com a rede e ativa dashboard
  pinMode (D1,OUTPUT); 
  pinMode (D2,OUTPUT);
  pinMode (D3,OUTPUT);
  pinMode (D4,OUTPUT);
  digitalWrite(D1,LOW);
  digitalWrite(D2,LOW);
  digitalWrite(D3,LOW);
  digitalWrite(D4,LOW);
}
void loop() {
   Blynk.run();
}

O código em questão é bem simples, pois todo o processo de conexão e ativação do dashboard será feito pela biblioteca Blynk que pode ser baixada através do Gerenciar Bibliotecas da própria IDE do Arduino.

 

Mergulhando no projeto

Primeiramente, para implementar este projeto, iremos precisar realizar o download da biblioteca Blynk que pode ser feito indo até a opção Sketch > Incluir Biblioteca > Gerenciar Biblioteca exatamente como na figura abaixo:

 

Variáveis definidas

  • auth: Armazena o token recebido no email no momento em que você cria o dashboard através do blynk.
  • ssid: Nome da sua rede sem fio onde o NodeMCU deverá se conectar.
  • pass: Senha da sua rede sem fio onde o nodeMCU deverá se conectar.

Função Setup

  • Blynk.begin: Função responsável por inicializar a comunicação com o dashboard criado no celular e também controlar os pinos de todos os canais do relé.
  • pinMode: Inicializa sequencialmente os pinos D1, D2, D3 e D4 como saída.
  • digitalWrite: Configura os pinos D1, D2 , D3 e D4 para o nível lógico baixo.

Função loop

  • Blynk.run: Inicializa o blynk tanto no nodeMCU quanto no celular.

Conclusão

Neste tutorial, aprendemos a como construir um sistema básico para controle de cargas utilizando o blynk, um nodeMCU e um relé de 4 canais. Espero que tenham gostado do conteúdo apresentado, sinta-se à vontade para nos dar sugestões, críticas ou elogios. Lembre-se de deixar suas dúvidas nos comentários abaixo.

Avatar
Sobre Danilo Almeida 5 artigos
Bacharel em Ciência da computação, pela Universidade Federal de Viçosa - Campus Florestal, e atualmente mestrando em Ciência da computação na área de arquitetura de computadores, é um entusiasta na área de sistemas embarcados e robótica, buscando sempre aprimorar e compartilhar o conhecimento obtido através de bastante estudo e noites sem dormir :) .

Seja o primeiro a comentar

Deixe uma resposta

O seu endereço de email não será publicado.


*