Libreria Adafruit NeoPixel Arduino: ejemplos de efectos

La librería Arduino Adafruit NeoPixel se utiliza para controlar una tira de LED ws2812b y es bastante popular. Así que deberíamos echar un vistazo más de cerca a los comandos de Adafruit_NeoPixel.h y a la descripción de la librería en ruso con algunos bocetos de ejemplo de Arduino. Se puede utilizar para hacer muchos hermosos efectos de iluminación para una matriz de direccionable LED WS2812B o una guirnalda de Navidad en Arduino.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • tira de LED ws2812 / ws2811;
  • fuente de alimentación de 5V / 12V;
  • resistencia de 100 a 500 ohm;
  • librería Adafruit_NeoPixel.h

Utilización de una libreria Adafruit NeoPixel

Conexión Arduino y tira de LEDs ws2812b / 5 Volt
Conexión Arduino y tira de LEDs ws2812b / 5 Volt

En el programa, después de conectar la librería Adafruit_NeoPixel.h, necesitamos crear un objeto que controlaremos – strip. Si conecta dos o más regletas direccionables ws2812 / ws2811 al microcontrolador Arduino, deberá especificar nombres diferentes. Entre paréntesis hay que especificar el número de LEDs de la tira, el pin para la señal lógica y especificar los ajustes que son diferentes para los distintos tipos de tira LED direccionable.

Libreria Adafruit NeoPixel ejemplo de código

#include "Adafruit_NeoPixel.h"

int pix = 100;

Adafruit_NeoPixel strip (pix, 4, NEO_GRB + NEO_KHZ800);

// NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

void setup() {
   strip.begin();
   strip.show();
   strip.setBrightness(50); // maximum 255
}

void loop() {
   for (int i = 0; i <= pix; i++) {
      strip.setPixelColor(i, 0, 0, 250);
      strip.show();
      delay(50);
   }

   for (int b = 50; b < 250; b++) {
      for (int i = 0; i <= pix; i++) {
         strip.setPixelColor(i, 250, 250, b * i / 250);
      }
      strip.show();
      delay(50);
   }
}

Explicación del código para Adafruit NeoPixel:

  1. la numeración de los LEDs direccionable en la tira comienza en cero;
  2. si desea apagar el LED ws2812b, especifique strip.Color(0, 0, 0);

Comandos de la libreria Adafruit NeoPixel Arduino

Adafruit_NeoPixel strip (Argumento 1, Argumento 2, Argumento 3) – inicializa el objeto anillo, con los siguientes parámetros

Argumento 1: número de led o píxel
Argumento 2: Número PIN al que está conectada la entrada de datos
Argumento 3: Compuesto por dos informaciones que definen el tipo de Led utilizado o pixel, si utiliza led de tipo RGB o RGB + W. Una elección errónea en este argumento puede dar lugar a funciones aleatorias, no el color correcto, no el lugar correcto, etc.

strip.begin() – permite preparar el objeto anillo (obligatorio, para que funcione, colocarlo en la configuración).

strip.setBrightness(value) – fija el brillo (máximo 255)

strip.setPixelColor(num, strip.Color(R,G,B)) – num = número de led de 0 a 11 ( si son 12 led ) y ring.color(r,g,b) definición del color a mostrar o R = 0 a 255 ( canal rojo ) , G =0 a 255 ( canal verde ) y B ( 0 a 255 ) canal azul.

strip.show() – muestra los cambios realizados. Sin esta función, los cambios no son visibles.

Adafruit_NeoPixel.h no such file or directory

Lo primero con lo que se encuentra cualquier programador novato es un error de compilación de Arduino al cargar un programa. Error de compilación para Arduino ‘Adafruit_NeoPixel.h no such file or directory‘ significa que la librería no está instalada en el ordenador. El problema se puede resolver simplemente instalando la librería NeoPixel. Esta regla también se aplica cuando este error se produce con otras librerías.

Conclusión. El archivo de librerías NeoPixel y FastLED contiene varios programas de ejemplo que puedes usar para entender cómo usar los comandos de la librería Adafruit_NeoPixel.h para Arduino Uno. Si aún tienes dudas sobre la descripción de la librería neopixel, o si quieres proponer tus propios efectos, déjalas en los comentarios de este post.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *