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