INHOUDSOPGAWE:

Interaktiewe werfligte, gangligte: 3 stappe
Interaktiewe werfligte, gangligte: 3 stappe

Video: Interaktiewe werfligte, gangligte: 3 stappe

Video: Interaktiewe werfligte, gangligte: 3 stappe
Video: Kohi Map 26 - Montana of -3.10 (GangLite vs Montana) (RAIDABLE) 2024, November
Anonim
Interaktiewe werfligte, loopbrugligte
Interaktiewe werfligte, loopbrugligte
Interaktiewe werfligte, loopbrugligte
Interaktiewe werfligte, loopbrugligte

Ek wou 'n soort interaktiewe tuinligte vir my agterplaas bou. Die idee was dat as iemand een kant toe loop, dit 'n animasie in die rigting waarin jy loop stap. Ek het begin met Dollar General $ 1.00 sonligte

Stap 1: Gut the Solor Lights

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

Die eerste stap was om die ligte in te sit om plek te maak vir meer lekker dinge. Ek het begin deur die oorspronklike led en battery uit te sny. Stoor hierdie dele, aangesien dit nuttig sal wees vir 'n ander projek. Ek het ook die chroom -koepel wat aan die onderkant van die sonlig was, verwyder en dit aan die bokant vasgeplak, soos op foto's gesien

Stap 2: Installeer beter ligte

Die installering van beter ligte
Die installering van beter ligte
Die installering van beter ligte
Die installering van beter ligte
Die installering van beter ligte
Die installering van beter ligte

Vir die LED gebruik ek waterdigte ws2811b wat u hier kan vind

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

Ek was oorspronklik van plan om die PIR -sensors in die sonligte te plaas. maar dit was 'n probleem, want die sensor kon basies nie verby die plastiek kom nie. dit moet 'n soort UV -filtreerbaarheid hê. so ek het gekies vir iets meer soos hierdie

www.thingiverse.com/thing:2590216

Stap 3: Kodering

As u wil hê dat die ligte nie 'n sensor gebruik nie, of net die hele tyd hardloop, soek dan net die plek wat as 'veranderende vlagstaat' beskou word en stel dit op ether 1 of 0, ek sal meer foto's byvoeg as ek dit vir myself voltooi het dit is nog steeds aan die gang, maar ek dink dit is te netjies om nie dadelik te deel nie. dankie dat u gekyk het

ongeldige opstelling () {

// sit u opstellingskode hier om een keer te hardloop: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

leemte -lus () {

Serial.println (FlagState);

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

nietig ForwardLeds () {

FirstLed = -1; LastLed = 16; vir (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Wit; leds [FirstLed] = CRGB:: Wit; vertraging (750); FastLED.show (); Serial.print ("wit pas"); Serial.print (i); Serial.println ("van 8"); } FirstLed = -1; LastLed = 16; vir (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blou; leds [FirstLed] = CRGB:: Blou; vertraging (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("van 8"); } FirstLed = -1; LastLed = 16; vir (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Pers; leds [FirstLed] = CRGB:: Pers; vertraging (250); FastLED.show (); Serial.print ("Rooi pas"); Serial.print (i); Serial.println ("van 8"); } FirstLed = -1; LastLed = 16; vir (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Swart; leds [FirstLed] = CRGB:: Swart; vertraging (250); FastLED.show (); Serial.print ("LED uitskakel"); Serial.print (i); Serial.println ("van 8"); } FlagState = 2; // veranderende vlagstaat} ongeldig RevLeds () {Serial.println ("in reverse"); FirstLed = 8; LastLed = 7; vir (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Wit; leds [FirstLed] = CRGB:: Wit; vertraging (750); FastLED.show (); Serial.print ("Wit pas"); Serial.print (i); Serial.println ("van 8"); } FirstLed = 8; LastLed = 7; vir (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blou; leds [FirstLed] = CRGB:: Blou; vertraging (250); FastLED.show (); Serial.print ("Blue pass"); Serial.print (i); Serial.println ("van 8"); } FirstLed = 8; LastLed = 7; vir (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Pers; leds [FirstLed] = CRGB:: Pers; vertraging (250); FastLED.show (); Serial.print ("Rooi pas"); Serial.print (i); Serial.println ("van 8"); }

FirstLed = 8;

LastLed = 7; vir (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Swart; leds [FirstLed] = CRGB:: Swart; vertraging (250); FastLED.show (); Serial.print ("Led afskakel"); Serial.print (i); Serial.println ("van 8"); } FlagState = 2; // veranderende vlagstaat} leegte Wag () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HOOG) {Serial.println ("vorentoe geaktiveer"); FlagState = 0; } anders as (buttonState2 == HOOG) {Serial.println ("Rev geaktiveer"); FlagState = 1; } Serial.println ("lus klaar wag"); }

Aanbeveel: