Constantin-Cătălin CRĂIŢĂ (78320) - Alarm Clock
Autorul poate fi contactat la adresa: Login pentru adresa
Introducere
Proiectul este un ceas cu alarma programabil. Cu totii stim cat de greu este sa ne trezim dimineata…
Ceasul va putea fi setat cu mai multe alarme si va avea si binecunoscuta facilitate de “snooze”.
Descriere generală
Atunci cand o alarma este setata se va aprinde un LED pentru a semnala acest lucru.
Introducerea alarmei se va face prin intermediul unui keypad.
Pentru oprirea/amanarea alarmei voi folosi 2 butoane.
Ceasul va oferi feedback vizual prin intermediul unui LCD.
Alarma va fi redata desigur printr-un difuzor.
Hardware Design
Lista piese
Numar piese | Nume piesa | Specificatii |
1 | Placa de baza | Microcontroller ATMega324 |
1 | Modul real time clock | Clock module |
1 | Display | Display Nokia 5110 |
1 | Keypad | |
1 | Difuzor | |
2 | Butoane | |
1 | LED | |
? | Fire legatura | |
1 | Placa test | |
? | Rezistente | |
Software Design
Mediu de dezvoltare
Am folosit Notepad++ si Ubuntu on Windows pentru compilare mai usoara.
Librarii folosite
avr-nokia-5110
pwm-music
AVR-I2C
DS3231-RTC-AVR
keypad 4×4
Detalii implementare
Am folosit paradigma unui automat de stari in care se afla ceasul.
Sunt folosite structuri de control cum ar fi ceasul sistemului, melodii disponibile pentru alarma, alarme setate etc
Sistemul este unul asincron, predominand interactiunea prin intreruperi
Pentru updatarea timpului am folosit un intrerupere de overflow pe Timer0 care citeste timpul din RTC
De fiecare data cand se updateaza timpul se vede daca nu cumva trebuie dat trigger la sunarea unei alarme
Alarma suna de 3 ori si daca nu este oprita se va amana 1 minut.
Rezultate Obţinute
Concluzii
A fost o experienta frumoasa dar solicitanta.
Am aflat ca debug-ul poate fi mult mai greu atunci cand proiectul nu este exclusiv soft.
Cu toate acestea este mult mai rewarding decat o tema oarecare.
Download
Jurnal
Placa de baza (07.05.2018)
Lipire componente (15.05.2018)
Dezvoltare soft (18.05.2018 - 20.05.2018)
Bibliografie/Resurse
Documentația în format
PDF