Sisukord:
Video: Interaktiivsed õuevalgustid, kõnniteede tuled: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Tahtsin oma tagahoovile ehitada mingisugused interaktiivsed õuevalgustid. Idee oli selles, et kui keegi kõndis ühte suunda, käivitas see animatsiooni selles suunas, kus te kõndisite. Alustasin Dollar General 1,00 -dollaristest päikesevalgustitest
Samm: sisestage Solor -tuled
Esimene samm oli kustutada tuled, et teha lõbusam kraam. Alustasin algse LED -i ja aku väljalõikamisega. Salvestage need osad kindlasti, sest need on mõnes teises projektis kasulikud. Eemaldasin ka päikesevalguse põhjas asuva kroomkupli ja liimisin selle ülaosale, nagu fotodel näha
Samm: paremate tulede paigaldamine
LED -i jaoks kasutasin veekindlat ws2811b, mille leiate siit
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Plaanisin algselt panna PIR -andurid päikesetulede sisse. kuid see osutus probleemseks, kuna andur ei näinud plastikust mööda. sellel peab olema mingisugune UV -filtreerimine. nii et ma valisin midagi sellist
www.thingiverse.com/thing:2590216
Samm: kodeerimine
kui soovite, et tuled ei kasutaks andurit või lihtsalt jookseksid kogu aeg, otsige üles koht, mida kommenteeritakse kui "lipuriigi muutmine", ja seadke see eetrisse 1 või 0, lisan rohkem pilte, kui ma selle enda jaoks lõpetan, nii see on veel pooleli, kuid minu arvates on see liiga puhas, et seda kohe jagada. aitäh vaatamast
tühine seadistus () {
// pange oma seadistuskood siia, et seda korra käivitada: FastLED.addLeds (ledid, NUM_LEDS); Seriaalne algus (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }
void loop () {
Serial.println (FlagState);
if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Ootel (); }}
void ForwardLeds () {
FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Valge; ledid [FirstLed] = CRGB:: Valge; viivitus (750); FastLED.show (); Serial.print ("valge pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Sinine; ledid [FirstLed] = CRGB:: Sinine; viivitus (250); FastLED.show (); Serial.print ("Blue Pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Purple; ledid [FirstLed] = CRGB:: Purple; viivitus (250); FastLED.show (); Serial.print ("Punane pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = -1; LastLed = 16; jaoks (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledid [LastLed] = CRGB:: Must; ledid [FirstLed] = CRGB:: Must; viivitus (250); FastLED.show (); Serial.print ("LED -i väljalülitamine"); Seeriatrükk (i); Serial.println ("8 -st"); } Lipuriik = 2; // lipuriigi muutmine} void RevLeds () {Serial.println ("tagurpidi"); FirstLed = 8; LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Valge; ledid [FirstLed] = CRGB:: Valge; viivitus (750); FastLED.show (); Serial.print ("Valge pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = 8; LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Sinine; ledid [FirstLed] = CRGB:: Sinine; viivitus (250); FastLED.show (); Serial.print ("Sinine pass"); Seeriatrükk (i); Serial.println ("8 -st"); } FirstLed = 8; LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Purple; ledid [FirstLed] = CRGB:: Purple; viivitus (250); FastLED.show (); Serial.print ("Punane pass"); Seeriatrükk (i); Serial.println ("of 8"); }
FirstLed = 8;
LastLed = 7; jaoks (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledid [LastLed] = CRGB:: Must; ledid [FirstLed] = CRGB:: Must; viivitus (250); FastLED.show (); Serial.print ("Led väljalülitamine"); Seeriatrükk (i); Serial.println ("8 -st"); } Lipuriik = 2; // lipuriigi muutmine} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("edasi käivitatud"); Lipuriik = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev käivitati"); Lipuriik = 1; } Serial.println ("loop Lõpetas ootamise"); }
Soovitan:
Disko tuled RGB -st Arduino kasutamine TinkerCadis: 3 sammu
Disco tuled RGB -lt Arduino kasutamine TinkerCadis: Kui olete RGB -ga ühendatud, on RGB värvi lihtne juhtida, kasutades PWM -väljundit või analoogväljundit, Arduino jaoks saate kasutada nippe 3, 5, 6 analogWrite () , 9, 10, 11, A0, A1, A2, A3, A4, A5 (klassikaliste Arduinode puhul, mis kasutavad Atmega328 või 1
Interaktiivsed osakesed: 8 sammu
Interaktiivsed osakesed: see on samm -sammult juhis kaasasoleva interaktiivsete osakeste süsteemi seadistamiseks. See on üsna arenenud süsteem, mis võib kohati segadusse ajada ning soovitatakse mõningaid teadmisi kodeerimisest, Max MSP -st, Arduino'st ja audio/visuaalsetest seadistustest
Interaktiivsed tuulekellad: 4 sammu (piltidega)
Interaktiivsed tuulekellad: Perpetual Chimes on täiustatud tuulekellade komplekt, mis pakub eskapistlikku kogemust, kus teie koostöö loob helimaastiku. Kuna siseruumides pole tuult, vajavad kellamängud publiku suhtlemist, et neid õrnalt koputada või õhutada ja julgustada/n
Bloomie-interaktiivsed lilled: 6 sammu (piltidega)
Bloomie-interaktiivsed lilled: mõnikord ei piisa sõnadest, et oma tundeid jagada. See on siis, kui vajate Bloomiet! Bloomie on toode, mille abil inimesed saavad oma emotsioone valgustite kaudu jagada. Teatud suhtluse käivitamisel saadetakse sõnum teise inimese Bloomile
Interaktiivsed helendavad seened: 10 sammu (piltidega)
Interaktiivsed helendavad seened: see juhend annab teile teada, kuidas valmistada seeni, mis helendavad pimedas. Saate üksikuid seeni välja ja uuesti sisse lülitada, vajutades ülaosale. Alustasin seda projekti koolitöö jaoks, kus pidime Arduini abil midagi looma