This shows you the differences between two versions of the page.
|
pm:prj2024:vstoica:andrei.seceleanu02 [2024/09/04 20:41] andrei.seceleanu02 |
pm:prj2024:vstoica:andrei.seceleanu02 [2024/09/04 21:42] (current) andrei.seceleanu02 |
||
|---|---|---|---|
| Line 43: | Line 43: | ||
| </note> | </note> | ||
| + | ===== Software Design ===== | ||
| + | <note tip> | ||
| + | Descrierea codului din aplicatie | ||
| + | *Pentru switch-uri am activat toti pinii de pe PORTC pe input. | ||
| + | *Am activat rezistentele interne de pull-up si am dat enable la intreruperi pe pinii respectivi | ||
| + | *Am setat o rutine de intreruperi pentru pinii respectivi si de fiecare data cand este o modificare pe unul dintre ei, valorile lor sunt citite din registrii si sunt pusi intr-un vector care retine starile pinilor. Acestia dupa sunt pusi intr-o coada sortata care ne da traseul/ordinea in care switch-urile trebuiesc oprite. | ||
| + | *Algoritmul de sortare a vectorului este unul pentru rezolvarea TSP (problema comis-voiajorului) modificat pentru aplicatia curenta. Acesta sorteaza switch-urile care trebuie apasate in ordinea care minimizeaza drumul pe care trebuie sa il traverseze robotul. | ||
| + | *Folosesc un timer pentru a determina comportamentul robotului in starea de idle. | ||
| + | *Motoarele sunt controlate prin PWM. | ||
| + | |||
| + | Librarii aditionale foloite: | ||
| + | *Servo -> pentru a controla mai usor motoarele | ||
| + | *Avr -> in rest | ||
| + | |||
| + | </note> | ||
| + | |||
| + | ===== Rezultate obtinute ===== | ||
| + | |||
| + | Un robote haios care nu te lasa sa faci cum vrei tu. | ||
| + | |||
| + | ===== Concluzii ===== | ||
| + | |||
| + | Isi merita pe deplin numele de Useless Box | ||
| + | |||
| + | |||
| + | ===== Download ===== | ||
| + | {{:pm:prj2024:vstoica:andrei.seceleanu02:useless_box.zip|}} | ||