Indholdsfortegnelse:

Interaktive gårdslamper, gangbroer: 3 trin
Interaktive gårdslamper, gangbroer: 3 trin

Video: Interaktive gårdslamper, gangbroer: 3 trin

Video: Interaktive gårdslamper, gangbroer: 3 trin
Video: ANTIGUA, GUATEMALA IS AMAZING! (TRAVEL GUIDE) 2024, Juli
Anonim
Interaktive gårdslys, gangbrolys
Interaktive gårdslys, gangbrolys
Interaktive gårdslys, gangbrolys
Interaktive gårdslys, gangbrolys

Jeg ville bygge en slags interaktive gårdslamper til min baghave. Ideen var, at når nogen gik en vej, ville det starte en animation i den retning, du gik. Jeg startede med Dollar General $ 1.00 sollys

Trin 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 skridt var at tømme lysene for at gøre plads til sjovere ting. Jeg startede med at skære den originale LED og batteri ud. Sørg for at gemme disse dele, da de vil være nyttige i et andet projekt. Jeg fjernede også den kromkuppel, der var på bunden af sollyset og limede det til toppen som set på fotos

Trin 2: Installation af bedre lys

Installation af bedre lys
Installation af bedre lys
Installation af bedre lys
Installation af bedre lys
Installation af bedre lys
Installation af bedre lys

til LED'en brugte jeg vandtæt ws2811b, som kan findes her

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

Jeg planlagde oprindeligt at sætte PIR -sensorerne inde i sollysene. men dette viste sig at være noget problematisk, fordi sensoren dybest set ikke kunne se forbi plasten. den skal have en form for UV -filtrering. så jeg valgte noget mere som dette

www.thingiverse.com/thing:2590216

Trin 3: Kodning

Hvis du vil få lysene til ikke at bruge sensor eller bare køre hele tiden, skal du bare lede efter det sted, der kommenteres som "ændring af flagstatus" og indstille det til ether 1 eller 0, jeg tilføjer flere billeder, når jeg fuldfører dette for mig selv, så det er stadig i gang, men jeg synes, det er for pænt til ikke at dele med det samme. tak fordi du kiggede

ugyldig opsætning () {

// sæt din opsætningskode her for at køre en gang: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

Serial.println (FlagState);

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

void ForwardLeds () {

FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Hvid; leds [FirstLed] = CRGB:: Hvid; forsinkelse (750); FastLED.show (); Serial.print ("hvidt pas"); Serial.print (i); Serial.println ("af 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 ("af 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 ("af 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Sort; leds [FirstLed] = CRGB:: Sort; forsinkelse (250); FastLED.show (); Serial.print ("Slukning af LED"); Serial.print (i); Serial.println ("af 8"); } FlagState = 2; // skiftende flagstat} ugyldig RevLeds () {Serial.println ("i omvendt"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Hvid; leds [FirstLed] = CRGB:: Hvid; forsinkelse (750); FastLED.show (); Serial.print ("Hvidt pas"); Serial.print (i); Serial.println ("af 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 ("Blue pass"); Serial.print (i); Serial.println ("af 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 pas"); Serial.print (i); Serial.println ("af 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Sort; leds [FirstLed] = CRGB:: Sort; forsinkelse (250); FastLED.show (); Serial.print ("Slukning af Led"); Serial.print (i); Serial.println ("af 8"); } FlagState = 2; // ændring af flagstatus} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); hvis (buttonState1 == HIGH) {Serial.println ("fremad aktiveret"); FlagState = 0; } ellers hvis (buttonState2 == HIGH) {Serial.println ("Rev udløst"); FlagState = 1; } Serial.println ("loop færdig med at vente"); }

Anbefalede: