This is an old revision of the document!
Smart Green Lamp
Introducere
Proiectul presupune crearea unei lămpi inteligente a cărei folosire să fie axată pe consumul eficient de energie.
Scopul proiectului este evident limitarea consumului de energie, într-o lume în care trecerea către energie regenerabilă se face oarecum lent. Este convingerea mea că fiecare mic consum de energie poate fi optimizat sau chiar limitat.
Ideea de la care am pornit este strâns legată de acest scop: pentru că recent a fost Ziua Pământului, m-am gândit la lucrurile mici pe care le pot face pentru planeta noastră, iar alegerea unui proiect verde, eco-friendly, poate fi unul dintre ele.
Consider că Smart Green Lamp este un proiect util, pentru că:
ar putea fi implementat la scară largă, inclusiv la nivel de oraș. Iluminatul stradal din România este destul de ineficient, și consumă multă electricitate chiar și atunci când nimeni nu este pe stradă. Un sistem bazat pe senzori de mișcare/distanță și folosirea orei de răsărit/apus ar putea schimba asta
dezvoltarea unui ceas digital care să reziste și să arate ora corectă peste luni, ani sau chiar zeci de ani este o provocare pentru mine, și aș vrea să îl fac cât mai durabil și robust posibil
aș putea să îi găsesc un loc și o utilitate inclusiv în propria casă
Știați că? La nivelul Uniunii Europene, orașele consumă ~20% din venitul lor pe iluminatul stradal. Folosirea unui sistem inteligent de iluminare ar putea reduce acest cost de 10 ori.
Descriere generală
Lampa inteligentă se aprinde la apus și se stinge la răsărit.
Ceasul digital arată ora curentă și data la care ne aflăm.
De asemenea, el este conectat la un senzor de distanță, și se activează doar în prezența unei persoane la mai puțin de 50 cm.
Suplimentar, Smart Green Lamp suportă comenzi precum “ON” pentru a aprinde lampa, “OFF” pentru a o stinge, “hh:mm:ss” pentru a seta ora, “dd/mm/yyyy” pentru a seta data sau “dd/mm/yyyy hh:mm:ss” pentru a seta atât ora, cât și data.
Hardware Design
Schemă electrică
Software Design
Pentru a scrie codul, m-am folosit de Arduino IDE și trei biblioteci: Wire, pentru modulul I2C, LiquidCrystal_I2C, pentru display-ul LCD, și RTClib, pentru modulul RTC.
Implementarea se bazează pe crearea unei baze de date cu orele de răsăsit și de apus din București calculate ca număr de minute de la miezul nopții (de exemplu, pentru a ține minte ora 7:51 se va memora 7 * 60 + 51 = 471). Acest fapt s-a realizat folosind keyword-ul PROGMEM, iar citirea elementelor din baza de date s-a făcut folosind funcția pgm_read_word_near().
Pentru a aprinde/stinge becul la apus/răsărit, Arduino verifică în loop() dacă ora curentă se află între ora de apus și de răsărit al zilei respective, și trimite un semnal către releu care pornește becul doar dacă acest lucru se întâmplă.
Pentru a arăta ora și data curentă, display-ul LCD comunică cu modulul RTC DS3231 de mare precizie și obține aceste date de la acesta. Acest lucru se facilitează în cod folosind un obiect de tip RTC_DS3231 și metoda acestuia now().
Și mai important, lumina de fond a afișajului LCD este activată sau dezactivată de aproprierea unei persoane, pentru a elimina consumul energetic inutil atunci când nimeni nu se află în preajmă.
Acest lucru este asigurat de către senzorul ultrasonic de măsurare a distanței HC-SR04+ care, atunci când cineva se apropie la o distanță mai mică de 50 cm, aprinde lumina de fond a ecranului LCD prin activarea metodei backlight(), și o stinge atunci când persoane se îndepărtează la o distanță mai mare de 50 cm, folosind funcția noBacklight().
În plus, Arduino ascultă pe interfața serială comenzi pentru aprinderea/stingerea lămpii inteligente, precum și pentru setarea orei și datei calendaristice.
Știați că? În momentul conectării codulul la Arduino, acesta preia data și timpul din calculatorul de pe care se încarcă codul și le transmite modulului RTC, folosind funcția rtc.adjust(DateTime(F(DATE), F(TIME))).
Rezultate Obţinute
Concluzii
Download
Jurnal
7 mai 2023: S-a creat pagina proiectului Smart Green Lamp, precum și documentația sa inițială, schema bloc și lista de piese necesare.
21 mai 2023: Am adăugat schema electrică și am conectat piesele conform acesteia.
Bibliografie/Resurse