ESP8266 - Ventilador

Este tutorial ensina você a usar o ESP8266 para ligar ou desligar um ventilador. Vamos falar sobre como controlar a velocidade do ventilador em outro tutorial.

Existem duas peças que você pode colocar entre o NodeMCU e o ventilador: um relé ou um módulo MOSFET. Um relé dá ao ventilador apenas dois estados, LIGADO e DESLIGADO. Um módulo MOSFET também faz isso, e ainda pode fazer o ventilador girar mais devagar ou mais rápido com PWM, sem nenhum clique. Esta página mostra as duas formas, primeiro o relé e, no final, o módulo MOSFET.

Sobre o Ventilador DC

Pinagem

Pinagem do ventilador
image source: diyables.io

Um ventilador DC geralmente tem dois pinos:

  • Pino negativo (-) (preto): precisa ser conectado ao fio negativo da fonte de alimentação DC
  • Pino positivo (+) (vermelho): precisa ser conectado ao fio positivo da fonte de alimentação DC

A tensão da fonte de alimentação DC deve ser igual à tensão especificada pelo ventilador. Neste tutorial, vamos usar ventiladores de 12VDC e 5VDC.

Como Controlar o Ventilador

  • Se o ventilador DC for alimentado por uma fonte de 12V/5V, ele roda na velocidade máxima.
  • Se o ventilador DC for alimentado por um sinal PWM de 12V/5V, a velocidade do ventilador pode ser controlada.

Neste tutorial, vamos falar sobre como usar o ESP8266 para ligar ou desligar um ventilador. O controle da velocidade do ventilador será tratado em um tutorial separado.

Para ligar ou desligar o ventilador, precisamos usar um relé entre o ESP8266 e o ventilador. O ESP8266 pode então controlar o ventilador através do relé.

Se você não conhece os relés (pinagem, como funcionam, como programá-los, etc.), consulte o tutorial ESP8266 - Relé para mais informações.

O módulo MOSFET é novidade para você? O tutorial ESP8266 - Módulo MOSFET explica seus pinos e como ele funciona.

Relé vs Módulo MOSFET para um Ventilador

Relé Módulo MOSFET
Controle do ventilador LIGADO ou DESLIGADO LIGADO, DESLIGADO e velocidade (PWM)
Ruído um clique a cada vez que comuta sem som
Velocidade de comutação lenta, alguns milissegundos muito rápida
Vida útil os contatos metálicos se desgastam sem partes móveis, vida longa
Tipo de ventilador ventilador AC ou DC somente ventilador DC
Tensão de alimentação do ventilador qualquer uma, dentro da especificação do relé cerca de 6V ou mais
Isolamento do NodeMCU sim, a bobina e os contatos ficam separados sim, por um optoacoplador PC817
Boa escolha para ventiladores AC, LIGA/DESLIGA simples ventiladores DC que precisam de controle de velocidade

Para um ventilador DC de 12V, o módulo MOSFET é a melhor escolha, porque você pode definir a velocidade e ele não faz barulho. Use o relé para um ventilador AC ou para um ventilador de 5V, já que o módulo precisa de pelo menos cerca de 6V.

Diagrama de Ligação

Diagrama de ligação do ventilador com ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

Observe que, se você usar um ventilador de 5V, precisa usar uma fonte de alimentação de 5V.

Código ESP8266

O código abaixo fará o ventilador ligar a cada cinco segundos e desligar a cada cinco segundos, . repetidamente.

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-fan */ #define RELAY_PIN D8 // The ESP8266 pin connected to the IN pin of relay // The setup function runs once on reset or power-up void setup() { // initialize digital pin D8 as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, HIGH); // turn on fan 10 seconds delay(10000); digitalWrite(RELAY_PIN, LOW); // turn off fan 10 seconds delay(10000); }

Passos Rápidos

Para começar com o ESP8266 no Arduino IDE, siga estes passos:

  • Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for sua primeira vez usando o ESP8266.
  • Faça a ligação dos componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Conecte um ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE, selecione a placa e a porta corretas.
  • Copie o código fornecido e abra-o no Arduino IDE.
  • Clique no botão Upload no Arduino IDE para compilar e fazer o upload do código para o ESP8266.
  • Confira o estado do ventilador.

Explicação do Código

Confira a explicação linha por linha contida nos comentários do código-fonte!

Como Controlar a Velocidade do Ventilador com o Módulo MOSFET

Agora vamos trocar o relé por um módulo MOSFET. O NodeMCU envia um sinal PWM pelo pino D5, e o módulo o transforma em pulsos de 12V para o ventilador, de modo que o ventilador pode rodar em qualquer velocidade entre parado e máxima.

Diagrama de Ligação

Diagrama de ligação do ventilador de refrigeração com módulo MOSFET e ESP8266 NodeMCU NodeMCU

This image is created using Fritzing. Click to enlarge image

De Para
NodeMCU D5 (GPIO14) PWM do módulo
NodeMCU G (GND) GND do módulo
Adaptador de 12V + + do módulo
Fio vermelho (+) do ventilador + do módulo (o mesmo terminal do + do adaptador)
Fio preto (−) do ventilador LOAD do módulo
Adaptador de 12V − − do módulo

Um ventilador tem uma bobina de motor dentro, então coloque um diodo flyback (1N4007 ou 1N5819) entre os dois fios do ventilador. A ponta com a listra (catodo) vai para o fio + do ventilador. Se o seu ventilador tiver um terceiro fio amarelo, deixe-o solto.

Código ESP8266

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-fan */ const int MOSFET_PIN = D5; // ESP8266 pin D5 connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

O ventilador primeiro roda na velocidade máxima por 2 segundos e para por 2 segundos. Depois disso, a potência vai de 10% até 100%, então o ventilador acelera passo a passo, e depois ela volta a descer, então o ventilador desacelera até parar. Em uma potência muito baixa, alguns ventiladores não começam a girar. Isso é normal.

Passos Rápidos

  • Configure o Arduino IDE e a placa da mesma forma que nos Passos Rápidos do relé acima.
  • Faça a ligação do ventilador e do módulo MOSFET como mostrado no diagrama. Mantenha o adaptador de 12V desconectado por enquanto.
  • Copie o código acima, cole-o no Arduino IDE e faça o upload para o NodeMCU.
  • Conecte o adaptador de 12V.
  • Abra o Serial Monitor a 9600 baud e ouça o ventilador.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

※ Nota:

O módulo MOSFET funciona somente com DC, e a alimentação do ventilador deve ser de pelo menos cerca de 6V. Para um ventilador AC, continue usando o relé.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!