Descripción
NeoPixel Stick es una pequeña placa de circuito impreso (tira) que monta 8 LEDs inteligentes de tamaño 5050 con controlador integrado WS2812 o SK6812. Esta placa tiene un diseño que permite “encadenar” varias unidades y controlar todos los LEDs que desees utilizando solamente un pin del microcontrolador.
Para utilizarla hace falta solamente una fuente de alimentación de 5 volts y un microcontrolador que sea capaz de generar las señales correspondientes para el control de los LEDs. Como se trata de un protocolo bastante sensible a los tiempos, es necesario utilizar un microcontrolador como el AVR o PIC, ya que los computadoras que corren Linux (como Raspberry Pi) normalmente no pueden cumplir con requisitos de tiempo tan estrictos.
Los LEDs tienen incluido un controlador de corriente constante de alrededor de 18 mA, por lo que el color es bastante uniforme a pesar de que existan variaciones de voltaje entre diferentes unidades de este producto. No se requieren resistencias limitadoras externas para los LED.
Importante: Para utilizar esta tira de LED se debe emplear una fuente de 5 VDC, si se conecta a una fuente de alimentación de 12 volts se dañará de forma irreversible. También es importante mencionar que requiere un microcontrolador o un controlador dedicado para LED direccionable (inteligente) para poder funcionar.
Características y especificaciones de NeoPixel Stick 8 x 5050 LEDs RGB inteligentes
- Tipo de LED: WS2812B o SK6812 RGB
- Tamaño de LED: 5050
- Voltaje de alimentación: 4 a 7 VDC
- Voltaje de operación recomendado: 5 VDC
- Voltaje para señal de datos: 5 VDC
- Corriente máxima por módulo: 480 mA
- Corriente típica por canal RGB: 20mA
- Ángulo de visión: 120°
- Interfaz serial con protocolo propietario
- Diseñadas para encadenar varias unidades mediante soldadura
- Producto compatible similar al elaborado por Adafruit (genérico)
- Peso: 2.7 gramos
- Dimensiones:
- Largo: 5.1 cm
- Ancho: 1.0 cm
- Alto: 0.4 cm
Cómo utilizar Arduino y NeoPixel stick
Para utilizar NeoPixel stick con Arduino recomendamos la libreria Adafruit_NeoPixel que podemos descargar desde el Arduino IDE o bien desde su repositorio en GitHub.
El siguiente código muestra como probar todos los componentes de color disponibles en la tira NeoPixel stick:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | /** Geek Factory - "Dale vuelo a tus proyectos" www.geekfactory.mx PROGRAMA DE PRUEBA NEOPIXEL STRIP 8 x 5050 RGB WS2812 CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0). GEEK FACTORY INVIERTE TIEMPO Y RECURSOS EN DESARROLLAR ESTOS EJEMPLOS Y TUTORIALES. SI ENCUENTRAS ÚTIL ESTE CÓDIGO, CONSIDERA REALIZAR UNA COMPRA CON NOSOTROS. Resumen: Este programa enciende todos los LED en una tira NeoPixel en los colores rojo, verde azul y blanco (encendiendo todos los componentes a la vez). Es útil para comprobar el funcionamiento de módulos NeoPixel. */ #include <Adafruit_NeoPixel.h> #define PIN_DATOS 6 // Pin donde conectaremos la señal de datos para controlar los LED #define NUMERO_DE_LEDS 8 // Número de LEDs en la tira NeoPixel // Adafruit_NeoPixel strip(NUMERO_DE_LEDS, PIN_DATOS, NEO_GRB + NEO_KHZ800); /** Función setup: se ejecuta una vez cuando encendemos el Arduino */ void setup() { // Iniciar la librería para NeoPixel strip.begin(); // Apagar todos los pixeles inicialmente strip.show(); } /** Función loop: se ejecuta continuamente mientras el Arduino permanece encendido */ void loop() { // Encender todos los LED rojos enviar_color_todos(255, 0, 0); delay(1000); // Encender todos los LED verdes enviar_color_todos(0, 255, 0); delay(1000); // Encender todos los LED azules enviar_color_todos(0, 0, 255); delay(1000); // Encender todos los LED (RGB) enviar_color_todos(255, 255, 255); delay(1000); // Apagar todo enviar_color_todos(0, 0, 0); delay(1000); } /** Función auxiliar para enviar un color a todos los LED en la tira */ void enviar_color_todos(uint8_t r, uint8_t g, uint8_t b) { for (int i = 0; i < NUMERO_DE_LEDS; i++) { strip.setPixelColor(i, strip.Color(r, g, b)); } strip.show(); } |





Valoraciones
No hay valoraciones aún.