Iron-Man Neopixel
Iron Man Neopixel
Ya que tenia la mascara de Iron Man que use una vez para disfraces.
La quería hacer más tipo Iron man, con sus luces y sus movimiento.(todo el movimiento que me permita, ya que es una mascara pequeña para niños).
Para empezar he comenzado por las luces ya que las podía hacer en 1 minuto, modificando un poco los programas que ya tenía hechos sobre los Neopixeles con su librería.
Realmente se puede usar cualquier versión de Arduino.
Yo suelo usar los Arduinos que tengo por casa, para no tener que ir a la tienda cada dos por tres.
Aunque acabo llendo porque esta claro que esto se puede hacer con un Arduino más pequeño para que no ocupe espacio.
Material usado:
x1 Arduino Uno
x2 Tiras de neopixel
Código:
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PINTIRA1 4
// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// 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)
Adafruit_NeoPixel strip1 = Adafruit_NeoPixel(16, PINTIRA1, NEO_GRB + NEO_KHZ800);
// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel. Avoid connecting
// on a live circuit...if you must, connect GND first.
void setup() {
// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// End of trinket special code
strip1.begin(); //Comienzo de tira 1
strip1.show(); //Inicia todos los pixeles 'off' tira 1
}
void loop() {
int i=0; // número entero = declarar led de comienzo 'i=0'
for (i; i < strip1.numPixels(); i++) //Para(i; i menor a tira 1 con su número de pixeles(); incrementar +1
{
strip1.setPixelColor(i,strip1.Color(0, 0, 255));
//Tira 1.conjuntoPixelesColor(i,Tira 1.Color(255,0,0)); Define color Azul dando valores RGB 0,0,255, Además posición del primer leds.Al decir solo'i'
strip1.show(); //Muestra el efecto de Tira 1 show
//Retardo entre funciones de 200ms, es el efecto de velocidad.
//turn every third pixel off, tira 1 ConjuntoPixelColor(i-2,0) 'i-2' apagar 2 leds de atrás, '0' efecto de color Off
}
} //Cierra bucle LOOP
*Con este programa me hace el efecto de encenderme los 16 led de golpe.
Si le pusiera un retardo se vería que los va encendiendo de uno en uno.
Las tiras de neopixel se tienen que conectar usando los pines Din y Dout, para datos.
Salida digital del arduino en este caso Pin 4.
Iría al Pin4 al Din de la primera tira del neopixel.
Usaremos el Pin Dout para unir con la siguiente tira entrando por Din.







Comentarios
Publicar un comentario