ESP8266 - tira de LEDs NeoPixel

La tira de LEDs RGB NeoPixel está compuesta por LEDs cuyo color y brillo pueden ajustarse de forma individual. Este tutorial explica cómo usar el ESP8266 para controlar la tira de LEDs RGB NeoPixel. En detalle, aprenderemos:

Solo necesitamos usar un pin digital del ESP8266 para controlar todos los LEDs de la tira.

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×NeoPixel RGB Tira LED
1×1000uF Capacitor
1×470Ω Resistor
1×Adaptador de Corriente 5V
1×Conector de Alimentación DC
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de la tira de LEDs RGB NeoPixel

Pinout de la tira de LEDs NeoPixel

La tira de LEDs RGB NeoPixel tiene tres pines que requieren conexiones específicas:

  • El pin GND debe estar conectado a GND (0 V)
  • El pin VCC debe estar conectado al 5 V de una fuente de alimentación externa
  • El pin Din es el pin que recibe la señal de control y debe estar conectado a un pin del ESP8266
Pinout de NeoPixel

※ Nota:

La secuencia de pines puede variar según el fabricante. Es imperativo utilizar las marcas impresas en la tira LED.

Diagrama de Cableado

Diagrama de cableado de la tira de LEDs RGB NeoPixel para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Cómo programar para la tira de LEDs RGB NeoPixel

  • Crear un objeto NeoPixel
#define PIN_NEO_PIXEL D1 // The ESP8266 pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Tira con 30 LEDs
  • Inicia la tira de NeoPixel que contiene 30 LEDs
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
  • Especifica el color de cada LED (conocido como píxel).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Ajusta el brillo de todas las tiras.
NeoPixel.setBrightness(100); // a value from 0 to 255

※ Nota:

  • NeoPixel.setBrightness() se utiliza para ajustar el brillo de todos los píxeles de la tira LED. Para establecer el brillo de cada píxel individual, podemos escalar los valores de color (R, G, B) con la misma proporción.
  • Los valores establecidos por NeoPixel.setBrightness() y NeoPixel.setPixelColor() solo se aplicarán cuando se ejecute NeoPixel.show().

Código ESP8266

El código a continuación realiza las siguientes secuencias:

  • Pinta los píxeles de verde uno por uno con un retraso entre cada píxel
  • Apaga todos los píxeles durante dos segundos
  • Ilumina todos los píxeles de color rojo simultáneamente durante dos segundos
  • Repite este proceso indefinidamente
/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_NEO_PIXEL D1 // The ESP8266 pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800); void setup() { NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) } void loop() { NeoPixel.clear(); // set all pixel colors to 'off'. It only takes effect if pixels.show() is called // turn pixels to green one by one with delay between each pixel for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel NeoPixel.setPixelColor(pixel, NeoPixel.Color(0, 255, 0)); // it only takes effect if pixels.show() is called NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(DELAY_INTERVAL); // pause between each pixel } // turn off all pixels for two seconds NeoPixel.clear(); NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // off time // turn on all pixels to red at the same time for two seconds for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // it only takes effect if pixels.show() is called } NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // on time // turn off all pixels for one seconds NeoPixel.clear(); NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // off time }

Pasos R\u00e1pidos

Para empezar con ESP8266 en Arduino IDE, siga estos pasos:

  • Consulta el tutorial de cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Abre el IDE de Arduino en tu ordenador.
  • Elige la placa ESP8266 correcta, por ejemplo (p. ej. NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM correspondiente.
  • Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “Adafruit NeoPixel” y localiza la biblioteca NeoPixel de Adafruit.
  • Luego, presiona el Instalar botón para instalar la biblioteca NeoPixel.
Biblioteca NeoPixel para ESP8266 NodeMCU
  • Copia el código y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir para enviar el código al ESP8266.
  • Observa el efecto LED.

※ Nota:

Para cualquier efecto LED complejo, ofrecemos el servicio de programación de pago

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!