Innholdsfortegnelse:

Interaktive gårdslys, gangveislys: 3 trinn
Interaktive gårdslys, gangveislys: 3 trinn

Video: Interaktive gårdslys, gangveislys: 3 trinn

Video: Interaktive gårdslys, gangveislys: 3 trinn
Video: ADVANCED FLYING VOCABULARY ✈️ | Words & phrases you need to know 2024, November
Anonim
Interaktive gårdslys, gangveislys
Interaktive gårdslys, gangveislys
Interaktive gårdslys, gangveislys
Interaktive gårdslys, gangveislys

Jeg ønsket å bygge en slags interaktive hagelys for bakgården min. Tanken var at når noen gikk en vei, ville det sette i gang en animasjon i den retningen du gikk. Jeg begynte med Dollar General $ 1.00 sollys

Trinn 1: Gut 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

Det første trinnet var å tømme lysene for å gjøre plass til mer morsomme ting. Jeg begynte med å kutte ut den originale LED -en og batteriet. Sørg for å lagre disse delene, da de vil være nyttige i et annet prosjekt. Jeg fjernet også kromkuppelen som var på undersiden av sollyset og limte den på toppen som sett på bilder

Trinn 2: Installere bedre lys

Installere bedre lys
Installere bedre lys
Installere bedre lys
Installere bedre lys
Installere bedre lys
Installere bedre lys

for ledet brukte jeg vanntett ws2811b som du finner her

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

Jeg planla opprinnelig å sette PIR -sensorene inne i sollysene. men dette viste seg å være noe problematisk fordi sensoren i utgangspunktet ikke kunne se forbi plasten. den må ha en form for UV -filtrering. så jeg valgte noe mer som dette

www.thingiverse.com/thing:2590216

Trinn 3: Koding

Hvis du vil at lysene ikke skal bruke sensor eller bare kjøre hele tiden, er det bare å lete etter stedet som er kommentert som "endring av flagget" og sett det til eter 1 eller 0, jeg vil legge til flere bilder når jeg fullfører dette for meg selv så det er fremdeles et arbeid som pågår, men jeg synes det er for pent å ikke dele med en gang. takk for at du så

ugyldig oppsett () {

// legg oppsettskoden her for å kjøre en gang: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

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:: Hvit; leds [FirstLed] = CRGB:: Hvit; forsinkelse (750); FastLED.show (); Serial.print ("hvitt pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blå; leds [FirstLed] = CRGB:: Blå; forsinkelse (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Lilla; leds [FirstLed] = CRGB:: Lilla; forsinkelse (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Svart; leds [FirstLed] = CRGB:: Svart; forsinkelse (250); FastLED.show (); Serial.print ("Slå av led"); Serial.print (i); Serial.println ("av 8"); } FlagState = 2; // endring av flaggstatus} ugyldig RevLeds () {Serial.println ("omvendt"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Hvit; leds [FirstLed] = CRGB:: Hvit; forsinkelse (750); FastLED.show (); Serial.print ("White pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blå; leds [FirstLed] = CRGB:: Blå; forsinkelse (250); FastLED.show (); Serial.print ("Blått pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Lilla; leds [FirstLed] = CRGB:: Lilla; forsinkelse (250); FastLED.show (); Serial.print ("Rødt pass"); Serial.print (i); Serial.println ("av 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Svart; leds [FirstLed] = CRGB:: Svart; forsinkelse (250); FastLED.show (); Serial.print ("Slå av LED"); Serial.print (i); Serial.println ("av 8"); } FlagState = 2; // endring av flaggetilstand} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("fremover utløst"); FlagState = 0; } annet hvis (buttonState2 == HIGH) {Serial.println ("Rev utløst"); FlagState = 1; } Serial.println ("loop ferdig ventet"); }

Anbefalt: