This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:calendar_digital_cu_alarma [2021/06/03 12:48] alexandra.luca1611 [Hardware design] |
pm:prj2021:apredescu:calendar_digital_cu_alarma [2021/06/03 14:56] (current) alexandra.luca1611 [Download] |
||
|---|---|---|---|
| Line 19: | Line 19: | ||
| - Arduino UNO | - Arduino UNO | ||
| - | - Ecran LCD 1.8 SPI | + | - Ecran LCD 1.8 SPI ST7735s |
| - Breadboard | - Breadboard | ||
| - Fire | - Fire | ||
| Line 25: | Line 25: | ||
| - Buzzer | - Buzzer | ||
| + | === Schematic === | ||
| + | |||
| + | {{:pm:prj2021:apredescu:alexandraluca_schematic2.png?700|}} | ||
| ==== Software design ==== | ==== Software design ==== | ||
| + | |||
| + | * Pentru controlul ecranului LCD am folosit biblioteca Adafruit | ||
| + | * In functia de setup am afisat calendarul (luna, zilele saptamanii, zilele lunii). Tot aici am creat o animatie prin care zilele sunt inconjurate pe rand de dreptunghiuri galbene. Ziua curenta este inconjurata de un dreptunghi rosu. | ||
| + | * In bucla principala (loop) se afiseaza ora curenta (si folosesc un dreptunghi negru pentru a acoperi ora veche). Ora se preia folosind functia millis() si masurand cand au trecut cel putin 1000 de milisecunde de la ultima oara cand s-a updatat ora | ||
| + | * Daca secunda trece de 60 atunci se updateaza minutul, daca minutele trec de 60 se updateaza ora, daca ora trece de 24 se updateaza ziua. | ||
| + | * Buzzerul este folosit pentru a suna alarma (la ora 16:21:00). | ||
| + | * Pentru a forma melodia am folosit un array de note muzicale si un array de durate. Fiecare nota muzicala este cantata folosind tone(), dupa care se da delay pentru timpul de asteptare. | ||
| + | * Cu ajutorul a doua butoane se poate regla ceasul. Butonul galben creste minutul; butonul rosu creste ora; daca sunt apasate ambele in acelasi timp, atunci creste ziua curenta. | ||
| ==== Rezultate obtinute ==== | ==== Rezultate obtinute ==== | ||
| + | {{:pm:prj2021:apredescu:alexandraluca_rezultat.jpg?600|}} | ||
| ==== Concluzii ==== | ==== Concluzii ==== | ||
| + | Proiectul poate fi imbunatatit in continuare in urmatoarele moduri: | ||
| + | |||
| + | * Folosirea unui modul de ceas in timp real (RTC) pentru acuratete marita in masurarea orei | ||
| + | * Implementarea unui mod pentru reglarea alarmei | ||
| + | * Implementarea unui buton de snooze sau oprire a alarmei | ||
| ==== Download ==== | ==== Download ==== | ||
| - | Documentația în format <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> | + | * Documentația în format <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> |
| + | * Link la <html><a href="https://github.com/alexandra-luca/arduino-calendar-alarm-clock">repository Github</a></html> | ||
| + | * Link la <html><a href="https://github.com/alexandra-luca/arduino-calendar-alarm-clock/blob/main/video.mp4?raw=true">video</a></html> | ||
| ==== Bibliografie ==== | ==== Bibliografie ==== | ||
| - | https://ocw.cs.pub.ro/courses/pm | + | * https://ocw.cs.pub.ro/courses/pm - Documentatie PM |
| + | * https://www.electronics-lab.com/project/using-st7735-1-8-color-tft-display-arduino/ - Tutorial conectare display prin Adafruit | ||
| + | * http://roboprocodes.blogspot.com/2015/11/sketch-code-define-nb0-define-nc1.html - Tutorial melodie Stairway to Heaven folosind buzzerul | ||
| + | |||
| + | * https://github.com/adafruit/Adafruit-GFX-Library - Biblioteca Adafruit GFX | ||
| + | * https://github.com/adafruit/Adafruit_BusIO - Biblioteca Adafruit BusIO | ||
| + | * https://github.com/adafruit/Adafruit-ST7735-Library - Biblioteca Adafruit ST7735 | ||