Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:vstoica:andrei.seceleanu02 [2024/09/04 19:56]
andrei.seceleanu02
pm:prj2024:vstoica:andrei.seceleanu02 [2024/09/04 21:42] (current)
andrei.seceleanu02
Line 24: Line 24:
 {{ :​pm:​prj2024:​vstoica:​andrei.seceleanu02:​whatsapp_image_2024-09-04_at_19.21.38.jpeg?​200 |}} {{ :​pm:​prj2024:​vstoica:​andrei.seceleanu02:​whatsapp_image_2024-09-04_at_19.21.39.jpeg?​200 |}} {{ :​pm:​prj2024:​vstoica:​andrei.seceleanu02:​whatsapp_image_2024-09-04_at_19.21.38.jpeg?​200 |}} {{ :​pm:​prj2024:​vstoica:​andrei.seceleanu02:​whatsapp_image_2024-09-04_at_19.21.39.jpeg?​200 |}}
  
 +</​note>​
 +
 +===== Hardware Design =====
 +
 +<note tip>
 +
 +Lista de piese folosite:
 +   ​*Arduino Uno (ATMega328PU microcontroller)
 +   ​*<​del>​3</​del>​ 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.
 +{{ :​pm:​prj2024:​vstoica:​andrei.seceleanu02:​image_2024-09-04_203506867.png?​300 |}}
  
 </​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|}}
pm/prj2024/vstoica/andrei.seceleanu02.1725469018.txt.gz · Last modified: 2024/09/04 19:56 by andrei.seceleanu02
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0