Taula de continguts:

Llums interactius de pati, llums de passarel·la: 3 passos
Llums interactius de pati, llums de passarel·la: 3 passos

Vídeo: Llums interactius de pati, llums de passarel·la: 3 passos

Vídeo: Llums interactius de pati, llums de passarel·la: 3 passos
Vídeo: Yng Lvcas & Peso Pluma - La Bebe (Remix) 2024, Desembre
Anonim
Llums interactius de pati, llums de passarel·la
Llums interactius de pati, llums de passarel·la
Llums interactius de pati, llums de passarel·la
Llums interactius de pati, llums de passarel·la

Volia construir algun tipus de llums interactius per al jardí. La idea era que quan algú caminava per un camí, desencadenava una animació en la direcció que caminaveu. Vaig començar amb llums solars Dollar General d’1,00 dòlars

Pas 1: escombrar les llums Solor

Intestin les llums Solor
Intestin les llums Solor
Intestin les llums Solor
Intestin les llums Solor
Intestin les llums Solor
Intestin les llums Solor

El primer pas va ser destrossar els llums per deixar lloc a coses més divertides. Vaig començar tallant el led i la bateria originals. Assegureu-vos de desar aquestes peces, ja que seran útils en un altre projecte. També he eliminat la cúpula cromada que hi havia a la part inferior de la llum solar i l’he enganxat a la part superior tal com es veu a les fotos.

Pas 2: Instal·lar Better Lights

Instal·lació de Better Lights
Instal·lació de Better Lights
Instal·lació de Better Lights
Instal·lació de Better Lights
Instal·lació de Better Lights
Instal·lació de Better Lights

per al led he utilitzat ws2811b impermeable que es pot trobar aquí

www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…

Originalment tenia previst posar els sensors PIR dins de les llums solars. però això va resultar ser un problema, ja que bàsicament el sensor no podia veure més enllà del plàstic. ha de tenir algun tipus de filtratge UV. així que vaig optar per alguna cosa més com aquesta

www.thingiverse.com/thing:2590216

Pas 3: Codificació

si voleu que els llums no facin servir el sensor o només s'executin tot el temps, només cal que busqueu el lloc que es comenta "canviant l'estat de la bandera" i configureu-lo a l'èter 1 o 0, afegiré més fotos quan ho completi per mi encara és un treball en curs, però crec que és massa ordenat per no compartir-lo immediatament. gràcies per mirar

configuració nul·la () {

// poseu aquí el vostre codi de configuració per executar-lo una vegada: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

bucle buit () {

Serial.println (FlagState);

if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Esperant (); }}

void ForwardLeds () {

FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blanc; leds [FirstLed] = CRGB:: Blanc; retard (750); FastLED.show (); Serial.print ("White Pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blau; leds [FirstLed] = CRGB:: Blau; retard (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Lila; leds [FirstLed] = CRGB:: Lila; retard (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Negre; leds [FirstLed] = CRGB:: Negre; retard (250); FastLED.show (); Serial.print ("Apagar el led"); Serial.print (i); Serial.println ("de 8"); } FlagState = 2; // canviant l'estat de la bandera} void RevLeds () {Serial.println ("al revés"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blanc; leds [FirstLed] = CRGB:: Blanc; retard (750); FastLED.show (); Serial.print ("White pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blau; leds [FirstLed] = CRGB:: Blau; retard (250); FastLED.show (); Serial.print ("Blue pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Lila; leds [FirstLed] = CRGB:: Lila; retard (250); FastLED.show (); Serial.print ("Red pass"); Serial.print (i); Serial.println ("de 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Negre; leds [FirstLed] = CRGB:: Negre; retard (250); FastLED.show (); Serial.print ("Apagar el led"); Serial.print (i); Serial.println ("de 8"); } FlagState = 2; // canviant l'estat de la bandera} void esperant () {buttonState1 = digitalRead (buttonPin1); buttonState2 = DigitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("endavant activat"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev activat"); FlagState = 1; } Serial.println ("bucle acabat d'espera"); }

Recomanat: