ESP32 - tira de LEDs

En este tutorial, vamos a aprender cómo programar el ESP32 para controlar una tira de LEDs para que emita luz.

Acerca de la tira LED

Una tira de LEDs, también conocida como cinta LED o cinta de LEDs, es una placa de circuito flexible con LEDs montados en superficie que emiten luz. Estas tiras son versátiles y se utilizan comúnmente para la iluminación decorativa en diversas aplicaciones. Las tiras de LEDs vienen en una gama de colores y a menudo se utilizan para proporcionar iluminación ambiental, iluminación de acento o efectos de iluminación decorativa.

Las tiras LED vienen en dos tipos principales:

  • Tiras de LEDs direccionables: En este tipo, el color y el brillo de cada LED individual en la tira pueden controlarse de forma independiente. Esta capacidad se debe al hecho de que a cada LED se le asigna una dirección específica.
  • Tiras de LEDs no direccionables: En cambio, las tiras de LEDs no direccionables permiten controlar el color y el brillo, pero este control se aplica de forma uniforme a todos los LEDs de la tira.

Este tutorial se centrará en las tiras de LED no direccionables. Para tiras de LED direccionables, consulte los siguientes tutoriales:

Esquema de pines de la tira LED no direccionable

La tira LED no direccionable tiene dos tipos principales:

  • Tira de LEDs no direccionable de un solo color: solo un color definido por el fabricante.
  • Tira de LEDs RGB no direccionable: cualquier color.

Una tira de LEDs de un solo color no direccionable suele tener dos pines:

  • Pin 12V/24V: debe conectarse al pin positivo de la fuente de alimentación DC de 12V o 24V
  • Pin GND: debe conectarse al pin negativo de la fuente de alimentación DC de 12V o 24V

Una tira de LEDs RGB no direccionable suele tener cuatro pines:

  • Pin 12V/24V: debe conectarse al pin positivo de una fuente de alimentación DC de 12V o 24V
  • Pin R: Este pin se utiliza para controlar el color rojo. Conectar este pin al pin negativo de la fuente de alimentación habilita el color rojo
  • Pin G: Este pin se utiliza para controlar el color verde. Conectar este pin al pin negativo de la fuente de alimentación habilita el color verde
  • Pin B: Este pin se utiliza para controlar el color azul. Conectar este pin al pin negativo de la fuente de alimentación habilita el color azul
Pinout de tira de LEDs no direccionables para ESP32

Aprenderemos a controlar ambos tipos uno por uno con ESP32.

Cómo controlar una tira de LEDs de un solo color no direccionable.

Si una tira LED de 12V está alimentada por una fuente de 12V, emite luz. Para controlar una tira LED de 12V, necesitamos usar un relé entre el ESP32 y la tira LED de 12V. El ESP32 puede controlar la tira LED de 12V a través del relé. ¿No estás familiarizado con los relés, incluyendo sus pines, su funcionalidad y su programación? Aprende sobre el relé en el Tutorial de relé para ESP32.

Diagrama de cableado.

Diagrama de cableado entre ESP32 y una tira de LEDs monocromáticos no direccionables.

Esquema de cableado de la tira LED de 12 V para ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Diagrama de cableado entre ESP32 y tira de LEDs RGB no direccionables.

Diagrama de cableado de la tira LED de 12 V para ESP32

This image is created using Fritzing. Click to enlarge image

Código ESP32

Código ESP32 para controlar una tira de LEDs de un solo color no direccionable.

El código de abajo enciende repetidamente la tira de LEDs en 5 segundos y la apaga en 5 segundos.

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-led-strip */ #define LED_STRIP_PIN 16 // The ESP32 pin GPIO16 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 runs over and over again forever 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 ESP32 para controlar una tira de LEDs RGB no direccionables.

El código a continuación controla repetidamente el color de la tira de LEDs RGB (rojo, verde, azul, amarillo, magenta, cian y blanco).

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-led-strip */ #define BLUE_PIN 23 // The ESP32 pin GPIO23 connects to the blue pin of LED strip via relay 1 #define RED_PIN 22 // The ESP32 pin GPIO22 connects to the red pin of LED strip via relay 2 #define GREEN_PIN 21 // The ESP32 pin GPIO21 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 runs over and over again forever 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); }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Realiza el cableado tal como en la imagen anterior.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB.
  • Abre el IDE de Arduino en tu PC.
  • Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
  • Conecta ESP32 al PC mediante un cable USB.
  • Abre Arduino IDE, selecciona la placa y el puerto correctos.
  • Copia el código anterior y ábrelo con Arduino IDE.
  • Haz clic en el botón Upload en Arduino IDE para subir el código al ESP32.
  • Verifica el estado de la tira LED.

Explicación del código

Puedes encontrar la explicación en la línea de comentarios del código de Arduino anterior.

Por favor, tenga en cuenta que, para controlar el brillo y otros colores de una tira de LEDs no direccionable, necesitamos usar el controlador L298N en lugar de un relé.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!