This shows you the differences between two versions of the page.
pm:prj2021:apredescu:pov-display [2021/06/02 17:43] andrei.carapcea |
pm:prj2021:apredescu:pov-display [2021/06/02 22:50] (current) andrei.carapcea [Timer1 si modul de functionare] |
||
---|---|---|---|
Line 143: | Line 143: | ||
// input capture interrupt enable | // input capture interrupt enable | ||
- | TIMSK1 = (1 << ICIE1) | + | TIMSK1 = (1 << ICIE1); |
// enable output compare A match interrupt | // enable output compare A match interrupt | ||
- | TIMSK1 |= (1 << OCIE1A) | + | TIMSK1 |= (1 << OCIE1A); |
// timer overflow interrupt enable | // timer overflow interrupt enable | ||
TIMSK1 |= (1 << TOIE1); | TIMSK1 |= (1 << TOIE1); | ||
Line 157: | Line 157: | ||
Acum, pentru fiecare unghi din cele 64, se va intra pe ISR-ul TIMER1_COMPA_vect, unde se poate afisa starea curenta a LED-urilor si se poate incrementa indicele in vectorul de afisare. La final, se actualizeaza OCR1A pentru a genera o intrerupere la urmatorul unghi. | Acum, pentru fiecare unghi din cele 64, se va intra pe ISR-ul TIMER1_COMPA_vect, unde se poate afisa starea curenta a LED-urilor si se poate incrementa indicele in vectorul de afisare. La final, se actualizeaza OCR1A pentru a genera o intrerupere la urmatorul unghi. | ||
+ | De asemenea, am folosit un "frame buffer" pentru a afisa textul. Astfel, nu apar artefacte atunci cand se actualizeaza configuratia display-ului si se afiseaza o configuratie incompleta. | ||
Line 198: | Line 199: | ||
Cea mai dificila parte a proiectului este echilibrarea partii rotative, mai ales daca nu se foloseste un motor suficient de puternic. | Cea mai dificila parte a proiectului este echilibrarea partii rotative, mai ales daca nu se foloseste un motor suficient de puternic. | ||
+ | |||
+ | Posibilitati de extindere a proiectului: | ||
+ | * modul Bluetooth + aplicatie de mobil pentru configurarea modurilor de iluminare | ||
+ | * modul RTC pentru afisarea timpului in timp real | ||
+ | * folosirea unui sistem de transmisie a puterii wireless pentru a alimenta componentele de pe rotor | ||
===== Download ===== | ===== Download ===== | ||
- | PDF: https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/pov-display?do=export_pdf | + | PDF: |
+ | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/pov-display?do=export_pdf | ||
+ | |||
+ | Cod: | ||
+ | |||
+ | {{:pm:prj2021:apredescu:pm-pov-display.zip|}} | ||
===== Bibliografie ===== | ===== Bibliografie ===== | ||
[[http://www.techydiy.org/arduino-pov-display/| techydiy POV display]] | [[http://www.techydiy.org/arduino-pov-display/| techydiy POV display]] | ||
+ | |||
+ | [[https://ocw.cs.pub.ro/courses/_media/pm/atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf | Datasheet atmega328p]] |