Innholdsfortegnelse:
Video: Interaktive gårdslys, gangveislys: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
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
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:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Interaktive partikler: 8 trinn
Interaktive partikler: Dette er en trinnvis veiledning for å sette opp det inkluderte interaktive partikelsystemet. Dette er et ganske avansert system som til tider kan være forvirrende, og litt kunnskap om koding, maks MSP, Arduino og lyd/visuelle oppsett anbefales
Interaktive vindklokker: 4 trinn (med bilder)
Interactive Wind Chimes: Perpetual Chimes er et sett med forsterkede vindklokker som tilbyr en eskapistisk opplevelse der samarbeidet ditt komponerer lydbildet. Siden det ikke blåser innendørs, krever klokkespillet publikumsinteraksjon for å trykke eller vifte dem forsiktig og oppmuntre/n
Interaktive glødende sopp: 10 trinn (med bilder)
Interaktive glødende sopp: Denne instruksjonsfilen viser deg hvordan du lager sopp som lyser i mørket. Du kan slå individuelle sopp av og på igjen ved å trykke på toppen. Jeg startet dette prosjektet for en skoleoppgave der vi måtte lage noe ved hjelp av Arduin