Proiect va implemnta un Ceas POV.
Autorul poate fi contactat la adresa: Login pentru adresa
Daca am gasit un proiect interesant pe care l-am vazut in anii anteriori, unul ca mi-a atras cu adevarat impresia, acela a fost ceasul rotativ bazat pe persistenta imaginii pe retina ochiului uman.
Astfel, ajuns in anul III, am decis sa implementez si eu unul.
Proiectul va cuprinde motorul unui cooler ca piesa principala, alimentat cu ajutorul unui convertor de tensiune de la priza.
Pe motor va fi montat un suport pe care vor fi prinse placa PM2017 si bateria(folosita de asemenea pe post de contragreutate).
Deasupra acestora, va fi montata o alta placa pe care sunt aliniate ledurile.
Componente folosite:
Schema electrica:
Etapele de realizare al proiectului:
Ca design software, am folosit 2 tipuri de intreruperi:
ISR(TIMER1_COMPA_vect) { s++; if (s == 60) { s = 0; m++; } if (m == 60) { m = 0; h++; } if (h == 24) { h = 0; } }
void print(int number) { int i; for (i = 0; i < 5; i++) { PORTA = (1 | digit[number][i] << 1); _delay_ms(1); } _delay_ms(1); } ISR(INT2_vect) { if (h < 10) { print(0); print(h); } else { print(h / 10); print(h % 10); } print(10); if (m < 10) { print(0); print(m); } else { print(m / 10); print(m % 10); } print(10); if (s < 10) { print(0); print(s); } else { print(s / 10); print(s % 10); } PORTA = 0x00; }
De asemenea, pentru stocarea numerelor (ca model de afisare pe POV), am folosit vectori de tipul:
// cifra "2" { 0b0000000, 0b0110001, 0b1001001, 0b1000101, 0b1000011, 0b0100001, 0b0000000 }
Durere de cap
Proiectul este foarte zgomotos, si greu de echilibrat.
Dar… rezultatele sunt uimitoare.
Arhiva ce contine codul folosit: paul_izot_332ca.zip