This shows you the differences between two versions of the page.
pm:prj2021:amocanu:maze_runner [2021/06/03 02:19] catalin.stircu [Descriere generală] |
pm:prj2021:amocanu:maze_runner [2021/06/03 10:04] (current) catalin.stircu [Autor] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Maze Runner ====== | ====== Maze Runner ====== | ||
+ | |||
+ | ===== Autor ===== | ||
+ | [[catalin.stircu@stud.acs.upb.ro|Cătălin STÎRCU]] | ||
+ | |||
===== Introducere ===== | ===== Introducere ===== | ||
Line 17: | Line 21: | ||
==== Schemă bloc ==== | ==== Schemă bloc ==== | ||
- | {{ :pm:prj2021:amocanu:schema_bloccs.jpg?900 |}} | + | {{ :pm:prj2021:amocanu:schema_bloccs.jpg?500 |}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | + | ==== Listă de componente ==== |
- | Aici puneţi tot ce ţine de hardware design: | + | * Placă Arduino Nano |
- | * listă de piese | + | * Senzori de distanță HCSR04 x2 |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | * Baterii 9V x2 |
- | * diagrame de semnal | + | * Driver Bluetooth HC-05 |
- | * rezultatele simulării | + | * Driver de motoare L298N |
- | </note> | + | * Motoare x2 |
+ | ==== Schemă electrică ==== | ||
+ | {{ :pm:prj2021:amocanu:circuitcs.jpg?500 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Mediu de dezvoltare: Arduino IDE | ||
- | <note tip> | + | * Funcția walkForward primește ca parametru un întreg x și setează motoarele pentru a merge înainte timp de x milisecunde, după care le setează să se oprească timp de 50 de milisecunde. |
- | Descrierea codului aplicaţiei (firmware): | + | * Funcția turnRight primește ca parametru un întreg x și apelează funcția walkForward pentru 150 de milisecunde la începutul și sfârșitul funcției, după care setează motoarele să întoarcă înspre dreapta. |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Funcția turnLeft primește ca parametru un întreg x și apelează funcția walkForward pentru 150 de milisecunde la începutul și sfârșitul funcției, după care setează motoarele să întoarcă înspre stânga. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * Funcția spaceUntilFront întoarce disanța până la peretele din față. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * Funcția spaceUntilRight întoarce disanța până la peretele din dreapta. |
- | * (etapa 3) surse şi funcţii implementate | + | * Funcția setup setează starea pinilor. |
- | </note> | + | * Funcția loop așteaptă semnalul de start din partea driver-ului de bluetooth, iar când îl primește testează să vadă dacă mai este distanță până la peretele din față, în caz contrar întoarce înspre stânga, iar dacă mai este testează dacă este un perete în dreapta, dacă este robotul o ia înainte, altfel o ia la dreapta, testând mereu dacă are loc în față și dacă trebuie să se oprească din cauza semnalului primit prin bluetooth. |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | {{ :pm:prj2021:amocanu:ardu1.jpg?400 |}} | ||
+ | {{ :pm:prj2021:amocanu:1622683305489.jpg?400 |}} | ||
+ | {{ :pm:prj2021:amocanu:1622683305505.jpg?400 |}} | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Link youtube |
+ | https://www.youtube.com/watch?v=GfzTKmOlQQE | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Deși proiectul a ieșit destul de bine, se puteau face mai multe îmbunătățiri: | ||
+ | * În primul rând nu este nicio modalitate concretă de a îi spune robotului să se întoarcă 90 de grade | ||
+ | * În al doilea rând, cauciucurile sunt de proastă calitate și au probleme pe anumite tipuri de teren | ||
+ | * În al treilea rând, senzorii sunt de proastă calitate, unul dintre ei s-a defectat, noroc că aveam unul de rezervă, distanța nu este exactă, iar uneori este mult mai mare | ||
+ | * Nu există nicio cale de calcul a distanței parcurse, deci nu se poate face un algoritm care să repete traseul, fără a folosi senzorii pentru a doua parcurgere de labirint | ||
+ | * Senzorul bluetooth trebuia pus împreună cu un buton, pentru a nu fi nevoie să fie deconectat de fiecare dată când trebuie încărcat codul | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2021:amocanu:mazerunner.zip|}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | ===== Bibliografie/Resurse ===== |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | <note> |
- | </note> | + | https://create.arduino.cc/projecthub/electropeak/getting-started-with-hc-05-bluetooth-module-arduino-e0ca81 |
- | ===== Jurnal ===== | + | https://create.arduino.cc/projecthub/ryanchan/how-to-use-the-l298n-motor-driver-b124c5 |
- | <note tip> | + | https://create.arduino.cc/projecthub/abdularbi17/ultrasonic-sensor-hc-sr04-with-arduino-tutorial-327ff6 |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
- | + | ||
- | ===== Bibliografie/Resurse ===== | + | |
- | + | ||
- | <note> | + | |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||