Scopul proiectului este implementarea unei Smart Lamp care are mai multe functionaliti:
Sunt conectate in serie, folosind rezistente, la pinii 9 (RED), 10 (GREEN), 11 (BLUE) si la ground.
Sunt conectate la ground si la pinii 7 (butonul de on/off), 6 (butonul pentru schimbarea culorilor, folosind o serie de culori presetate), 5 (butonul care activeaza/dezactiveaza modul pentru muzica)
Acesta are 3 pini: ground (conectat la ground), vcc (conectat la pinul corespondent 5V de pe Arduino UNO) si out (conectat la A0, pin folosit pentru citire analogica a carui rezultat este folosit pentru a determina cand sa se aprinda/stinga lampa in functie de batai din palme si pentru a cicla prin culori in modul de muzica)
Acesta are 4 pini: ground (conectat la ground), vcc (conectat la pinul corespondent 5V de pe Arduino UNO), SDA (conectat la pinul corespondent, specific pentru acesta, A4 de pe Arduino UNO) si SCL(conectat la pinul corespondent, specific pentru acesta, A5 de pe Arduino UNO).
Pentru colorarea led-urilor in diferite culori si intensitati se foloseste analogWrite si pentru asta este folosita o functie setColorRGB care primeste ca parametri 3 valori pentru red, green, blue. Pinii corespunzatori red, green, blue sunt setati pe modul OUTPUT.
Pentru folosirea butoanelor si a functionalitatilor lor, pinii corespunzatori acestora sunt setati pe modul INPUT_PULLUP si se foloseste digitalRead.
Pentru modulul sonor cu microfon, pinul corespunzator A0 este setat pe modul INPUT. Exista cele doua moduri:
Pentru ceasul RTC se foloseste o biblioteca specifica numita RTClib.h care are diverse functii pentru data si ora. Pentru lampa inteligenta avem nevoie doar de functia pentru ora now.hour(), unde now este o variabila luata dintr-o structura specifica rtc. In functie de ora curenta se decide daca lampa se stinge sau se aprinde astfel:
Lampa inteligenta se aprinde/stinge singura in functie de un interval orar predefinit (poate fi setat din cod) si raspunde la batai din palme pentru a se atinge si stinge. Modul de muzica este foarte interesant, acesta poate fi activat din butonul de pe lampa. Per total, pentru un prim proiect sunt multumit.
Imagini cu rezultatul final:
Video cu prezentarea proiectului: https://www.youtube.com/watch?v=zJ9fyh92RpE
Proiectarea cu Microprocesoare este un domeniu atat pentru proiecte complexe cat si pentru proiecte micute, ce pot fi folosite in viata de zi cu zi, in principiu diverse automatizari pentru aparate relativ simpliste. Lampa inteligenta este un exemplu perfect de imbinare a acestei materii cu o utilitate rapida, dar interesanta si utila.
Arhiva contine: codul sursa, doua imagini si schematicul.