Съдържание:
- Стъпка 1: Изкоренете слънчевите светлини
- Стъпка 2: Инсталиране на по -добри светлини
- Стъпка 3: Кодиране
Видео: Интерактивни светлини за двора, светлини за пътеки: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Исках да построя някакъв вид интерактивни дворни светлини за задния си двор. Идеята беше, когато някой вървеше в една посока, това да даде начало на анимация в посоката, в която вървите. Започнах със Dollar General $ 1.00 слънчеви светлини
Стъпка 1: Изкоренете слънчевите светлини
Първата стъпка беше да изгасим светлините, за да направим място за по -забавни неща. Започнах с изрязване на оригиналния светодиод и батерията. Не забравяйте да запазите тези части, тъй като те ще бъдат полезни в друг проект. Също така премахнах хромирания купол, който беше на дъното на слънчевата светлина и го залепих отгоре, както се вижда на снимките
Стъпка 2: Инсталиране на по -добри светлини
за светодиода използвах водоустойчив ws2811b, който можете да намерите тук
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Първоначално планирах да поставя PIR сензорите в слънчевите светлини. но това се оказа доста проблематично, защото сензорът по принцип не можеше да види покрай пластмасата. трябва да има някакъв вид UV филтриране. затова избрах нещо повече като това
www.thingiverse.com/thing:2590216
Стъпка 3: Кодиране
ако искате да накарате светлините да не използват сензор или просто да работят през цялото време, просто потърсете мястото, което е коментирано като "промяна на състоянието на флага" и го настройте на етер 1 или 0, ще добавя още снимки, когато попълня това за себе си, така че все още се работи, но мисля, че е твърде кокетно, за да не споделя веднага. благодаря за търсенето
void setup () {
// поставете кода за настройка тук, за да се стартира веднъж: FastLED.addLeds (светодиоди, 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 ++; светодиоди [LastLed] = CRGB:: Бял; светодиоди [FirstLed] = CRGB:: Бял; забавяне (750); FastLED.show (); Serial.print ("бяла карта"); Serial.print (i); Serial.println ("от 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; светодиоди [LastLed] = CRGB:: Синьо; светодиоди [FirstLed] = CRGB:: Синьо; забавяне (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("от 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; светодиоди [LastLed] = CRGB:: Лилаво; светодиоди [FirstLed] = CRGB:: Purple; забавяне (250); FastLED.show (); Serial.print ("Червен пропуск"); Serial.print (i); Serial.println ("от 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; светодиоди [LastLed] = CRGB:: Черен; светодиоди [FirstLed] = CRGB:: Черен; забавяне (250); FastLED.show (); Serial.print ("Изключване на светодиода"); Serial.print (i); Serial.println ("от 8"); } FlagState = 2; // промяна на състоянието на флага} void RevLeds () {Serial.println ("обратно"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; светодиоди [LastLed] = CRGB:: Бял; светодиоди [FirstLed] = CRGB:: Бял; забавяне (750); FastLED.show (); Serial.print ("Бяла карта"); Serial.print (i); Serial.println ("от 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; светодиоди [LastLed] = CRGB:: Синьо; светодиоди [FirstLed] = CRGB:: Синьо; забавяне (250); FastLED.show (); Serial.print ("Синя карта"); Serial.print (i); Serial.println ("от 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; светодиоди [LastLed] = CRGB:: Лилаво; светодиоди [FirstLed] = CRGB:: Purple; забавяне (250); FastLED.show (); Serial.print ("Червен пропуск"); Serial.print (i); Serial.println ("от 8"); }
FirstLed = 8;
LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; светодиоди [LastLed] = CRGB:: Черен; светодиоди [FirstLed] = CRGB:: Черен; забавяне (250); FastLED.show (); Serial.print ("Изключване на светодиода"); Serial.print (i); Serial.println ("от 8"); } FlagState = 2; // промяна на състоянието на флага} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("задействан напред"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev задействана"); FlagState = 1; } Serial.println ("цикъл завърши изчакване"); }
Препоръчано:
Интерактивни частици: 8 стъпки
Интерактивни частици: Това е стъпка по стъпка ръководство за настройка на включената система за интерактивни частици. Това е доста напреднала система, която понякога може да бъде объркваща и се препоръчват известни познания в кодирането, Max MSP, Arduino и аудио/визуални настройки
Как да направите пътеки за частици в Minecraft: 8 стъпки
Как да направите пътеки за частици в Minecraft: Здравейте, днес ще ви покажа как да правите пътеки за частици в Minecraft
Интерактивни камбани за вятър: 4 стъпки (със снимки)
Интерактивни звънене на вятъра: Непрекъснати звънци е набор от увеличени звънци, които предлагат ескапистско изживяване, където вашето сътрудничество композира звуковия пейзаж. Тъй като няма вятър на закрито, камбаните изискват взаимодействие на публиката, за да ги почукате леко или да ги размахате и да насърчите/п
Ярки пътеки (преподаване на MST): 5 стъпки
Ярки пътеки (преподаване на MST): Целта на Bright Paths е да научи учениците за минималните обхващащи дървета (MSTs). Възел А е източникът и всички останали възли имат определено тегло (цена), за да стигнат до тях. Това учебно помагало показва тази цена чрез затъмняване на всеки възел, в зависимост от т
Интерактивни светещи гъби: 10 стъпки (със снимки)
Интерактивни светещи гъби: Тази инструкция ще ви покаже как да правите гъби, които ще светят на тъмно. Можете да изключите и включите отделни гъби, като натиснете горната част. Започнах този проект за училищна задача, където трябваше да създадем нещо с помощта на Arduin