Inhaltsverzeichnis:

Interaktive Hofbeleuchtung, Gehwegbeleuchtung - Gunook
Interaktive Hofbeleuchtung, Gehwegbeleuchtung - Gunook

Video: Interaktive Hofbeleuchtung, Gehwegbeleuchtung - Gunook

Video: Interaktive Hofbeleuchtung, Gehwegbeleuchtung - Gunook
Video: 30+ Beleuchtungs Ideen in Minecraft 1.14 | Minecraft Laternen bauen | Minecraft Beleuchtung 1.14 2024, November
Anonim
Interaktive Hofbeleuchtung, Gehwegbeleuchtung
Interaktive Hofbeleuchtung, Gehwegbeleuchtung
Interaktive Hofbeleuchtung, Gehwegbeleuchtung
Interaktive Hofbeleuchtung, Gehwegbeleuchtung

Ich wollte eine Art interaktive Gartenbeleuchtung für meinen Hinterhof bauen. Die Idee war, wenn jemand in eine Richtung geht, wird eine Animation in die Richtung ausgelöst, in die Sie gehen. Ich habe mit Dollar General $1,00 Solarleuchten angefangen

Schritt 1: Entfernen Sie die Solor-Lichter

Gut die Solor-Lichter
Gut die Solor-Lichter
Gut die Solor-Lichter
Gut die Solor-Lichter
Gut die Solor-Lichter
Gut die Solor-Lichter

Der erste Schritt war, die Lichter auszubauen, um Platz für mehr Spaß zu machen. Ich begann mit dem Ausschneiden der ursprünglichen LED und der Batterie. Achten Sie darauf, diese Teile aufzubewahren, da sie in einem anderen Projekt nützlich sein werden. Ich habe auch die Chromkuppel entfernt, die sich auf der Unterseite der Solarleuchte befand, und sie wie auf den Fotos zu sehen oben geklebt

Schritt 2: Bessere Lichter installieren

Bessere Beleuchtung installieren
Bessere Beleuchtung installieren
Bessere Beleuchtung installieren
Bessere Beleuchtung installieren
Bessere Beleuchtung installieren
Bessere Beleuchtung installieren

für die led habe ich wasserdichte ws2811b verwendet, die hier zu finden sind

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

Ich hatte ursprünglich geplant, die PIR-Sensoren in die Solarleuchten zu stecken. Dies erwies sich jedoch als problematisch, da der Sensor im Grunde nicht über den Kunststoff hinweg sehen konnte. es muss eine Art UV-Filterung besitzen. Also habe ich mich für sowas entschieden

www.thingiverse.com/thing:2590216

Schritt 3: Codierung

Wenn Sie möchten, dass die Lichter keinen Sensor verwenden oder einfach die ganze Zeit laufen, suchen Sie einfach nach dem Ort, der als "Flaggenstatus ändern" kommentiert ist, und stellen Sie ihn auf Ether 1 oder 0 ein. Ich werde weitere Bilder hinzufügen, wenn ich dies für mich selbst abgeschlossen habe Es ist noch in Arbeit, aber ich denke, es ist zu schön, um es nicht sofort zu teilen. danke fürs gucken

Leere Einrichtung () {

// Geben Sie hier Ihren Setup-Code ein, um ihn einmal auszuführen: FastLED.addLeds(leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

Leere Schleife () {

Serial.println (FlagState);

if (FlagState == 0) {ForwardLeds(); aufrechtzuerhalten. Wenn (FlagState == 1) { RevLeds (); aufrechtzuerhalten. Wenn (FlagState == 2) { Warten (); } }

Void ForwardLeds(){

Erste LED = -1; Letzte LED = 16; for(int i=0; i < 8; i++){ LastLed--; FirstLed++; leds[LastLed] = CRGB::Weiß; leds[FirstLed] = CRGB::Weiß; Verzögerung (750); FastLED.show(); Serial.print ("weißer Pass"); Seriendruck (i); Serial.println (" von 8"); } FirstLed = -1; Letzte LED = 16; for(int i=0; i < 8; i++){ LastLed--; FirstLed++; LEDs[LastLed] = CRGB::Blau; LEDs[FirstLed] = CRGB::Blau; Verzögerung (250); FastLED.show(); Serial.print ("Blue Pass"); Seriendruck (i); Serial.println (" von 8"); } FirstLed = -1; Letzte LED = 16; for(int i=0; i < 8; i++){ LastLed--; FirstLed++; leds[LastLed] = CRGB::Lila; leds[FirstLed] = CRGB::Lila; Verzögerung (250); FastLED.show(); Serial.print ("Roter Pass"); Seriendruck (i); Serial.println (" von 8"); } FirstLed = -1; Letzte LED = 16; for(int i=0; i < 8; i++){ LastLed--; FirstLed++; LEDs[LastLed] = CRGB::Schwarz; LEDs[FirstLed] = CRGB::Schwarz; Verzögerung (250); FastLED.show(); Serial.print ("LED ausschalten"); Seriendruck (i); Serial.println (" von 8"); } FlagState = 2; // Flaggenzustand ändern aufrechtzuerhalten. Void RevLeds () {Serial.println ("in umgekehrt"); Erste LED = 8; Letzte LED = 7; for(int i=0; i < 8; i++){ LastLed++; FirstLed--; leds[LastLed] = CRGB::Weiß; leds[FirstLed] = CRGB::Weiß; Verzögerung (750); FastLED.show(); Serial.print ("Weißer Pass"); Seriendruck (i); Serial.println (" von 8"); } FirstLed = 8; Letzte LED = 7; for(int i=0; i < 8; i++){ LastLed++; FirstLed--; LEDs[LastLed] = CRGB::Blau; LEDs[FirstLed] = CRGB::Blau; Verzögerung (250); FastLED.show(); Serial.print ("Blauer Pass"); Seriendruck (i); Serial.println (" von 8"); } FirstLed = 8; Letzte LED = 7; for(int i=0; i < 8; i++){ LastLed++; FirstLed--; leds[LastLed] = CRGB::Lila; leds[FirstLed] = CRGB::Lila; Verzögerung (250); FastLED.show(); Serial.print ("Roter Pass"); Seriendruck (i); Serial.println (" von 8"); }

Erste LED = 8;

Letzte LED = 7; for(int i=0; i < 8; i++){ LastLed++; FirstLed--; leds[LastLed] = CRGB::Schwarz; LEDs[FirstLed] = CRGB::Schwarz; Verzögerung (250); FastLED.show(); Serial.print ("Led ausschalten"); Seriendruck (i); Serial.println (" von 8"); } FlagState = 2; // Flag-Zustand ändern aufrechtzuerhalten. Void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("vorwärts getriggert"); FlagState = 0; aufrechtzuerhalten. Sonst if (buttonState2 == HIGH) { Serial.println ("Rev ausgelöst"); FlagState = 1; } Serial.println ("Schleife fertig gewartet"); }

Empfohlen: