Arduino Nano ESP32 - Fita LED

Neste tutorial, vamos aprender a programar o Arduino Nano ESP32 para controlar uma fita LED para emitir luz.

Um relé ou um módulo MOSFET pode ficar entre o Nano ESP32 e a fita. Com um relé, a fita só pode ficar acesa ou apagada. Com um módulo MOSFET, a fita também pode ficar acesa ou apagada, e você ainda pode dimerizá-la para qualquer brilho com PWM, sem nenhum clique. Este tutorial cobre as duas maneiras.

Sobre a Fita LED

Uma fita LED, também conhecida como fita de LED, é uma placa de circuito flexível com LEDs de montagem em superfície que emitem luz. Essas fitas são versáteis e comumente usadas para iluminação decorativa em várias aplicações. As fitas LED vêm em uma variedade de cores e são frequentemente usadas para fornecer 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: Em contraste, as fitas LED não endereçáveis permitem controlar a cor e o brilho, mas esse controle se aplica de maneira uniforme a 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 não endereçável de 1 cor: Apenas uma cor definida pelo fabricante.
  • Fita LED RGB não endereçável: qualquer cor

Uma fita LED não endereçável de 1 cor 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
Pinagem da fita LED não endereçável do Arduino Nano ESP32

Vamos aprender a controlar os dois tipos com o Arduino Nano ESP32, um por um.

Fita LED com Relé ou Módulo MOSFET

Além do relé, um módulo MOSFET pode chavear uma fita não endereçável. Para aprender este módulo (pinos, como funciona, código), veja o tutorial Arduino Nano ESP32 - Módulo MOSFET.

Relé Módulo MOSFET
Controle da luz acesa ou apagada acesa, apagada, e dimerização para qualquer brilho (PWM)
Ruído ao chavear clique silencioso
Velocidade de chaveamento lenta, milissegundos muito rápida, rápida o bastante para PWM
Vida útil os contatos se desgastam longa, sem partes móveis
Carga AC ou DC somente DC
Alimentação da fita qualquer, dentro da especificação do relé pelo menos cerca de 6V (fitas de 12V e 24V servem)
Isolação da placa sim (bobina vs contatos) sim (optoacoplador PC817)
Escolha para ON/OFF simples, luzes AC dimerização, efeitos, chaveamento rápido e frequente

Para uma fita de 12V ou 24V, o módulo MOSFET é a opção mais agradável, porque você pode fazer a luz aparecer e sumir aos poucos. Uma fita RGB tem três canais de cor (R, G, B), então ela precisa de três módulos MOSFET, um por canal, do mesmo modo que precisa de três relés.

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

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 Arduino Nano ESP32 e a fita LED de 12V. O Arduino Nano ESP32 pode controlar a fita LED de 12V por meio do relé. Não conhece o relé, incluindo sua pinagem, funcionamento e programação? aprenda sobre o relé no tutorial Arduino Nano ESP32 - Relé

Diagrama de Ligação.

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

Diagrama de Ligação da Fita LED de 12V do Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

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

Diagrama de Ligação da Fita LED de 12V do Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Código do Arduino Nano ESP32

Código do Arduino Nano ESP32 para controlar a Fita LED Não Endereçável de 1 cor.

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

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-strip */ #define LED_STRIP_PIN D5 // The Arduino Nano ESP32 pin controls to the LED strip via relay void setup() { Serial.begin(9600); // initialize ESP32 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 do Arduino Nano ESP32 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 Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-strip */ #define BLUE_PIN D6 // The Arduino Nano ESP32 pin connects to the blue pin of LED strip via relay 1 #define RED_PIN D5 // The Arduino Nano ESP32 pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN D4 // The Arduino Nano ESP32 pin connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // initialize ESP32 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 Arduino Nano ESP32, siga estes passos:

  • Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Faça a ligação dos componentes de acordo com o diagrama fornecido.
  • Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
  • Conecte o Arduino Nano ESP32 ao PC por um cabo USB
  • Abra o Arduino IDE, selecione a placa e a porta corretas
  • Copie o código acima e abra com o Arduino IDE
  • Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
  • Confira o estado da fita LED

Explicação do Código

Leia a explicação linha por linha nos comentários 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 do relé

Código do Arduino Nano ESP32 - Dimerizar a Fita LED com o Módulo MOSFET

Esta parte usa um módulo MOSFET no lugar do relé para mudar o brilho de uma fita LED de 1 cor.

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

Diagrama de ligação da fita LED com módulo MOSFET no Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • D9 do Nano ESP32 no pino PWM do módulo
  • GND do Nano ESP32 no pino GND do módulo
  • + do adaptador de 12V no terminal +
  • Pino 12V da fita LED também no terminal +
  • Pino GND da fita LED no terminal LOAD
  • − do adaptador de 12V no terminal −

Uma fita LED não tem bobina, então você não precisa de um diodo de roda livre (flyback). Para uma fita de 24V, basta usar um adaptador de 24V. Os três módulos aceitam 24V.

Código

É o mesmo código do tutorial do módulo MOSFET. A fita brilha com brilho total por 2 segundos, fica escura por 2 segundos, depois fica mais brilhante de 10% a 100% e mais fraca de volta até 0%.

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-strip */ const int MOSFET_PIN = D9; // Arduino Nano ESP32 pin 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); }

Passos Rápidos

  • Faça a configuração da IDE dos Passos Rápidos do relé acima, se você ainda não a fez.
  • Faça a ligação mostrada no diagrama, mas deixe o adaptador de 12V desconectado.
  • Faça o upload do código para o Arduino Nano ESP32.
  • Conecte o adaptador de 12V.
  • Abra o Serial Monitor, com o baud rate definido em 9600.
  • Veja a fita aparecer e sumir aos poucos.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' 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
Arduino Nano ESP32 on COM15
2

Dica: o módulo MOSFET lida somente com DC, e a alimentação da fita deve ser de pelo menos cerca de 6V. Para lâmpadas AC, use 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!