Control de tiras LED direccionables con M-Duino y ESP32 PLC

Cómo controlar tiras LED WS2812B NeoPixel desde un M-Duino o ESP32 PLC con la librería Adafruit NeoPixel
15 de junio de 2026 por
Control de tiras LED direccionables con M-Duino y ESP32 PLC
Boot & Work Corp. S.L, Ricard Franch Argullol

Las tiras LED direccionables como la WS2812B utilizan un único cable de datos para controlar cada LED de forma individual en color y brillo. Este artículo muestra cómo conectar una tira WS2812B a un M-Duino o ESP32 PLC y controlarla con la librería Adafruit NeoPixel en el IDE de Arduino.

Qué necesitas

  • M-Duino PLC o ESP32 PLC
  • Tira LED direccionable WS2812B (o compatible, como NeoPixel)
  • Fuente de alimentación de 5 V para la tira LED (separada de la del PLC si la tira consume una corriente considerable)

Conexión del cableado de la tira LED

La mayoría de las tiras WS2812B tienen tres conexiones: alimentación (5 V), GND y entrada de datos. Conecta GND a la misma masa que el PLC. Conecta el cable de datos a uno de los pines directos del PLC que se indican a continuación.

Opciones de pin en el M-Duino (lógica de 5 V)

Etiqueta M-Duino PLCNúmero de pin Arduino
RX00
TX01
RX119
TX118
SO50
SI51
SCK52
Pin 22
Pin 33

Opciones de pin en el ESP32 PLC (lógica de 3,3 V, excepto SCL y SDA)

Los pines GPIO del ESP32 funcionan a 3,3 V. Las tiras WS2812B suelen aceptar la señal de datos a 3,3 V con alimentación de 5 V sin problemas, pero consulta la hoja de datos de tu tira específica. Los pines SCL y SDA son tolerantes a 5 V en el IS ESP32 PLC.

Etiqueta ESP32 PLCGPIO ESP32
SO19
SI23
SCK18
TX117
SCL *22
SDA *21

* SCL y SDA funcionan a 5 V en el IS ESP32 PLC.

Configuración del software

Instala la librería Adafruit NeoPixel desde el Gestor de Librerías del IDE de Arduino (Herramientas > Gestionar librerías, busca "NeoPixel"). Instala también el paquete de placas Industrial Shields para tu PLC:

Sketch de Arduino: ciclo de colores LED

El sketch siguiente enciende cada LED en verde secuencialmente con un retardo de 500 ms entre ellos. Ajusta PIN para que coincida con tu cableado y NUMPIXELS con el número de LEDs de tu tira.

#include <Adafruit_NeoPixel.h>

#define PIN       0   // Pin de datos conectado a la tira LED
#define NUMPIXELS 3   // Número de LEDs en la tira
#define DELAYVAL  500 // Retardo entre LEDs en ms

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin();
}

void loop() {
  pixels.clear(); // Apaga todos los LEDs

  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 50, 0)); // Verde
    pixels.show();
    delay(DELAYVAL);
  }
}

La función pixels.Color() acepta valores RGB de 0 a 255. Para seleccionar otro color, cambia los tres argumentos: rojo, verde, azul. Por ejemplo, pixels.Color(255, 0, 0) produce rojo y pixels.Color(0, 0, 255) produce azul. Usa pixels.clear() para apagar todos los LEDs.

Buscar en nuestro blog

Control de tiras LED direccionables con M-Duino y ESP32 PLC
Boot & Work Corp. S.L, Ricard Franch Argullol 15 de junio de 2026
Compartir esta publicación
Etiquetas

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs