Obsah:
Video: Interaktivní Yard Lights, Walkway Lights: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Chtěl jsem pro svůj dvůr postavit nějaké interaktivní osvětlení dvora. Myšlenka byla, že když někdo šel jedním směrem, spustil animaci ve směru, kterým kráčíte. Začal jsem solárními světly Dollar General 1,00 $
Krok 1: Vykuchejte solární světla
Prvním krokem bylo vykuchat světla, aby uvolnily místo zábavnějším věcem. Začal jsem vyříznutím původní LED a baterie. Tyto části určitě uložte, protože budou užitečné v jiném projektu. Také jsem odstranil chromovou kopuli, která byla na spodní straně slunečního světla, a nalepil ji na vrchol, jak je vidět na fotografiích
Krok 2: Instalace lepších světel
pro LED jsem použil vodotěsný ws2811b, který najdete zde
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Původně jsem plánoval umístit PIR senzory dovnitř slunečních světel. ale ukázalo se to jako problematické, protože senzor v podstatě neviděl přes plast. musí mít nějaký druh vhodnosti filtrování UV. tak jsem se rozhodl pro něco takového
www.thingiverse.com/thing:2590216
Krok 3: Kódování
pokud chcete, aby světla nepoužívala senzor nebo jen pořád běžela, stačí vyhledat místo, které je označeno jako „měnící se stav vlajky“a nastavit jej na ether 1 nebo 0, přidám další obrázky, až to dokončím pro sebe, je to stále nedokončená práce, ale myslím, že je příliš úhledné, abychom se o ni hned nesdíleli. díky za shlédnutí
neplatné nastavení () {
// sem vložte instalační kód, aby se spustil jednou: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }
prázdná smyčka () {
Serial.println (FlagState);
if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Waiting (); }}
neplatné ForwardLeds () {
FirstLed = -1; LastLed = 16; pro (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: White; leds [FirstLed] = CRGB:: White; zpoždění (750); FastLED.show (); Serial.print („bílý průchod“); Serial.print (i); Serial.println ("z 8"); } FirstLed = -1; LastLed = 16; pro (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; zpoždění (250); FastLED.show (); Serial.print („Blue Pass“); Serial.print (i); Serial.println ("z 8"); } FirstLed = -1; LastLed = 16; pro (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; zpoždění (250); FastLED.show (); Serial.print („Red Pass“); Serial.print (i); Serial.println ("z 8"); } FirstLed = -1; LastLed = 16; pro (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Black; leds [FirstLed] = CRGB:: Black; zpoždění (250); FastLED.show (); Serial.print ("Vypnutí LED"); Serial.print (i); Serial.println ("z 8"); } FlagState = 2; // změna stavu vlajky} void RevLeds () {Serial.println ("v opačném směru"); FirstLed = 8; LastLed = 7; pro (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: White; leds [FirstLed] = CRGB:: White; zpoždění (750); FastLED.show (); Serial.print („White pass“); Serial.print (i); Serial.println ("z 8"); } FirstLed = 8; LastLed = 7; pro (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; zpoždění (250); FastLED.show (); Serial.print („Blue pass“); Serial.print (i); Serial.println ("z 8"); } FirstLed = 8; LastLed = 7; pro (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; zpoždění (250); FastLED.show (); Serial.print („červený průchod“); Serial.print (i); Serial.println ("z 8"); }
FirstLed = 8;
LastLed = 7; pro (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Black; leds [FirstLed] = CRGB:: Black; zpoždění (250); FastLED.show (); Serial.print ("Vypnutí LED"); Serial.print (i); Serial.println ("z 8"); } FlagState = 2; // změna stavu vlajky} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("spuštěno dopředu"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev spuštěno"); FlagState = 1; } Serial.println ("smyčka dokončena čekání"); }
Doporučuje:
Interaktivní reflexní boxovací pytel: 3 kroky (s obrázky)
Interaktivní reflexní boxovací pytel: Tento návod je určen pro každého, kdo chce zlepšit své agility a boxerské dovednosti a zároveň získat více zkušeností s pájením, pomocí Arduina, LED a akcelerometru MK 2125. Cílem tohoto projektu je upravit stávající reflexní tašku a
A NEBO NE !! (interaktivní tabulka pravdy): 4 kroky
A NEBO NE !! (interaktivní tabulka pravd) Pochopení logických bran je velmi důležité pro
Interaktivní vyskakovací kniha Lego s Makey Makey: 4 kroky
Interaktivní vyskakovací kniha Lego s Makey Makey: Můžete věřit, že jsem nikdy nevlastnil vlastní sadu Lego? Nedokážu vám říci, kolik peněz jsem investoval do stavebnic Lego pro své děti. Měl jsem před léty koupit akcie v Legu! Ale donedávna jsem nikdy neměl vlastní sadu, dokud můj
Interaktivní výukový program: 3 kroky
Reagovat středně pokročilý návod: Reagovat středně pokročilý návod https://github.com/bluninja1234/todo_list_instruc…Zobrazit hotový produkt zde. Co se naučíte? Pomocí React.js vytvoříte jednoduchý seznam úkolů a dozvíte se o složitějších částech reagovat. Předpoklady (
Interaktivní umělecká instalace: 4 kroky (s obrázky)
Interaktivní umělecká instalace: V tomto projektu mícháme kódování a fyzické počítače, abychom vytvořili interaktivní uměleckou instalaci. Příklad sdílený v tomto Instructable je projekt studentského kódování, který kombinuje grafické a zvukové prvky s účelově vytvořeným rozhraním