Arduino - Tira de LEDs NeoPixel

La tira de LEDs RGB NeoPixel es una tira de LEDs cuyo color y brillo de cada LED en la tira pueden controlarse de forma individual. En este tutorial, vamos a aprender a usar Arduino para controlar una tira de LEDs NeoPixel RGB. Para controlar todos los LEDs de la tira NeoPixel, solo necesitamos usar un único pin de Arduino.

Acerca de la tira de LEDs RGB NeoPixel

Esquema de pines

La tira de LEDs RGB NeoPixel tiene tres pines:

  • Pin GND: debe conectarse a GND (0V)
  • Pin VCC: debe conectarse a 5V de una fuente de alimentación externa
  • Pin Din: es el pin que recibe la señal de control. Debe conectarse a un pin de Arduino.
Pinout de NeoPixel

※ Nota:

El orden de los pines puede variar entre fabricantes. Utilice siempre las etiquetas impresas en la tira LED.

Diagrama de Cableado

Diagrama de cableado de la tira de LEDs RGB NeoPixel para Arduino

This image is created using Fritzing. Click to enlarge image

Cómo programar para la tira de LEDs RGB NeoPixel

  • Declara un objeto NeoPixel
#define PIN_NEO_PIXEL 4 // Arduino 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);
  • Inicializa el NeoPixel
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
  • Establece el color de cada LED individual (llamado 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 todos los píxeles de la tira de LEDs. Para establecer el brillo de cada píxel individual, podemos escalar el valor de color.
  • Los valores establecidos por NeoPixel.setBrightness() y NeoPixel.setPixelColor() solo tienen efecto cuando se llama a NeoPixel.show().

Código de Arduino

Lo que hace el código a continuación:

  • Poner los píxeles en verde uno por uno con un retraso entre cada píxel
  • Apagar todos los píxeles durante dos segundos
  • Encender todos los píxeles en rojo al mismo tiempo durante dos segundos
  • Repetir el proceso anterior indefinidamente
/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> // Required for 16 MHz Adafruit Trinket #endif #define PIN_NEO_PIXEL 4 // Arduino pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel #define DELAY_INTERVAL 250 // 250ms pause between each pixel 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

  • Navega hasta el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “Adafruit NeoPixel”, luego localiza la biblioteca NeoPixel de Adafruit.
  • Haz clic en el botón Instalar para instalar la biblioteca NeoPixel.
Biblioteca NeoPixel para Arduino
  • Copie el código anterior y ábralo con el IDE de Arduino
  • Haga clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
  • Vea el efecto LED

※ Nota:

Para cualquier efecto LED complicado, 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!