Cuprins:

UCL-lloT-Outdoor-light Declanșată de răsărit / apus: 6 pași
UCL-lloT-Outdoor-light Declanșată de răsărit / apus: 6 pași

Video: UCL-lloT-Outdoor-light Declanșată de răsărit / apus: 6 pași

Video: UCL-lloT-Outdoor-light Declanșată de răsărit / apus: 6 pași
Video: Kevin rates three of UCL’s most popular study spots 2024, Noiembrie
Anonim
UCL-lloT-Outdoor-light Declanșată de răsărit / apus
UCL-lloT-Outdoor-light Declanșată de răsărit / apus

Bună ziua tuturor! Cu un pic de muncă, câteva părți și cod am pus la punct acest instructabil care vă va arăta de la început până la sfârșit exact cum să produceți această lumină de exterior. Ideea a venit de la tatăl meu, care în timpul verii trebuia să se stingă manual și să se schimbe când lumina era aprinsă. Odată cu schimbarea rapidă a apusului și a răsăritului soarelui pe tot parcursul anului, el a întrebat dacă aș putea găsi o modalitate automată de a face acest lucru. Și așa suntem aici. Un proiect relativ mic.

Pasul 1: Lista IO și de ce veți avea nevoie

Lista IO și de ce veți avea nevoie
Lista IO și de ce veți avea nevoie
Lista IO și de ce veți avea nevoie
Lista IO și de ce veți avea nevoie
Lista IO și de ce veți avea nevoie
Lista IO și de ce veți avea nevoie

Arduino MEGA 2560. Este ceea ce am folosit cel puțin, știu că ai putea folosi cu ușurință altul.

DS3231 și biblioteca sa. (https://rinkydinkelectronics.com/library.php?id=73… Este important să știți că pinii setați pentru SDA și SCL sunt diferiți în funcție de Arduino pe care îl utilizați.

I052116 Modul senzor cu detector de mișcare cu infraroșu IR. Acest modul poate fi schimbat în funcție de senzorul ales, este sincer opțional pentru întregul lucru.

Pasul 2: organigramă

Diagrama de flux
Diagrama de flux

După cum se vede în diagrama simplă, o mare parte din greutățile mari se află în Node-Red. Cu noduri relativ simple, ideea este că de la Node-Red veți ajunge la un site web care știe la ce oră apune și răsare soarele. Odată ce le are, va trimite informațiile către Arduino spunându-i. De la Arduino vom primi un semnal care indică cu exactitate când sunt aprinse efectiv luminile, astfel încât să puteți verifica de acasă exact când luminile se aprind. De asemenea, de la Arduino vom primi informații că senzorul de proximitate a fost activat., care are lumina aprinsă pentru o perioadă de timp.

Pasul 3: Fritzing

Fritzing
Fritzing

Comparativ cu alte proiecte, cablarea este destul de simplă aici. Ce trebuie să știți este că veți avea nevoie de un modul WIFI pentru a păstra contactul cu serverul Node-Red sau de a obține un computer aruncat pentru a găzdui serverul Node-Red pe care este conectat la Arduino. Nu este afișată în imagine conexiunea dintre Arduino și laptop și îmi cer scuze în prealabil pentru biata imagine Fritzing!

Pasul 4: Codificare

Codificare
Codificare
Codificare
Codificare

Dacă am găsit un lucru este că, cu Firmata (pentru comunicarea Arduino cu Node-Red), biblioteca DS3231 și multe altele, au existat o mulțime de biblioteci încărcate. În momentul publicării, codarea nu este complet realizată, deci este inclus pseudo-cod.

Inclus în bibliotecă de pe DS3231 sunt pinii presetați pentru fiecare dintre plăcile Arduino, iar în cazul Mega este pinul 20 și 21, deoarece sunt pinii SDA și SCL de pe mega. Odată conectat, ceasului i se poate spune exact ce zi este și de ce ar trebui să țină evidența. Ceea ce am găsit că este mai ușor de lucrat atunci când vine vorba de urmărirea numerelor, este utilizarea int în loc de șir. Deci, ceea ce am făcut este că convertesc numerele unui șir în int, dar, deoarece int nu poate folosi: pentru a separa un ceas, am decis să fac altceva în loc. În loc să lucrez cu ore, vom lucra cu minute. O mulțime de minute. Dacă ceasul este 13:21, de exemplu, voi avea primele două cifre separate și cronometrate cu șaizeci. Acum suntem la 801 de minute, deoarece de 13 ori 60 este egal cu 780 și adăugați ultimele 21 de minute. Dacă nodul nostru roșu spune că soarele apune la 16:58 (în cazul iernii), obținem luminile exterioare să se aprindă între 1018 minute și un timp de oprire predefinit, care va fi 1380 (23:00). Dacă temporizatorul nostru este între acestea, luminile se aprind. Matematica de mai sus este, în principiu, întregul program, fără pașii necesari ca Node-Red să se conecteze la Arduino și să comunice. De asemenea, va avea un senzor care asigură faptul că luminile se aprind (trecutul de la soare în jos, oricum), dar în caz contrar acesta este întregul program de mai sus.

Pasul 5: Nod-roșu

Nod-roșu
Nod-roșu
Nod-roșu
Nod-roșu
Nod-roșu
Nod-roșu
Nod-roșu
Nod-roșu

Nu este un flux deosebit de mare, nu că ar trebui să fie în acest caz. Primele 2 rânduri de noduri sunt partea mare a programului. Folosind o funcție GET, recuperăm prognoza de astăzi cu privire la modul în care va răsări și apune soarele. De acolo folosim un selector CSS pentru a prelua informațiile noastre specifice, accesate de obicei pe un site web „Inspect Elements” de pe un firefox așa cum este indicat în imagini. Rețineți că nu toate site-urile web funcționează în acest fel și cel pe care îl folosesc se întâmplă să funcționeze perfect în acest fel. De acolo, va scrie informații la pinul 13, pentru că așa am desemnat-o, deși testarea nu trebuie să dicteze dacă este posibil ca un pin să ajungă la momente diferite. Așa cum este descris în partea de codare, informațiile vor veni de la Arduino la Node-Red, unde vor indica apoi pe un site accesibil unde se poate verifica cu ușurință. Veți avea nevoie de Firmata pentru acest lucru dacă doriți să utilizați funcțiile Arduino dobândit prin biblioteca node-red-node-arduino de pe Node-Red. Deși nu este încă configurat complet și va fi actualizat odată cu finalizarea proiectului, am atașat codul pentru Node-Red Flow într-un document text pentru acces ușor.

Pasul 6: Implementare și utilizare

Implementare și utilizare
Implementare și utilizare

Și pentru a termina instructabilul nostru, este partea practică a acestuia. Cu puține case care au acest nivel de lumină automată, o soluție pe tot parcursul anului este binevenită cu mulți proprietari de case. Pentru a conecta efectiv acest lucru la lămpi cu energie electrică care nu este un Arduino, nu vă recomand să o faceți singură decât dacă știți exact ce faceți. Odată ce proiectul s-a încheiat, îmi voi asuma această sarcină cu ajutorul unui electrician doar pentru a fi sigur. Iluminându-vă calea prin senzor sau strict în timp, vă recomand să vă bazați pe ceea ce am făcut deja dacă înseamnă să-l folosesc de fapt dincolo de această fază de test în care se află în prezent. Majoritatea problemelor mele cu proiectul au fost strict în partea Node-Red to Arduino și sper că am reușit să explic cât mai clar cum este gata.

Recomandat: