Cuprins:

Luminile interioare de curte, Luminile de pe pasarelă: 3 pași
Luminile interioare de curte, Luminile de pe pasarelă: 3 pași

Video: Luminile interioare de curte, Luminile de pe pasarelă: 3 pași

Video: Luminile interioare de curte, Luminile de pe pasarelă: 3 pași
Video: Cum (NU) se placheaza CORECT polistirenul! 2024, Noiembrie
Anonim
Lămpi interioare de curte, Lămpi de trecere
Lămpi interioare de curte, Lămpi de trecere
Lămpi interioare de curte, Lămpi de trecere
Lămpi interioare de curte, Lămpi de trecere

Am vrut să construiesc un fel de lumini interactive de curte pentru curtea mea din spate. Ideea era că, atunci când cineva mergea într-un fel, declanșa o animație în direcția în care mergeai. Am început cu Dollar General 1,00 dolari lumini solare

Pasul 1: Îndepărtați luminile Solor

Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights

Primul pas a fost să distrugeți luminile pentru a face loc unor lucruri mai distractive. Am început prin a tăia ledul original și bateria. Asigurați-vă că salvați aceste piese, deoarece acestea vor fi utile într-un alt proiect. Am îndepărtat și cupola cromată care se afla pe fundul luminii solare și am lipit-o în partea de sus așa cum se vede în fotografii

Pasul 2: Instalarea unor lumini mai bune

Instalarea unor lumini mai bune
Instalarea unor lumini mai bune
Instalarea unor lumini mai bune
Instalarea unor lumini mai bune
Instalarea unor lumini mai bune
Instalarea unor lumini mai bune

pentru led am folosit ws2811b rezistent la apă care poate fi găsit aici

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

Inițial am planificat să pun senzorii PIR în interiorul luminilor solare. dar acest lucru sa dovedit a fi o problemă, deoarece senzorul nu putea vedea practic plasticul. trebuie să aibă un fel de filtrare UV. așa că am optat pentru ceva mai de genul acesta

www.thingiverse.com/thing:2590216

Pasul 3: Codificare

dacă doriți să faceți luminile să nu folosească senzorul sau să rulați tot timpul, trebuie doar să căutați locul care este comentat ca „schimbarea stării pavilionului” și setați-l la eter 1 sau 0 voi adăuga mai multe poze atunci când voi completa acest lucru pentru mine, așa că este încă o lucrare în desfășurare, dar cred că este prea îngrijit pentru a nu-l împărtăși imediat. multumesc ca ai cautat

configurare nulă () {

// puneți codul de configurare aici, pentru a rula o dată: FastLED.addLeds (led-uri, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

bucla nulă () {

Serial.println (FlagState);

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

void ForwardLeds () {

FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: White; leds [FirstLed] = CRGB:: White; întârziere (750); FastLED.show (); Serial.print ("White Pass"); Serial.print (i); Serial.println ("din 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; întârziere (250); FastLED.show (); Serial.print („Blue Pass”); Serial.print (i); Serial.println ("din 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leduri [LastLed] = CRGB:: Violet; leduri [FirstLed] = CRGB:: Violet; întârziere (250); FastLED.show (); Serial.print („Red Pass”); Serial.print (i); Serial.println ("din 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leduri [LastLed] = CRGB:: Negru; leds [FirstLed] = CRGB:: Black; întârziere (250); FastLED.show (); Serial.print („Dezactivarea ledului”); Serial.print (i); Serial.println ("din 8"); } FlagState = 2; // schimbarea stării pavilionului} void RevLeds () {Serial.println ("invers"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: White; leds [FirstLed] = CRGB:: White; întârziere (750); FastLED.show (); Serial.print („White pass”); Serial.print (i); Serial.println ("din 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; întârziere (250); FastLED.show (); Serial.print („Blue pass”); Serial.print (i); Serial.println ("din 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leduri [LastLed] = CRGB:: Violet; leduri [FirstLed] = CRGB:: Violet; întârziere (250); FastLED.show (); Serial.print („Red pass”); Serial.print (i); Serial.println ("din 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leduri [LastLed] = CRGB:: Negru; leds [FirstLed] = CRGB:: Black; întârziere (250); FastLED.show (); Serial.print („Dezactivarea Ledului”); Serial.print (i); Serial.println ("din 8"); } FlagState = 2; // schimbarea stării pavilionului} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("declanșat înainte"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev declanșat"); FlagState = 1; } Serial.println ("bucla Așteptarea finalizată"); }

Recomandat: