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]] | ||