Innehållsförteckning:
Video: Interaktiva gårdsljus, gångbelysning: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Jag ville bygga någon form av interaktiva gårdsljus för min bakgård. Tanken var att när någon gick ett sätt skulle det sätta igång en animation i den riktning du gick. Jag började med Dollar General $ 1.00 solbelysning
Steg 1: Gut Solor Lights
Det första steget var att tända lamporna för att ge plats för roligare saker. Jag började med att klippa ur den ursprungliga ledningen och batteriet. Var noga med att spara dessa delar eftersom de kommer att vara användbara i ett annat projekt. Jag tog också bort kromkupolen som var på undersidan av solskenet och limmade den på toppen som på bilderna
Steg 2: Installera bättre lampor
för LED använde jag vattentät ws2811b som finns här
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Jag planerade ursprungligen att sätta PIR -sensorerna inuti solskenet. men detta visade sig vara något problematiskt eftersom sensorn i princip inte kunde se förbi plasten. det måste ha någon form av UV -filtrering. så jag valde något mer så här
www.thingiverse.com/thing:2590216
Steg 3: Kodning
om du vill att lamporna inte ska använda sensor eller bara springa hela tiden är det bara att leta efter platsen som kommenteras som "ändra flaggstatus" och ställa in den på eter 1 eller 0, jag lägger till fler bilder när jag slutför detta för mig själv så det är fortfarande ett pågående arbete men jag tycker att det är för snyggt för att inte dela direkt. tack för att du tittade
void setup () {
// lägg din installationskod här för att köra en gång: 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; för (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Vit; leds [FirstLed] = CRGB:: Vit; fördröjning (750); FastLED.show (); Serial.print ("white Pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = -1; LastLed = 16; för (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blå; leds [FirstLed] = CRGB:: Blå; fördröjning (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = -1; LastLed = 16; för (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Lila; leds [FirstLed] = CRGB:: Lila; fördröjning (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = -1; LastLed = 16; för (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Svart; leds [FirstLed] = CRGB:: Svart; fördröjning (250); FastLED.show (); Serial.print ("Stänga av LED"); Serial.print (i); Serial.println ("av 8"); } FlagState = 2; // ändra flaggstatus} ogiltiga RevLeds () {Serial.println ("i omvänd"); FirstLed = 8; LastLed = 7; för (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Vit; leds [FirstLed] = CRGB:: Vit; fördröjning (750); FastLED.show (); Serial.print ("White pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = 8; LastLed = 7; för (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blå; leds [FirstLed] = CRGB:: Blå; fördröjning (250); FastLED.show (); Serial.print ("Blått pass"); Serial.print (i); Serial.println ("av 8"); } FirstLed = 8; LastLed = 7; för (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Lila; leds [FirstLed] = CRGB:: Lila; fördröjning (250); FastLED.show (); Serial.print ("Red pass"); Serial.print (i); Serial.println ("av 8"); }
FirstLed = 8;
LastLed = 7; för (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Svart; leds [FirstLed] = CRGB:: Svart; fördröjning (250); FastLED.show (); Serial.print ("Stänga av LED"); Serial.print (i); Serial.println ("av 8"); } FlagState = 2; // ändra flaggstatus} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("framåt utlöst"); FlagState = 0; } annars if (buttonState2 == HIGH) {Serial.println ("Rev utlöst"); FlagState = 1; } Serial.println ("loop slutad väntar"); }
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Interaktiva partiklar: 8 steg
Interaktiva partiklar: Detta är steg för steg -guide för att installera det medföljande interaktiva partikelsystemet. Detta är ett ganska avancerat system som ibland kan vara förvirrande och viss kunskap om kodning, Max MSP, Arduino och ljud/visuella inställningar rekommenderas
Interaktiva vindspel: 4 steg (med bilder)
Interactive Wind Chimes: Perpetual Chimes är en uppsättning förstärkta vindspel som erbjuder en eskapistisk upplevelse där ditt samarbete komponerar ljudlandskapet. Eftersom det inte blåser inomhus, kräver klockorna publikinteraktion för att försiktigt knacka eller vifta dem och uppmuntra/n
Interaktiva glödande svampar: 10 steg (med bilder)
Interaktiva glödande svampar: Denna instruerbara visar dig hur man gör svampar som lyser i mörkret. Du kan stänga av och på enskilda svampar genom att trycka på toppen. Jag startade det här projektet för ett skoluppdrag där vi var tvungna att skapa något med Arduin