Saltar la navegación

Nubes (solo una)

Creación de una nube con efecto relámpago


Vamos a necesitar un envase, una tira de leds, algodón, un arduino y un poco de código
paso1
Ponemos la tira en zig-zag para simular la dirección del rayo. El envase puede ser cualquier botella que tengamos.
paso_2
Miraremos de forrar la botella con plásticos reciclados o directamente con algodón. Al utilizar plásticos,
como por ejemplo el de bolitas de aire, no gastaremos tanto algodón. Consejo: recordad de sacar un hilo
que luego nos servirá para poder colgar la nube en el techo u otro sitio.
Se debe mirar como queda antes de forrar.



paso_3

Con la ayuda de una pistola de cola caliente iremos enganchando trozos de algodón.
paso_4
Hasta conseguir algo parecido a una nube. Aquí un vídeo corto de como queda.




Esto es todo. Ahora falta poder el código en un arduino y ya está!.

Código

//Encendemos una tira led a led 
//una vez encendida empieza a llenar la tira otro color.
//podemos fijar el tiempo encendido t_led) y el tiempo apagado (t_final)
 
#include <FastLED.h>
 
#define NUM_LEDS 30 //número de leds de la tira
 
#define DATA_PIN 6 //pin 6 de Arduino a pin IN de la tira
 
// Define el array de los leds
CRGB leds[NUM_LEDS];
int t_led=10;//tiempo que tardará en llenarse la tira 0.010*150= 1.5 segundos
 
void setup() { 
   
    FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);  // GRB ordering is assumed
   
    
}
 
void loop() { 
 
    for (int i=1; i<NUM_LEDS+1;i++){
    
    leds[i-1] = CRGB::Black;//podemos fijar el color con el nombre oficial web/html
    leds[i] = CRGB::White;
    leds[i+1] = CRGB::White;
    leds[i+2] = CRGB::White;
    //leds[i+3] = CRGB::White;
    
    FastLED.show();//encendemos el led
    delay(t_led);
    }
    delay(250);
 
    for (int i=1; i<NUM_LEDS;i++){
     leds[i] = CRGB::White; 
     FastLED.show();//encendemos el led
     
    }
    delay(250);
    
     for (int i=1; i<NUM_LEDS;i++){
     leds[i] = CRGB::Black; 
     FastLED.show();//encendemos el led
     
    }
    delay(random (1000,3000));
}