ESP8266 - Fita LED

Neste tutorial, vamos aprender como programar o ESP8266 para controlar uma fita LED para emitir luz.

A fita LED pode ser acionada por um relé ou por um módulo MOSFET. Com o relé, a fita fica totalmente acesa ou apagada. Com o módulo MOSFET, ela pode ficar totalmente acesa, apagada ou com o brilho reduzido a qualquer nível por PWM, e ainda fica silenciosa. Vamos montar primeiro a versão com relé e depois a versão com MOSFET.

Sobre a Fita LED

Uma fita LED, também conhecida como LED tape ou LED ribbon, é uma placa de circuito flexível com LEDs de montagem em superfície que emitem luz. Essas fitas são versáteis e muito usadas para iluminação decorativa em várias aplicações. As fitas LED vêm em diversas cores e costumam ser usadas para iluminação ambiente, iluminação de destaque ou efeitos de iluminação decorativa.

As fitas LED vêm em dois tipos principais:

  • Fitas LED Endereçáveis: Neste tipo, a cor e o brilho de cada LED individual da fita podem ser controlados de forma independente. Essa capacidade existe porque cada LED recebe um endereço específico.
  • Fitas LED Não Endereçáveis: Já as fitas LED não endereçáveis permitem controlar a cor e o brilho, mas esse controle vale de forma uniforme para todos os LEDs da fita.

Este tutorial vai focar nas Fitas LED Não Endereçáveis. Para Fitas LED Endereçáveis, consulte os seguintes tutoriais:

Pinagem da Fita LED Não Endereçável

A Fita LED Não Endereçável tem dois tipos principais:

  • Fita LED de 1 cor Não Endereçável: Apenas uma cor, definida pelo fabricante.
  • Fita LED RGB Não Endereçável: qualquer cor

Uma Fita LED de 1 cor Não Endereçável geralmente tem dois pinos:

  • Pino 12V/24V: precisa ser conectado ao pino positivo da fonte de alimentação DC de 12V ou 24V
  • Pino GND: precisa ser conectado ao pino negativo da fonte de alimentação DC de 12V ou 24V

Uma Fita LED RGB Não Endereçável geralmente tem quatro pinos:

  • Pino 12V/24V: precisa ser conectado ao pino positivo da fonte de alimentação DC de 12V ou 24V
  • Pino R: Este pino é usado para controlar a cor vermelha. Conectar este pino ao pino negativo da fonte de alimentação ativa a cor vermelha
  • Pino G: Este pino é usado para controlar a cor verde. Conectar este pino ao pino negativo da fonte de alimentação ativa a cor verde
  • Pino B: Este pino é usado para controlar a cor azul. Conectar este pino ao pino negativo da fonte de alimentação ativa a cor azul
ESP8266 NodeMCU non-addressable led strip Pinout

Relé vs Módulo MOSFET para Fita LED

Antes de ligar qualquer coisa, escolha a peça que aciona a fita. Se o módulo MOSFET é novidade para você, leia primeiro o tutorial ESP8266 - Módulo MOSFET.

Relé Módulo MOSFET
Brilho ON/OFF, sem dimerização ON/OFF mais dimerização (PWM)
Som de acionamento clique audível nenhum
Tempo de comutação milissegundos (lento) muito curto
Vida útil os contatos se desgastam com o uso longa, sem partes móveis
Tipo de alimentação AC ou DC somente DC
Tensão da fita conforme o relé permitir mínimo de 6V (fitas de 12V e 24V funcionam bem)
Isolação sim (bobina e contatos) sim (optoacoplador PC817)
Melhor uso ON/OFF simples, luzes AC dimerizar fitas DC, comutação rápida ou frequente

Se você quer dimerizar uma fita de 12V ou 24V, use o módulo MOSFET. Para uma fita RGB, cada pino de cor (R, G e B) precisa do seu próprio módulo, então você precisa de 3 módulos MOSFET, assim como precisaria de 3 relés.

Vamos aprender a controlar os dois tipos com o ESP8266, um por um.

Como Controlar uma Fita LED de 1 cor Não Endereçável.

Se a fita LED de 12V for alimentada por uma fonte de 12V, ela emite luz. Para controlar uma fita LED de 12V, precisamos usar um relé entre o ESP8266 e a fita LED de 12V. O ESP8266 pode controlar a fita LED de 12V por meio do relé. Se você não conhece o relé (pinagem, como funciona, como programar ...), aprenda sobre o relé no tutorial ESP8266 - Relé

Diagrama de Ligação.

Diagrama de Ligação entre o ESP8266 e a Fita LED de 1 cor Não Endereçável.

The wiring diagram between ESP8266 NodeMCU and 12V LED strip

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.

Diagrama de Ligação entre o ESP8266 e a Fita LED RGB Não Endereçável.

The wiring diagram between ESP8266 NodeMCU and 12V LED strip

This image is created using Fritzing. Click to enlarge image

Código ESP8266

Código ESP8266 para controlar a Fita LED de 1 cor Não Endereçável.

O código abaixo liga repetidamente a fita LED por 5 segundos e a desliga por 5 segundos,

/* * 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-led-strip */ #define LED_STRIP_PIN D5 // The ESP8266 pin controls to the LED strip via relay void setup() { Serial.begin(9600); // Configure ESP8266 pins as digital output pins pinMode(LED_STRIP_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { Serial.println("The LED strip is turned on"); digitalWrite(LED_STRIP_PIN, HIGH); delay(5000); Serial.println("The LED strip is turned off"); digitalWrite(LED_STRIP_PIN, LOW); delay(5000); }

Código ESP8266 para controlar a Fita LED RGB Não Endereçável.

O código abaixo controla repetidamente a cor da fita LED RGB (vermelho, verde, azul, amarelo, magenta, ciano e branco)

/* * 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-led-strip */ #define BLUE_PIN D5 // The ESP8266 pin connects to the blue pin of LED strip via relay 1 #define RED_PIN D6 // The ESP8266 pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN D7 // The ESP8266 pin connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // Configure ESP8266 pins as digital output pins pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { Serial.println("The LED strip is turned red"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned green"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned blue"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned yellow"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned magenta"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned cyan"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned white"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); }

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 a sua primeira vez usando o ESP8266.
  • Ligue os 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 o ESP8266 ao PC por um cabo USB
  • Abra o Arduino IDE, selecione a placa e a porta corretas
  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no ESP8266
  • Observe o estado da fita LED

Explicação do Código

Leia a explicação linha por linha nas linhas de comentário do código!

Observe que, para controlar o brilho e outras cores de uma fita LED não endereçável, precisamos usar o driver L298N em vez de um relé

Como Dimerizar uma Fita LED de 1 cor com o Módulo MOSFET

Um módulo MOSFET é outra maneira fácil de dimerizar uma fita de 1 cor. O relé é removido, e o pino D5 do NodeMCU passa a enviar PWM ao módulo, que define o brilho da fita.

Diagrama de Ligação entre o ESP8266, o Módulo MOSFET e a Fita LED de 1 cor

The wiring diagram between ESP8266 NodeMCU and NodeMCU LED strip MOSFET module

This image is created using Fritzing. Click to enlarge image

ESP8266 NodeMCU / lado da alimentação Módulo MOSFET
D5 (GPIO14) PWM
G (GND) GND
Adaptador de 12V + +
Pino 12V (+) da fita LED + (compartilhado com o + do adaptador)
Pino GND (−) da fita LED LOAD
Adaptador de 12V − −

Uma fita LED não é uma bobina, então você não precisa de um diodo flyback aqui.

Código ESP8266 para Dimerizar a Fita LED

/* * 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-led-strip */ 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); }

A fita brilha com brilho total por 2 segundos e fica apagada por 2 segundos. Depois ela fica mais brilhante em passos de 10% até 100%, e mais fraca em passos de 10% até 0%.

Passos Rápidos

  • Use a mesma configuração do Arduino IDE e da placa dos Passos Rápidos acima.
  • Ligue o módulo MOSFET e a fita como no diagrama, mas não conecte o adaptador ainda.
  • Carregue o código acima no ESP8266.
  • Conecte o adaptador e veja a fita fazer o fade.
  • Abra o Serial Monitor a 9600 baud:
∞
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

Lembre-se: o módulo é só para fitas DC, com uma alimentação de cerca de 6V ou mais. Uma luz na rede elétrica AC ainda precisa de um 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!