Съдържание:

UCL-lloT-Външна светлина, задействана от изгрев/залез слънце .: 6 стъпки
UCL-lloT-Външна светлина, задействана от изгрев/залез слънце .: 6 стъпки

Видео: UCL-lloT-Външна светлина, задействана от изгрев/залез слънце .: 6 стъпки

Видео: UCL-lloT-Външна светлина, задействана от изгрев/залез слънце .: 6 стъпки
Видео: Джошуа Фор: Трюки памяти, на которые способен каждый 2024, Ноември
Anonim
UCL-lloT-Външна светлина, задействана от изгрев/залез слънце
UCL-lloT-Външна светлина, задействана от изгрев/залез слънце

Здравейте всички! С малко работа, някои части и код събрах тази инструкция, която ще ви покаже от началото до края как точно се произвежда тази външна светлина. Идеята произхожда от баща ми, който през лятото трябваше ръчно да излезе и да се преоблече, когато светлината беше включена. С бързо променящите се часове на залез и изгрев през цялата година той попита дали мога да намеря автоматизиран начин да го направя. И така ние сме тук. Сравнително малък проект.

Стъпка 1: IO списък и какво ще ви трябва

IO списък и какво ще ви трябва
IO списък и какво ще ви трябва
IO списък и какво ще ви трябва
IO списък и какво ще ви трябва
IO списък и какво ще ви трябва
IO списък и какво ще ви трябва

Arduino MEGA 2560. Това е най -малкото, което използвах, знам, че лесно можете да използвате друг.

DS3231 и неговата библиотека. (https://rinkydinkelectronics.com/library.php?id=73… Важно е да знаете, че щифтовете, зададени за SDA и SCL, са различни в зависимост от това кой Arduino използвате.

I052116 IR инфрачервен сензорен модул за детектор на движение. Този конкретен модул може да бъде заменен за вашия сензор по избор, честно казано не е задължителен за цялата работа.

Стъпка 2: Блок -схема

Блок -схема
Блок -схема

Както се вижда в простата блок-схема, голяма част от тежкото повдигане се намира в Node-Red. С относително прости възли идеята е, че от Node-Red ще посегнете към уебсайт, който знае в колко часа слънцето залязва и изгрява. След като го има, той ще изпрати информацията до Arduino, като го каже. От Arduino ще получим сигнал, който показва точно кога светлините действително са включени, за да можете да проверите от дома си точно когато светлините изгаснат. Също така от Arduino ще получим информация, че сензорът за близост е активиран, при което светлината е включена за период от време.

Стъпка 3: Фризиране

Фризиране
Фризиране

В сравнение с други проекти, окабеляването тук е доста просто. Това, което трябва да знаете, е, че ще ви е необходим WIFI модул, за да поддържате връзка със сървъра Node-Red, или да получите изхвърлящ компютър, който да хоства сървъра Node-Red на този, който е свързан с Arduino. На снимката не е показана връзката между Arduino и Laptop и предварително се извинявам за лошата картинка на Fritzing!

Стъпка 4: Кодиране

Кодиране
Кодиране
Кодиране
Кодиране

Ако има нещо, което открих, е, че с Firmata (за Arduino комуникация с Node-Red), библиотеката DS3231 и други, имаше много заредени библиотеки. Към момента на публикуване, кодирането не е съвсем завършено, така че е включен псевдокод.

В библиотеката от DS3231 има предварително зададени щифтове за всяка от дъските на Arduino, а в случая с Mega това са щифтове 20 и 21, тъй като те са SDA и SCL щифтове на мега. Веднъж включен, часовникът може да бъде посочен точно кой ден е и за какво трябва да следи. Това, което намерих за по -лесно да работя, когато става въпрос за проследяване на числа, е използването на int вместо низ. Това, което направих, е, че преобразувам числата на низ в int, но тъй като int не може да използва: за да отделя часовник, реших вместо това да направя нещо друго. Вместо да работим с часове, ще работим с минути. Много минути. Ако например часовникът е 13:21, ще разделя първите две цифри и ще ги синхронизирам с шестдесет. Вече сме на 801 минути, като 13 по 60 е равно на 780 и добавяте последните 21 минути. Ако нашият Node-Red казва, че слънцето залязва в 16:58 (в случай на зима), ние ще накараме външните светлини да се включат между 1018 минути и предварително определено време за изключване, което ще бъде 1380 (23:00). Ако нашият таймер е между тях, светлините се включват. Горната математика е основно цялата програма, без стъпките да накарате Node-Red да се свърже с Arduino и да комуникира. Също така ще се използва сензор, който гарантира, че светлините се включват (все пак минало слънце), но в противен случай това е цялата програма по-горе.

Стъпка 5: Node-Red

Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red

Не е особено голям поток, не че трябва да бъде в този случай. Първите 2 реда възли са голямата част от програмата. Използвайки функцията GET, ние извличаме днешната прогноза за това как слънцето ще изгрее и залезе. Оттам използваме CSS селектор за извличане на нашата конкретна информация, до която обикновено се влиза в уебсайт „Inspect Elements“във firefox, както е посочено на снимките. Имайте предвид, че не всички уебсайтове работят по този начин и този, който използвам, работи перфектно по този начин. Оттам той ще запише информация на пин 13, защото точно това съм го определил, макар че тестването тепърва предстои да определи дали един щифт да стигне до различни времена е работещ. Както е описано в частта за кодиране, информацията ще идва от Arduino до Node-Red, където след това ще бъде посочена на уебсайт за достъп, където човек може лесно да го провери. Ще имате нужда от Firmata за това, ако желаете да използвате функциите на Arduino придобити чрез библиотеката node-red-node-arduino на Node-Red. Въпреки че все още не е напълно настроен и ще бъде актуализиран, когато завърша проекта, прикачих кода за Node-Red Flow в текстов документ за лесен достъп.

Стъпка 6: Разгръщане и използване

Разгръщане и използване
Разгръщане и използване

И да завършим нашите инструкции, е практическата част от него. С малко къщи с това ниво на автоматична светлина, целогодишно решение е добре дошло при много собственици. За да свържете това всъщност с лампи, използващи електричество, което не е Arduino, не препоръчвам да го правите сами, освен ако не знаете какво точно правите. С приключването на проекта ще се справя с тази задача с помощта на електротехник, за да съм сигурен. Осветявайки алеята си чрез сензор или строго по време, препоръчвам да надградите това, което вече направих, ако искам всъщност да го използвам извън тази тестова фаза, в която се намира в момента. Повечето от проблемите ми с проекта бяха строго в частта Node-Red към Arduino и се надявам да обясня възможно най-ясно как това готово е.

Препоръчано: