This is an old revision of the document!
Proiectul simuleaza o reprezentare de ceas cu uz casnic, afisand ora, temperatura din camera si putand fi programata o alarma pe o anumita ora in urmatoarele 24h.
La arduino va fi conectat prin Breadboard un ecran LCD pe care sunt afisate pe randuri diferite, ora, temperatura. De asemenea
print intermediul unui buton se va putea seta o alarma folosind un keypad pe care este introdusa ora la care se doreste alarma. Sunetul
alarmei va fi simulat printr-un buzzer conectat, de asemenea la breadboard. La fel si senzorii pentru temperatura
O librarie folosita pentru a beneficia de functii de scriere pe ecranul LCD este “LiquidCrystal.h” Pentru a incrementa secundele ceasului, folosesc intreruperi pe Timer-ul 1 al placutei Arduino, setand registrii corespunzatori in setup() pentru a obtine intrerupere la fiecare secunda. In rutina de intrerupere(ISR(TIMER1_COMPA_vect)), recalculez ora(minutele + secundele), la fiecare secunda scursa. Functia set_alarm() seteaza, la alegerea utilizatorului(de pe butoanele up, down, left, right) o ora la care buzzerul conectat la Arduino va simula un sunet de alarma. Functiile increase_hour/minutes, decrease_hour/minutes, raspund la apasari ale utilizatorului pe butoanele up, down, left, right dandu-i voie acestuia sa seteze o anumita ora pe ceas. La pinul A1 este conectat seonzorul de temperatura, de la care iau valoarea citita(analog) si o transform conform datasheet-ului in grade Celsius. La pinul A2 este conectat buzzer-ul care este pus sa produca o alarma ce dureaza 5 secunde(delay) atunci cand ora curenta(ora si minut) coincide cu ora alarmei.