Roxana-Elena BĂLĂŞOIU (78360) - Ceas cu alarma

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Scopul acestui proiect este de a crea un ceas cu alarma care poate fi programat sa sune la o anumita ora. Pe langa aceasta functionalitate voi folosi si un senzor de temperatura pentru a indica pe display, pe langa ora si data curenta si temperatura ambientala. Consider ca fiecare dintre noi are nevoie de o alarma pentru a se trezi dimineata, iar senzorul de temperatura te poate ajuta sa reglezi o temperatura optima in camera pentru a avea un somn linistit si odihnitor.

Descriere generală

Pentru a seta alarma voi folosi 2 butoane, unul pentru reglarea orei si unul pentru reglarea minutelor. Cand se ajunge la ora dorita se va apasa un buton de confirmare alarma. Cand alarma este declansata poate fi oprita prin apasarea unui alt buton.

Schema bloc

Hardware Design

Lista piese

Nume piesa Specificatii
Placa de baza Microcontroller ATMega324
Modul RTC de precizie Modul Ceas in timp real DS3231
Display Display Nokia 5110
Senzor temperatura Modul Senzor de Temperatură DHT11 cu LED
Buzzer pasiv
Butoane
Rezistente
Fire mama-tata, mama-mama
Placa de prototipare

Schema electrica

Software Design

Descrierea codului aplicaţiei (firmware):

Mediu de dezvoltare:

  • AtmelStudio
  • Git Bash

Librării folosite:

  • avr-nokia-5110
  • avr-dht11
  • avr-rtc-3231
  • avr-i2c

Implementare:

  • Pentru functionalitatea de baza a proiectului, ceasul, am folosit o biblioteca speciala pentru RTC prin intermediul careia am setat ceasul la o anumita ora. Aceasta foloseste comunicatia seriala prin I2C. Datorita bateriei RTC-ului, odata setata ora, aceasta se va pastra si la intreruperea alimentarii placutei.
  • Ceasul ofera doua functionalitati de baza: setare ora si setare alarma. Pentru implementarea acestora am folosit intreruperi pe butoane.
  • Ceasul mai afiseaza pe langa ora curenta si data, temperatura si umiditatea. Pentru a determina temperatura si umiditatea am preluat datele de la un senzor.
  • Alarma este setata prin intermediul a doua butoane: unul incrementeaza ora si unul incrementeaza minutele, iar cand ora este cea dorita se apasa un buton de confirmare alarma.
  • Pentru a determina cand trebuie sa sune ceasul am realizat verificari in bucla principala a programului. Daca ora este cea setata buzzer-ul incepe sa sune si se opreste doar atunci cand se apasa butonul de oprire alarma.
  • De asemenea, prin apasarea unui alt buton se poate amana alarma cu un numar de minute introdus de utilizator.
  • Ceasul mai ofera si posibilitatea de alegere a unui ton de alarma, in implementarea careia am folosit un timer pentru PWM.

Rezultate Obţinute

In urma implementarii acestui proiect am reusit sa obtin un ceas cu alarma, care poate fi setat sa sune la o anumita ora si care poate fi reglat. De asemenea, prin intermediul unui senzor de temperatura am determinat temperatura ambientala si umiditatea. Pe display am afisat ora curenta, data, temperatura si umiditatea.

Concluzii

Realizarea acestui proiect a fost o experienta interesanta, mai ales datorita faptului ca a trebuit sa realizam noi si partea de hardware. Pe viitor mi-as dori sa imbunatatesc acest proiect cu noi functionalitati.

Download

Jurnal

  • 16-22 aprile: Alegere tema proiect
  • 30 aprilie-6 mai: Realizare schema electrica si lipire componente de baza
  • 13-15 mai: Realizare parte hard proiect
  • 19-21 mai: Implementare parte software proiect
  • 23 mai: Realizare documentatie finala

Bibliografie/Resurse

pm/prj2018/ipopescu/alarm_clock.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0