Cuprins:
- Pasul 1: Lista IO și de ce veți avea nevoie
- Pasul 2: organigramă
- Pasul 3: Fritzing
- Pasul 4: Codificare
- Pasul 5: Nod-roșu
- Pasul 6: Implementare și utilizare
Video: UCL-lloT-Outdoor-light Declanșată de răsărit / apus: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
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
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ă
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
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
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
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
Ș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:
Captură de imagine declanșată de mișcare și e-mail: 6 pași
Captură de imagine declanșată de mișcare și e-mail: Ne bazăm pe proiectele anterioare ESP32-CAM și construim un sistem de captare a imaginilor declanșat de mișcare, care trimite, de asemenea, un e-mail cu imaginea ca atașament. Această versiune folosește placa ESP32-CAM împreună cu un modul senzor PIR bazat pe AM312
Ceas cu alarmă de răsărit (îmbunătățiți starea de veghe dimineața): 13 pași
Sunrise Alarm Clock (Îmbunătățește starea de veghe de dimineață): Programează-ți propriul răsărit personal, îmbunătățește starea de veghe de dimineață Ultima invenție aleatorie, programează-ți propriul răsărit de soare! . Lumina albastră
Ceas cu alarmă de răsărit cu Arduino: 9 pași (cu imagini)
Sunrise Alarm Clock With Arduino: Iarna poate fi tristă. Te trezești, e întuneric și trebuie să te ridici din pat. Ultimul lucru pe care doriți să-l auziți este sunetul sonor al ceasului cu alarmă. Locuiesc în Londra și mi-e greu să mă trezesc dimineața. De asemenea, mi-e dor să mă trezesc pentru
Ceas cu alarmă cu răsărit cu LED cu alarmă de melodie personalizabilă: 7 pași (cu imagini)
Ceas cu alarmă cu răsărit cu LED cu alarmă de melodie personalizabilă: motivația mea În această iarnă, iubita mea a avut multe probleme la trezire dimineața și părea să sufere de SAD (tulburare afectivă sezonieră). Ba chiar observ cât de greu este să te trezești iarna, deoarece soarele nu a venit
O lampă de răsărit și apus cu LED-uri: 7 pași (cu imagini)
O lampă de răsărit și apus de soare cu LED-uri: Știți, în timpul iernii este greu să vă ridicați, pentru că este întuneric afară și corpul dvs. tocmai nu va trezi în mijlocul nopții. Deci, puteți cumpăra un ceas cu alarmă care vă trezește cu lumină. Aceste dispozitive nu sunt la fel de scumpe ca puține