Sisällysluettelo:
Video: Interaktiiviset pihavalot, kävelytien valot: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Halusin rakentaa jonkinlaisia interaktiivisia pihavalaisimia takapihalleni. Ajatuksena oli, että kun joku käveli yhdellä tavalla, se käynnisti animaation kulkemasi suuntaan. Aloitin Dollar Generalin 1,00 dollarin aurinkovaloilla
Vaihe 1: Gut Solor Lights
Ensimmäinen askel oli sammuttaa valot, jotta hauskempaa tavaraa. Aloitin katkaisemalla alkuperäisen ledin ja akun. Muista tallentaa nämä osat, koska ne ovat hyödyllisiä toisessa projektissa. Poistin myös auringonvalon pohjassa olevan kromikupolin ja liimasin sen yläosaan kuvien mukaisesti
Vaihe 2: Asenna parempia valoja
ledille käytin vedenpitävää ws2811b, joka löytyy täältä
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Suunnittelin alun perin PIR -antureiden asettamista aurinkovalojen sisään. mutta tämä osoittautui ongelmalliseksi, koska anturi ei käytännössä voinut nähdä muovin ohi. sillä on oltava jonkinlainen UV -suodatus. joten valitsin jotain tällaista
www.thingiverse.com/thing:2590216
Vaihe 3: Koodaus
jos haluat, että valot eivät käytä anturia tai vain juoksevat koko ajan, etsi vain paikka, joka on kommentoitu "muuttuvaksi lipputilaksi" ja aseta se eetteriksi 1 tai 0, lisään kuvia, kun suoritan tämän itselleni, joten se on vielä kesken, mutta mielestäni se on liian siisti olla jakamatta heti. kiitos kun katsoit
void setup () {
// laita asennuskoodi tähän, jotta se suoritetaan kerran: FastLED.addLeds (ledit, NUM_LEDS); Sarja.alku (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }
void loop () {
Serial.println (FlagState);
if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Odottaa (); }}
void ForwardLeds () {
FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledit [LastLed] = CRGB:: Valkoinen; ledit [FirstLed] = CRGB:: Valkoinen; viive (750); FastLED.show (); Serial.print ("valkoinen passi"); Sarjanjälki (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledit [LastLed] = CRGB:: Sininen; ledit [FirstLed] = CRGB:: Sininen; viive (250); FastLED.show (); Serial.print ("Blue Pass"); Sarjanjälki (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledit [LastLed] = CRGB:: Violetti; ledit [FirstLed] = CRGB:: Violetti; viive (250); FastLED.show (); Serial.print ("Red Pass"); Sarjanjälki (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; ledit [LastLed] = CRGB:: Musta; ledit [FirstLed] = CRGB:: Musta; viive (250); FastLED.show (); Serial.print ("LED -valojen sammuttaminen"); Sarjanjälki (i); Serial.println ("of 8"); } Lipputila = 2; // lipun tilan muuttaminen} void RevLeds () {Serial.println ("in reverse"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledit [LastLed] = CRGB:: Valkoinen; ledit [FirstLed] = CRGB:: Valkoinen; viive (750); FastLED.show (); Serial.print ("Valkoinen pass"); Sarjanjälki (i); Serial.println ("of 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledit [LastLed] = CRGB:: Sininen; ledit [FirstLed] = CRGB:: Sininen; viive (250); FastLED.show (); Serial.print ("Blue pass"); Sarjanjälki (i); Serial.println ("of 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledit [LastLed] = CRGB:: Violetti; ledit [FirstLed] = CRGB:: Violetti; viive (250); FastLED.show (); Serial.print ("Red pass"); Sarjanjälki (i); Serial.println ("of 8"); }
FirstLed = 8;
LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; ledit [LastLed] = CRGB:: Musta; ledit [FirstLed] = CRGB:: Musta; viive (250); FastLED.show (); Serial.print ("Ledin sammuttaminen"); Sarjanjälki (i); Serial.println ("of 8"); } Lipputila = 2; // lipun tilan muuttaminen} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("eteenpäin laukaisu"); Lipputila = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev triggered"); Lipputila = 1; } Serial.println ("silmukka valmis odotus"); }
Suositeltava:
Älykäs kävelytien valaistusjärjestelmä- Team Sailor Moon: 12 askelta
Älykäs kävelytien valaistusjärjestelmä- Team Sailor Moon: Hei! Tässä ovat Grace Rhee, Srijesh Konakanchi ja Juan Landi, ja yhdessä olemme Team Sailor Moon! Tänään tuomme sinulle kaksiosaisen DIY -projektin, jonka voit toteuttaa suoraan omassa kodissasi. Viimeinen älykäs kävelytievalaistusjärjestelmämme sisältää ul
Interaktiiviset hiukkaset: 8 vaihetta
Interaktiiviset hiukkaset: Tämä on vaiheittainen opas mukana tulevan interaktiivisten hiukkasten järjestelmän asentamiseen. Tämä on melko kehittynyt järjestelmä, joka voi olla ajoittain hämmentävä ja joitain tietoja koodauksesta, Max MSP: stä, Arduinosta ja audio/visuaalisista asetuksista suositellaan
Interaktiiviset tuulikellot: 4 vaihetta (kuvilla)
Interaktiiviset tuulikellot: Ikuiset kellot on sarja täydennettyjä tuulikelloja, jotka tarjoavat eskapistikokemuksen, jossa yhteistyösi säveltää äänimaiseman. Koska sisätiloissa ei ole tuulta, soittoäänet vaativat yleisön vuorovaikutusta, jotta he napauttavat tai heiluttavat niitä varovasti ja kannustavat
Bloomie-interaktiiviset kukat: 6 vaihetta (kuvilla)
Bloomie-Interaktiiviset kukat: Joskus sanat eivät riitä jakamaan tunteitasi. Silloin tarvitset Bloomieta! Bloomie on tuote, jolla ihmiset voivat jakaa tunteensa valojen kautta. Kun käynnistät tietyn vuorovaikutuksen, viesti lähetetään toisen henkilön Bloomiin
Interaktiiviset hehkuvat sienet: 10 vaihetta (kuvilla)
Interaktiiviset hehkuvat sienet: Tämä opastettava opastaa tekemään sieniä, jotka hehkuvat pimeässä. Voit kytkeä yksittäiset sienet pois päältä ja uudelleen päälle painamalla yläosaa. Aloitin tämän projektin koulutehtävää varten, jossa meidän piti luoda jotain Arduinin avulla