Useless Box
Seceleanu Andrei-Daniel
331CD
Introducere
Prezentarea pe scurt a proiectului vostru:
Descriere Generala
Robotul si actiunile lui sunt dupa cum urmeaza:
detectarea modificarii starii unui switch
sortarea switch-urilor in functie de distanta minima pe care robotul trebuie sa o parcurga.
actionarea servo-ului de rotatie care aliniaza pozitia bratului cu ce a switch-ului care trebuie lovit.
actionarea servo-ului care modifica pozitia bratului pentru lovirea switch-urilor.
capacul este ridicat de catre brat, fapt datorat formei custom a acestuia.
Hardware Design
Lista de piese folosite:
Arduino Uno (ATMega328PU microcontroller)
3 2 servomotoare MG995
6 Switch-uri On-On
cabluri de conectare
filament plastic pentru imprimanta
un buton
in diagrama apare si un pcb dar acela este doar pentru vizualizare.
bateria din diagrama este defapt in adapotor usb care se poate pune in priza sau se poate scoate cablul din adaptor si sa fie pus direct in laptop. In realitate a avut nevoie de 2 cabluri pentru ca nu aveam un adaptor cu putere destul de mare pentru arduino si pentru motoare.
Software Design
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:
Rezultate obtinute
Un robote haios care nu te lasa sa faci cum vrei tu.
Concluzii
Isi merita pe deplin numele de Useless Box
Download