This is an old revision of the document!
Nume: Sandru Mihaela-Ilinca Grupa: 335CA
Tema proiectului reprezinta un ceas digital, care are posibilitatea de a-i seta un numar maxim de 4 alarme. Are optiunea de a-i configura ceasul si luminozitatea display-ului. In plus, ceasul afiseaza temperatura si umiditatea din camera, iar pentru anumite valori critice ale acestora se declanseaza pornirea unui umidificator alimentat prin usb-c.
Ideea a luat nastere de la niste cuburi de iluminat LED (Frekvens) cumparate de la Ikea. Animatiile facute pe baza muzicii nu erau pe placul meu. Prin urmare, am desfacut cutia si am descoperit ca fiecare led este comandat individual prin shift-registere.
Ceasul cu alarma este util pentru orice persoana. Un telefon din zilele noastre rezolva aceasta problema usor si rapid, dar ceasul meu ofera facilitati suplimentare si are un design deosebit.
In cadrul proiectului, folosesc 3 placi A-Star ATmega328PB, dispuse intr-o arhitectura de tipul Master-Slave-Slave sau CPU-GPU-GPU, intrucat cele 2 placi Slave se ocupa de partea de “desenare” pe matricea de led-uri, iar Masterul le comanda. Masterul comunica cu Slave-urile prin protocolul de comunicatie UART, iar Slave-urile comunica cu shift-registerele prin protocolul SPI simplex.
Pentru ca este vorba de un ceas, folosesc un modul extern RTC (Real Time Clock) pentru a tine evidenta timpului. Acest modul comunica cu Masterul prin protocolul I2C. Alarmele se configureaza prin intermediul butoanelor de pe spatele cuburilor Frekvens. La momentul setat, se va declansa o alarma prin difuzor. De asemenea, Masterul primeste informatii de la senzorul de temperatura si umiditate, iar la anumite valori critice ale acestora va porni umidificatorul prin intermediul mosfetului.
Lista de componente:
De pe placile cu leduri si shift-registere am scos chip-ul care le controla. Am pus cele 2 surse izolate de 3.3V si 5V si USB-C-urile in capacele cuburilor Frekvens, izoland astfel traseele de putere de cele de semnal. Pe placuta de prototipare am lipit cele 3 placi A-Star ATmega328PB, USBASP-ul si RTC si firele dintre ele si am plasat-o in cutia numarul 1 (stanga).
In cutia numarul 2 (dreapta) am adaugat difuzorul cu amplificatorul audio PAM8403 si mosfetul AO3400. Si am scos senzorul de temperatura si umiditate in afara cutiei.
Codul se bazeaza pe un automat de stari, conform diagramei de mai jos
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.