Arduino Nano - Tira de LEDs NeoPixel

La tira de LEDs RGB NeoPixel es una línea de LEDs cuyo color y brillo de cada uno se pueden ajustar de forma independiente. Este tutorial le explica cómo usar un Arduino Nano para controlar la tira de LEDs RGB NeoPixel. En detalle, aprenderemos:

Todos los LEDs de la tira pueden ser controlados con tan solo un pin digital del Arduino Nano.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
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 Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

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

Diagrama de pines de la tira de LEDs NeoPixel

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 y debe conectarse al pin digital de un Arduino Nano
Pinout de NeoPixel

※ Nota:

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

Diagrama de Cableado

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

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Cómo programar para la tira de LEDs RGB NeoPixel

  • Crea un objeto NeoPixel.
#define PIN_NEO_PIXEL 2 // Arduino Nano 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 NeoPixel.
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
  • Especifique el color de cada LED individual (conocido como un 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 en la tira de LEDs. 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 llame a NeoPixel.show().

Código de Arduino Nano

El código que se muestra 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
  • Enciende todos los píxeles en rojo durante dos segundos
  • Repite este proceso indefinidamente
/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_NEO_PIXEL 2 // The Arduino Nano 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

  • Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “Adafruit NeoPixel” y localiza la biblioteca NeoPixel de Adafruit.
  • Luego, presiona el botón Instalar para instalar la biblioteca NeoPixel.
Librería NeoPixel para Arduino Nano
  • Copia el código y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para enviar el código al Arduino Nano.
  • 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!