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, Juli
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

Hteo sam da napravim neku vrstu interaktivnih dvorišnih svetala za svoje dvorište. Ideja je bila da, kada bi neko hodao u jednom smjeru, pokrenula bi se animacija u smjeru u kojem ste hodali. Počeo sam sa solarnim svjetlima od 1,00 dolara za Dollar General

Korak 1: Ugasite Solor svjetla

Ugasite Solor Lights
Ugasite Solor Lights
Ugasite Solor Lights
Ugasite Solor Lights
Ugasite Solor Lights
Ugasite Solor Lights

Prvi korak je bio ugasiti svjetla kako bi se napravilo mjesto za zabavniju stvar. Počeo sam izrezivanjem originalnog LED -a i baterije. Obavezno sačuvajte 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 boljeg svjetla

Instaliranje boljeg svjetla
Instaliranje boljeg svjetla
Instaliranje boljeg svjetla
Instaliranje boljeg svjetla
Instaliranje boljeg svjetla
Instaliranje boljeg svjetla

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

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

Prvobitno sam planirao da postavim PIR senzore u solarna svetla. ali ovo se pokazalo kao problematično jer senzor u osnovi nije mogao vidjeti pokraj plastike. mora imati neku vrstu 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 na gledanju

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; for (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"); Serial.print (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; for (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"); Serial.print (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; for (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"); Serial.print (i); Serial.println ("od 8"); } FirstLed = -1; LastLed = 16; for (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 diode"); Serial.print (i); Serial.println ("od 8"); } FlagState = 2; // promjena stanja zastave} void RevLeds () {Serial.println ("obrnuto"); FirstLed = 8; LastLed = 7; for (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"); Serial.print (i); Serial.println ("od 8"); } FirstLed = 8; LastLed = 7; for (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"); Serial.print (i); Serial.println ("od 8"); } FirstLed = 8; LastLed = 7; for (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"); Serial.print (i); Serial.println ("od 8"); }

FirstLed = 8;

LastLed = 7; for (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"); Serial.print (i); Serial.println ("od 8"); } FlagState = 2; // promjena stanja zastavice} 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 čekanja završena"); }

Preporučuje se: