Sadržaj:

Interaktivna svjetla za dvorište, svjetla za hodnike: 3 koraka
Interaktivna svjetla za dvorište, svjetla za hodnike: 3 koraka

Video: Interaktivna svjetla za dvorište, svjetla za hodnike: 3 koraka

Video: Interaktivna svjetla za dvorište, svjetla za hodnike: 3 koraka
Video: Sly 2 Band of Thieves - PS2 | Longplay with commentary | Part 1/3 2024, Studeni
Anonim
Interaktivna svjetla za dvorište, svjetla za hodnike
Interaktivna svjetla za dvorište, svjetla za hodnike
Interaktivna svjetla za dvorište, svjetla za hodnike
Interaktivna svjetla za dvorište, svjetla za hodnike

Htio sam izgraditi neku vrstu interaktivnih dvorišnih svjetala za svoje stražnje dvorište. Ideja je bila da, kad bi netko hodao u jednom smjeru, pokrenula bi se animacija u smjeru u kojem ste hodali. Počeo sam sa Dollar General solarnim svjetlima od 1,00 USD

Korak 1: Uklonite Solor svjetla

Otklonite Solor Svjetla
Otklonite Solor Svjetla
Otklonite Solor Svjetla
Otklonite Solor Svjetla
Otklonite Solor Svjetla
Otklonite Solor Svjetla

Prvi korak bio je ugasiti svjetla kako bi se napravilo mjesta za zabavniju stvar. Počeo sam izrezivanjem originalnog LED -a i baterije. Svakako spremite ove dijelove jer će biti korisni u drugom projektu. Također sam uklonio kromiranu kupolu koja se nalazila na dnu solarne svjetlosti i zalijepio je na vrh kao što se vidi na fotografijama

Korak 2: Instaliranje boljih svjetala

Instaliranje boljih svjetala
Instaliranje boljih svjetala
Instaliranje boljih svjetala
Instaliranje boljih svjetala
Instaliranje boljih svjetala
Instaliranje boljih svjetala

za led sam koristio vodootporni ws2811b koji se može pronaći ovdje

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

Prvotno sam planirao staviti PIR senzore u solarna svjetla. ali to se pokazalo kao problematično jer senzor u osnovi nije mogao vidjeti pokraj plastike. mora imati neku vrstu svojstva UV filtriranja. pa sam se odlučio za nešto više poput ovoga

www.thingiverse.com/thing:2590216

Korak 3: Kodiranje

ako želite da svjetla ne koriste senzor ili da samo rade cijelo vrijeme, samo potražite mjesto koje se komentira kao "mijenja stanje zastave" i postavite ga na eter 1 ili 0, dodat ću još slika kad ovo dovršim za sebe pa još uvijek je u tijeku, ali mislim da je previše uredno da ga ne podijelim odmah. hvala što ste pogledali

void setup () {

// ovdje postavite svoj kôd za postavljanje, da biste ga jednom pokrenuli: FastLED.addLeds (LED, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {{100} {101}

Serial.println (FlagState);

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

void ForwardLeds () {

FirstLed = -1; LastLed = 16; za (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED diode [LastLed] = CRGB:: Bijela; LED diode [FirstLed] = CRGB:: Bijela; kašnjenje (750); FastLED.show (); Serial.print ("bijela propusnica"); Serijski.ispis (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; za (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED diode [LastLed] = CRGB:: Plava; LED diode [FirstLed] = CRGB:: Plava; kašnjenje (250); FastLED.show (); Serial.print ("Plava propusnica"); Serijski.ispis (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; za (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED diode [LastLed] = CRGB:: Ljubičasta; LED diode [FirstLed] = CRGB:: Ljubičasta; kašnjenje (250); FastLED.show (); Serial.print ("Red Pass"); Serijski.ispis (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; za (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; LED diode [LastLed] = CRGB:: Crna; LED diode [FirstLed] = CRGB:: Crna; kašnjenje (250); FastLED.show (); Serial.print ("Isključivanje LED -a"); Serijski.ispis (i); Serial.println ("od 8"); } FlagState = 2; // promjena stanja zastave} void RevLeds () {Serial.println ("obrnuto"); FirstLed = 8; LastLed = 7; za (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED diode [LastLed] = CRGB:: Bijela; LED diode [FirstLed] = CRGB:: Bijela; kašnjenje (750); FastLED.show (); Serial.print ("Bijela propusnica"); Serijski.ispis (i); Serial.println ("od 8"); } FirstLed = 8; LastLed = 7; za (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED diode [LastLed] = CRGB:: Plava; LED diode [FirstLed] = CRGB:: Plava; kašnjenje (250); FastLED.show (); Serial.print ("Plava propusnica"); Serijski.ispis (i); Serial.println ("od 8"); } FirstLed = 8; LastLed = 7; za (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED diode [LastLed] = CRGB:: Ljubičasta; LED diode [FirstLed] = CRGB:: Ljubičasta; kašnjenje (250); FastLED.show (); Serial.print ("Crvena propusnica"); Serijski.ispis (i); Serial.println ("od 8"); }

FirstLed = 8;

LastLed = 7; za (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; LED diode [LastLed] = CRGB:: Crna; LED diode [FirstLed] = CRGB:: Crna; kašnjenje (250); FastLED.show (); Serial.print ("Isključivanje LED -a"); Serijski.ispis (i); Serial.println ("od 8"); } FlagState = 2; // promjena stanja zastave} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("prema naprijed aktivirano"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev triggered"); FlagState = 1; } Serial.println ("petlja završena na čekanju"); }

Preporučeni: