Spisu treści:
Wideo: Interaktywne oświetlenie stoczni, oświetlenie chodnika: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Chciałem zbudować coś w rodzaju interaktywnych świateł na podwórku. Chodziło o to, że gdy ktoś idzie w jedną stronę, uruchamia się animacja w kierunku, w którym idziesz. Zacząłem od świateł słonecznych Dollar General 1,00 $
Krok 1: Wypatruj światła słonecznego
Pierwszym krokiem było wypatroszenie świateł, aby zrobić miejsce na więcej zabawnych rzeczy. Zacząłem od wycięcia oryginalnej diody i baterii. Koniecznie zachowaj te części gdyż przydadzą się w innym projekcie Usunąłem też chromowaną kopułę która była na dole lampy solarnej i przykleiłem ją do góry jak widać na zdjęciach
Krok 2: Instalowanie lepszych świateł
do diody użyłem wodoodpornego ws2811b, który można znaleźć tutaj
www.ebay.com/itm/50-X-12mm-Moduł-LED-RGB-…
Pierwotnie planowałem umieścić czujniki PIR w lampach słonecznych. ale okazało się to trochę problematyczne, ponieważ czujnik w zasadzie nie widział poza plastikiem. musi mieć jakąś właściwość filtrowania UV. więc zdecydowałem się na coś bardziej takiego
www.thingiverse.com/thing:2590216
Krok 3: Kodowanie
jeśli chcesz, aby światła nie korzystały z czujnika lub po prostu działały cały czas, poszukaj miejsca, które jest skomentowane jako „zmienianie stanu flagi” i ustaw je na ether 1 lub 0, dodam więcej zdjęć, gdy skończę to dla siebie, więc nadal jest w toku, ale myślę, że jest zbyt schludny, aby nie udostępniać od razu. dzięki za obejrzenie
pusta konfiguracja () {
// wstaw tutaj swój kod konfiguracyjny do jednorazowego uruchomienia: FastLED.addLeds(leds, NUM_LEDS); Serial.początek(9600); pinMode(przyciskPin1, WEJŚCIE); pinMode(buttonPin2, INPUT); }
pusta pętla () {
Serial.println(stan flagi);
if(FlagState == 0){ ForwardLeds(); } if(FlagState == 1){ RevLeds(); } if(FlagState == 2){ Oczekiwanie(); } }
void ForwardLeds(){
Pierwsza dioda = -1; LastLed = 16; for(int i=0; i < 8; i++){ LastLed--; Pierwsza dioda++; diody [Ostatnia dioda] = CRGB::Biały; diody [Pierwsza dioda] = CRGB::Biały; opóźnienie(750); FastLED.show(); Serial.print ("Biała Przepustka"); druk.seryjny (i); Serial.println (" z 8"); } Pierwsza dioda = -1; LastLed = 16; for(int i=0; i < 8; i++){ LastLed--; Pierwsza dioda++; diody [Ostatnia dioda] = CRGB::Niebieski; diody [Pierwsza dioda] = CRGB::Niebieski; opóźnienie(250); FastLED.show(); Serial.print („Niebieska karta”); druk.seryjny (i); Serial.println (" z 8"); } Pierwsza dioda = -1; LastLed = 16; for(int i=0; i < 8; i++){ LastLed--; Pierwsza dioda++; diody[OstatniaLed] = CRGB::Fioletowy; diody[PierwszaLed] = CRGB::Fioletowy; opóźnienie(250); FastLED.show(); Serial.print ("Czerwona przepustka"); druk.seryjny (i); Serial.println (" z 8"); } Pierwsza dioda = -1; Ostatnia dioda = 16; for(int i=0; i < 8; i++){ LastLed--; Pierwsza dioda++; diody [Ostatnia dioda] = CRGB::Czarny; diody [Pierwsza dioda] = CRGB::Czarny; opóźnienie(250); FastLED.show(); Serial.print ("Wyłączenie diody"); druk.seryjny (i); Serial.println (" z 8"); } Stan Flagi = 2; // zmiana stanu flagi } void RevLeds(){ Serial.println("in reverse"); Pierwsza dioda = 8; LastLed = 7; for(int i=0; i < 8; i++){ LastLed++; Pierwsza dioda--; diody [Ostatnia dioda] = CRGB::Biały; diody [Pierwsza dioda] = CRGB::Biały; opóźnienie(750); FastLED.show(); Serial.print (" Biała przepustka "); druk.seryjny (i); Serial.println (" z 8"); } Pierwsza dioda = 8; LastLed = 7; for(int i=0; i < 8; i++){ LastLed++; Pierwsza dioda--; diody [Ostatnia dioda] = CRGB::Niebieski; diody [Pierwsza dioda] = CRGB::Niebieski; opóźnienie(250); FastLED.show(); Serial.print („Niebieska przepustka”); druk.seryjny (i); Serial.println (" z 8"); } Pierwsza dioda = 8; LastLed = 7; for(int i=0; i < 8; i++){ LastLed++; Pierwsza dioda--; diody[OstatniaLed] = CRGB::Fioletowy; diody[PierwszaLed] = CRGB::Fioletowy; opóźnienie(250); FastLED.show(); Serial.print („Czerwona przepustka”); druk.seryjny (i); Serial.println (" z 8"); }
Pierwsza dioda = 8;
LastLed = 7; for(int i=0; i < 8; i++){ LastLed++; Pierwsza dioda--; diody [Ostatnia dioda] = CRGB::Czarny; diody [Pierwsza dioda] = CRGB::Czarny; opóźnienie(250); FastLED.show(); Serial.print ("Wyłączanie diody"); druk.seryjny (i); Serial.println (" z 8"); } Stan Flagi = 2; //zmiana stanu flagi } void Waiting(){ buttonState1 = digitalRead(buttonPin1); buttonState2 = digitalRead(buttonPin2); if(buttonState1 == HIGH){ Serial.println("wyzwalane przekazywanie"); Stan Flagi = 0; } else if(buttonState2 == HIGH){ Serial.println("Wyzwolony obrót"); Stan Flagi = 1; } Serial.println("oczekiwanie w pętli zakończone"); }
Zalecana:
Inteligentny system oświetlenia chodnika - zespół Sailor Moon: 12 kroków
Inteligentny system oświetlenia chodnika - Team Sailor Moon: Cześć! To są Grace Rhee, Srijesh Konakanchi i Juan Landi, a razem jesteśmy Drużyną Czarodziejki z Księżyca! Dziś przedstawimy Ci dwuczęściowy projekt DIY, który możesz zrealizować we własnym domu. Nasz ostatni inteligentny system oświetlenia chodników obejmuje ul
Interaktywne jajko - reakcja na dźwięk i reakcja na puk: 4 kroki
Interaktywne Jajko - Reaktywne Dźwięki i Reaktywne Pukanie: Zrobiłem "Interaktywne Jajko" jako projekt dla szkoły, gdzie musieliśmy wykonać koncepcję i prototyp. Jajko reaguje na głośny hałas odgłosami ptaków, a jeśli zapukasz wystarczająco mocno 3 razy, otwiera się na kilka sekund. To pierwszy
Zautomatyzowany model kolei od punktu do punktu z bocznicą stoczni: 10 kroków (ze zdjęciami)
Zautomatyzowany model kolei punkt-punkt z bocznicą stoczni: mikrokontrolery Arduino otwierają ogromne możliwości w modelowaniu kolei, zwłaszcza jeśli chodzi o automatyzację. Ten projekt jest przykładem takiej aplikacji. Jest kontynuacją jednego z poprzednich projektów. Ten projekt składa się z punktu
Interaktywne oświetlenie otoczenia: 8 kroków
Interaktywne oświetlenie otoczenia: to moja pierwsza instrukcja! Proszę o wyrozumiałość, kiedy zmagam się z poprawnym pisaniem po angielsku. Zapraszam do poprawienia mnie! Zacząłem ten projekt zaraz po rozpoczęciu konkursu „Niech świeci”. Żałuję, że nie zarobiłem o wiele więcej i dokończyłem tego, co chciałem
Interaktywne, otwarte oświetlenie nastrojowe: 9 kroków (ze zdjęciami)
Interaktywne, otwarte oświetlenie nastrojowe: Ta instrukcja pokaże, jak stworzyć interaktywne, wielofunkcyjne oświetlenie nastrojowe. Sercem tego projektu jest dioda LED BlinkM I2C RGB. Kiedy pewnego dnia przeglądałem sieć, moją uwagę przykuł BlinkM i pomyślałem, że to zbyt fajne