Tartalomjegyzék:

UCL-lloT-Kültéri lámpa Napkelte/napnyugta hatására: 6 lépés
UCL-lloT-Kültéri lámpa Napkelte/napnyugta hatására: 6 lépés

Videó: UCL-lloT-Kültéri lámpa Napkelte/napnyugta hatására: 6 lépés

Videó: UCL-lloT-Kültéri lámpa Napkelte/napnyugta hatására: 6 lépés
Videó: 25 Путеводитель в Торонто Путеводитель 2024, November
Anonim
UCL-lloT-Kültéri lámpa Napkelte/napnyugta hatására
UCL-lloT-Kültéri lámpa Napkelte/napnyugta hatására

Üdv mindenkinek! Egy kis munkával, néhány alkatrésszel és kóddal összeállítottam ezt az útmutatót, amely az elejétől a végéig pontosan megmutatja, hogyan kell előállítani ezt a kültéri lámpát. Az ötlet apámtól származott, akinek a nyár folyamán manuálisan kellett kialudnia és átöltöznie, amikor világított. Az egész évben gyorsan változó napnyugta és napfelkelte idején megkérdezte, találok -e erre automatizált módszert. És így itt vagyunk. Viszonylag kis projekt.

1. lépés: IO lista és mire lesz szüksége

IO lista és mire lesz szüksége
IO lista és mire lesz szüksége
IO lista és mire lesz szüksége
IO lista és mire lesz szüksége
IO lista és mire lesz szüksége
IO lista és mire lesz szüksége

Arduino MEGA 2560. Legalábbis ezt használtam, tudom, hogy könnyen használhat másikat is.

DS3231 és ez a könyvtár. (https://rinkydinkelectronics.com/library.php?id=73 … Fontos tudni, hogy az SDA és az SCL számára beállított csapok eltérőek attól függően, hogy melyik Arduino -t használja.

I052116 IR infravörös mozgásérzékelő érzékelő modul. Ez a modul cserélhető a választott érzékelőre, őszintén választható az egészhez.

2. lépés: Folyamatábra

Folyamatábra
Folyamatábra

Amint az az egyszerű folyamatábrán látható, a nehéz emelés nagy része a Node-Red-ben található. Viszonylag egyszerű csomópontok esetén az ötlet az, hogy a Node-Red-től egy olyan webhelyet ér el, amely tudja, hogy a nap mikor nyugszik le és kel fel. Amint megvan, elküldi az információt az Arduino -nak. Az Arduino -tól olyan jelet fogunk kapni, amely pontosan jelzi, amikor a lámpák ténylegesen be vannak kapcsolva, így otthonról ellenőrizheti, amikor a lámpák kiégnek. Az Arduino -tól is kapunk információt arról, hogy a közelségérzékelő aktiválva van, amelyen a lámpa x ideig felkapcsol.

3. lépés: Fritzing

Fritzing
Fritzing

Más projektekhez képest a kábelezés itt meglehetősen egyszerű. Amit tudnia kell, hogy WIFI modulra lesz szüksége, hogy kapcsolatot tartson a Node-Red szerverrel, vagy szerezzen egy eldobható számítógépet az Arduino-hoz csatlakoztatott Node-Red szerver fogadására. A képen nem látható az Arduino és a Laptop közötti kapcsolat, és előre is elnézést kérek a gyenge Fritzing képért!

4. lépés: Kódolás

Kódolás
Kódolás
Kódolás
Kódolás

Ha valamit megtudtam, az az, hogy a Firmata (Arduino kommunikáció a Node-Red-el), a DS3231 könyvtár és egyebek mellett sok betöltött könyvtár volt. A közzététel óta a kódolás nem teljesen kész, így az álkód is benne van.

A DS3231 könyvtárában megtalálhatók az egyes Arduino táblákhoz előre beállított csapok, a Mega esetében pedig a 20. és 21. érintkező, mivel ezek a mega SDA és SCL csapjai. Ha csatlakoztatta, az óra pontosan meg tudja mondani, hogy milyen nap van, és mit kell követnie. Amit könnyebbnek találtam a számok nyomon követésében, az int használata a karakterlánc helyett. Tehát azt tettem, hogy egy karakterlánc számát int -vé alakítom át, de mivel az int nem használható: az óra elválasztásához úgy döntöttem, hogy valami mást csinálok. Ahelyett, hogy órákkal dolgoznánk, dolgozni fogunk percekkel. Sok perc. Ha például az óra 13:21, akkor az első két számjegyet elválasztom és hatvanra időzítem. Most 801 percnél tartunk, mivel 13 -szor 60 egyenlő 780 -mal, és hozzáadja az utolsó 21 percet. Ha a Node-Red szerint a nap lemegy 16:58 órakor (tél esetén), akkor a kültéri lámpákat 1018 perc és az előre meghatározott kikapcsolási idő között kell bekapcsolni, ami 1380 (23:00) lesz). Ha az időzítőnk ezek között van, a lámpák felkapcsolnak. A fenti matematika alapvetően a teljes program, anélkül, hogy a Node-Red-t az Arduino-hoz csatlakoznánk és kommunikálnánk. Ezenkívül olyan érzékelőt is használnak, amely biztosítja, hogy a lámpák bekapcsoljanak (mindenesetre a múltbeli naplemente), de egyébként ez a fenti program.

5. lépés: Node-Red

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

Nem különösebben nagy áramlás, nem pedig az, hogy ebben az esetben annak kell lennie. Az első 2 sor csomópont a program nagy része. A GET funkció használatával lekérjük a mai előrejelzést arról, hogyan kel fel és nyugszik le a nap. Innen egy CSS -választót használunk a specifikus információink lekéréséhez, amelyek általában egy "Inspect Elements" webhelyen érhetők el egy firefoxon, ahogy a képeken is látható. Ne feledje, hogy nem minden webhely működik így, és az általam használt webhely tökéletesen így működik. Innentől kezdve információkat fog írni a 13 -as érintkezőbe, mert ezt jelöltem ki, bár a tesztelés még nem diktálja meg, hogy egy tű különböző időpontokba való -e. Amint azt a kódolási részben leírtuk, az Arduino-tól a Node-Red-ig érkeznek információk, ahol egy hozzáférhető webhelyen jelzik, ahol könnyen ellenőrizhető. Firmata szükséges ehhez, ha használni szeretné az Arduino funkciókat a csomópont-vörös-csomópont-vörös-csomópont-arduino könyvtáron keresztül szerezte be. Bár még nincs teljesen beállítva, és a projekt befejezésekor frissítésre kerül, a könnyű hozzáférés érdekében egy szöveges dokumentumban csatoltam a Node-Red Flow kódját.

6. lépés: Telepítés és használat

Telepítés és használat
Telepítés és használat

És hogy befejezzük az oktathatót, ez a gyakorlati része. Mivel kevés ház rendelkezik ilyen szintű automatikus világítással, sok háztulajdonos örvend az egész éves megoldásnak. Annak érdekében, hogy ezt valóban olyan elektromos lámpákkal kösse össze, amelyek nem Arduino -k, nem javaslom, hogy saját maga csinálja, kivéve, ha pontosan tudja, mit csinál. A projekt befejeztével egy villanyszerelő segítségével vállalom ezt a feladatot, hogy biztos lehessek benne. Ha felhajtja az úttestet érzékelővel vagy szigorúan időbeli szempontból, azt javaslom, hogy építsen arra, amit már tettem, ha azt jelenti, hogy valójában a tesztfázison túl kell használni, amely jelenleg van. A projektemmel kapcsolatos legtöbb bajom szigorúan a Node-Red-Arduino részben volt, és remélem, hogy a lehető legegyértelműbben sikerült elmagyaráznom, hogyan kész.

Ajánlott: