Sisukord:

Interaktiivsed õuevalgustid, kõnniteede tuled: 3 sammu
Interaktiivsed õuevalgustid, kõnniteede tuled: 3 sammu

Video: Interaktiivsed õuevalgustid, kõnniteede tuled: 3 sammu

Video: Interaktiivsed õuevalgustid, kõnniteede tuled: 3 sammu
Video: Interaktiivsed solfedžo õppevideod, II video "Noodivältused". 2024, November
Anonim
Interaktiivsed õuevalgustid, kõnniteede tuled
Interaktiivsed õuevalgustid, kõnniteede tuled
Interaktiivsed õuevalgustid, kõnniteede tuled
Interaktiivsed õuevalgustid, kõnniteede tuled

Tahtsin oma tagahoovile ehitada mingisugused interaktiivsed õuevalgustid. Idee oli selles, et kui keegi kõndis ühte suunda, käivitas see animatsiooni selles suunas, kus te kõndisite. Alustasin Dollar General 1,00 -dollaristest päikesevalgustitest

Samm: sisestage Solor -tuled

Soolatuled tuhmuma
Soolatuled tuhmuma
Soolatuled põlema
Soolatuled põlema
Soolatuled tuhmuma
Soolatuled tuhmuma

Esimene samm oli kustutada tuled, et teha lõbusam kraam. Alustasin algse LED -i ja aku väljalõikamisega. Salvestage need osad kindlasti, sest need on mõnes teises projektis kasulikud. Eemaldasin ka päikesevalguse põhjas asuva kroomkupli ja liimisin selle ülaosale, nagu fotodel näha

Samm: paremate tulede paigaldamine

Paremate tulede paigaldamine
Paremate tulede paigaldamine
Paremate tulede paigaldamine
Paremate tulede paigaldamine
Paremate tulede paigaldamine
Paremate tulede paigaldamine

LED -i jaoks kasutasin veekindlat ws2811b, mille leiate siit

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

Plaanisin algselt panna PIR -andurid päikesetulede sisse. kuid see osutus probleemseks, kuna andur ei näinud plastikust mööda. sellel peab olema mingisugune UV -filtreerimine. nii et ma valisin midagi sellist

www.thingiverse.com/thing:2590216

Samm: kodeerimine

kui soovite, et tuled ei kasutaks andurit või lihtsalt jookseksid kogu aeg, otsige üles koht, mida kommenteeritakse kui "lipuriigi muutmine", ja seadke see eetrisse 1 või 0, lisan rohkem pilte, kui ma selle enda jaoks lõpetan, nii see on veel pooleli, kuid minu arvates on see liiga puhas, et seda kohe jagada. aitäh vaatamast

tühine seadistus () {

// pange oma seadistuskood siia, et seda korra käivitada: FastLED.addLeds (ledid, NUM_LEDS); Seriaalne algus (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

Serial.println (FlagState);

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

void ForwardLeds () {

FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Valge; ledid [FirstLed] = CRGB:: Valge; viivitus (750); FastLED.show (); Serial.print ("valge pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Sinine; ledid [FirstLed] = CRGB:: Sinine; viivitus (250); FastLED.show (); Serial.print ("Blue Pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Purple; ledid [FirstLed] = CRGB:: Purple; viivitus (250); FastLED.show (); Serial.print ("Punane pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Must; ledid [FirstLed] = CRGB:: Must; viivitus (250); FastLED.show (); Serial.print ("LED -i väljalülitamine"); Seeriatrükk (i); Serial.println ("8 -st"); } Lipuriik = 2; // lipuriigi muutmine} void RevLeds () {Serial.println ("tagurpidi"); FirstLed = 8; LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Valge; ledid [FirstLed] = CRGB:: Valge; viivitus (750); FastLED.show (); Serial.print ("Valge pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = 8; LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Sinine; ledid [FirstLed] = CRGB:: Sinine; viivitus (250); FastLED.show (); Serial.print ("Sinine pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = 8; LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Purple; ledid [FirstLed] = CRGB:: Purple; viivitus (250); FastLED.show (); Serial.print ("Punane pass"); Seeriatrükk (i); Serial.println ("of 8"); }

FirstLed = 8;

LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Must; ledid [FirstLed] = CRGB:: Must; viivitus (250); FastLED.show (); Serial.print ("Led väljalülitamine"); Seeriatrükk (i); Serial.println ("8 -st"); } Lipuriik = 2; // lipuriigi muutmine} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("edasi käivitatud"); Lipuriik = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev käivitati"); Lipuriik = 1; } Serial.println ("loop Lõpetas ootamise"); }

Soovitan: