Мазмуну:

UCL-lloT-Тышкы жарык Күндүн чыгышы/күндүн батышы менен иштейт: 6 кадам
UCL-lloT-Тышкы жарык Күндүн чыгышы/күндүн батышы менен иштейт: 6 кадам

Video: UCL-lloT-Тышкы жарык Күндүн чыгышы/күндүн батышы менен иштейт: 6 кадам

Video: UCL-lloT-Тышкы жарык Күндүн чыгышы/күндүн батышы менен иштейт: 6 кадам
Video: Дүйнө чемпиондугун кайсы мамлекет жеңет? 🏆⚽ - Soccer Hero GamePlay 🎮📱 🇰🇬 2024, Ноябрь
Anonim
UCL-lloT-Тышкы жарык Күндүн чыгышы/күндүн батышы менен иштейт
UCL-lloT-Тышкы жарык Күндүн чыгышы/күндүн батышы менен иштейт

Баарына салам! Бир аз иштөө менен, кээ бир бөлүктөрү жана коддору мен бул көрсөтмөнү чогулттум, ал сизге башынан аягына чейин бул тышкы жарыкты кантип чыгарууну көрсөтөт. Бул идея атамдан келип чыккан, ал жай мезгилинде кол менен өчүп, жарык күйүп турганда өзгөрүшү керек болчу. Жыл бою батып бараткан күндүн батышы менен күндүн чыгышы менен, ал муну автоматташтырылган жолду таба алаарымды сурады. Ошентип, биз бул жердебиз. Салыштырмалуу чакан долбоор.

1 -кадам: IO тизмеси жана сизге эмне керек

IO тизмеси жана сизге эмне керек
IO тизмеси жана сизге эмне керек
IO тизмеси жана сизге эмне керек
IO тизмеси жана сизге эмне керек
IO тизмеси жана сизге эмне керек
IO тизмеси жана сизге эмне керек

Arduino MEGA 2560. Бул жок дегенде мен колдонгон нерсе, мен башкасын оңой колдоно алаарыңды билем.

DS3231 жана анын китепканасы. (https://rinkydinkelectronics.com/library.php?

I052116 IR Infrared Motion Detector Sensor Module. Бул конкреттүү модулду сиз каалаган сенсорго алмаштырууга болот, бул чындыгында бардык нерсе үчүн милдеттүү эмес.

2 -кадам: Flowchart

Flowchart
Flowchart

Жөнөкөй схемада көрүнүп тургандай, оор көтөрүүнүн көбү Node-Redде жайгашкан. Салыштырмалуу түйүндөр менен, идея Node-Redден сиз күндүн батышын жана чыгышын билүүчү вебсайтка кайрыласыз. Ал болгондон кийин, ал маалыматты Arduinoго жөнөтөт. Ардуинодон биз жарыктар качан күйүп турганын так көрсөткөн сигналды алабыз, ошондо сиз чырактар күйгөндө үйүңүздөн текшере аласыз., анда x убакыттын ичинде жарык күйгүзүлөт.

3 -кадам: Fritzing

Fritzing
Fritzing

Башка долбоорлорго салыштырмалуу бул жерде кабелдөө абдан жөнөкөй. Сиз билишиңиз керек, Node-Red сервери менен байланышты үзбөө үчүн WIFI модулу керек же Arduino менен туташкан Node-Red серверин жайгаштыруу үчүн ыргытуучу компьютерди алуу керек. Сүрөттө Arduino менен ноутбуктун байланышы көрсөтүлгөн эмес, мен Fritzingдин начар сүрөтү үчүн алдын ала кечирим сурайм!

4 -кадам: Коддоо

Coding
Coding
Coding
Coding

Эгерде мен тапкан бир нерсе бар болсо, анда Фирмата (Node-Red менен Arduino байланышы үчүн), DS3231 китепканасы жана башкалар, жүктөлгөн китепканалар көп болчу. Жарыяланган учурда, коддоо так аткарылган эмес, ошондуктан псевдокод киргизилген.

Китепканага DS3231ден Arduino такталарынын ар бири үчүн алдын ала орнотулган казыктар киргизилген, ал эми Мегада бул 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 селекторун колдонуп, конкреттүү маалыматыбызды алабыз, адатта сүрөттөрдө көрсөтүлгөндөй Firefoxтун "Элементтерин Текшерүү" вебсайттарына кирүүгө болот. Эске алчу нерсе, бардык веб -сайттар мындай иштебейт жана мен колдонгон сайттар ушинтип иштейт. Ал жерден ал 13 -пинге маалымат жазат, анткени мен муну белгилеп койгом, бирок тестирлөө ар кандай убакытка жетүү үчүн иштелип чыгышы керек. Коддоо бөлүгүндө сүрөттөлгөндөй, маалымат Arduino-дан Node-Redге келет, ал жерде жеткиликтүү веб-сайтта аны оңой текшерүүгө болот, эгер сиз Arduino функцияларын колдонууну кааласаңыз, бул үчүн Фирмата керек болот. Node-Red боюнча node-red-node-arduino китепканасы аркылуу алынган. Азырынча толугу менен орнотула элек болсо да, ал долбоорду бүтүргөнүмдө жаңыртылат, мен оңой жетүү үчүн тексттик документке Node-Red Flow кодун тиркеп койгом.

6 -кадам: жайылтуу жана колдонуу

Колдонуу жана жайылтуу
Колдонуу жана жайылтуу

Жана биздин көрсөтмө берүүнү бүтүрүү - анын практикалык бөлүгү. Автоматтык жарыктын мындай деңгээлине ээ болгон бир нече үйлөр менен, көптөгөн үй ээлери жыл бою чечимди кабыл алышат. Муну чынында Arduino эмес электр энергиясын колдонуп лампалар менен туташтыруу үчүн, эмне кылып жатканыңызды так билмейинче, аны өзүңүз жасоону сунуш кылбайм. Долбоор аяктагандан кийин, мен электриктин жардамы менен бул тапшырманы өз мойнума алам. Сиздин жолду сенсор аркылуу же убакыттын өтүшү менен жарыктандыруу, мен буга чейин кылган иштеримдин негизинде курууну сунуштайм. Мен аны чындыгында ушул тесттик фазанын чегинен тышкары колдонууну билдирем. Долбоор менен болгон көйгөйлөрүмдүн көбү Node-Redден Arduino бөлүгүндө болгон жана мен муну кантип мүмкүн болушунча ачык түшүндүрө алдым деп үмүттөнөм. жасалат.

Сунушталууда: