Differences

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

Link to this comparison view

pm:prj2021:amocanu:maze_runner [2021/06/03 01:24]
catalin.stircu [Nume proiect]
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 =====
  
 <note tip> <note tip>
-Prezentarea pe scurt a proiectului vostru: +  ​acest proiect prezintă un robot ce caută să găsească ieșirea dintr-un labirint 
-  ​* ce face +  * scopul ​acestui proiect este rezolvarea oricărui labirint folosind regula de dreapta, adica robotul urmarește peretele drept până la finalul labirintului 
-  * care este scopul ​lui +  * mi-venit acesta idee de la concursurile de roboțunde se regăsește o categorie ce are ca scop crearea unui astfel de robot și am vrut să văd daca aș fi în stare să construiesc așa ceva 
-  * care fost ideea de la care aţpornit +  * utilitatea acestui proiect se regăsește în secreția ​de endorfină creată în urma construiri șperfecționării proiectului șîn concurarea cu alte persoane ​pentru ​a vedea al cărui robot rezolvă labirintul mai repede
-  * de ce credeţcă este util pentru alţii şi pentru ​voi+
 </​note>​ </​note>​
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<note tip> +==== Sumar implementare ====
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.+
  
-Exemplu ​de schemă bloc: http://www.robs-projects.com/​mp3proj/​newplayer.html+<note tip> 
 +Acest robot folosește doi senzori ​de distanță pentru a afla dacă este o cale liberă în partea din dreapta sau este un perete în față. În primul caz vrează spre dreapta, în al doilea, virează spre stânga. Direcția de mers a motoarelor ce controlează roțile este manipulată de driver-ul de motoare ce este mai departe controlat de plăcuța Arduino după codul din eaAcest robot mai are și funcția de start și stop ce poate fi accesată cu ajutorul modulului bluetooth ce poate fi controlat cu orice alt dispozitiv bluetooth
 </​note>​ </​note>​
 +==== Schemă bloc ====
  
 +{{ :​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 milisecundedupă 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 șsfârșitul funcției, după care setează motoarele să întoarcă înspre dreapta
-  ​mediu de dezvoltare (if any) (e.g. AVR StudioCodeVisionAVR) +  * Funcția turnLeft primește ca parametru un întreg x șapelează funcția walkForward pentru 150 de milisecunde la începutul șsfârșitul funcției, după care setează motoarele ​să întoarcă înspre stânga. 
-  * librării şsurse 3rd-party (e.gProcyon AVRlib) +  * Funcția spaceUntilFront întoarce disanța până la peretele din față. 
-  * algoritmi ş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 proiectuluisurse, 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>​
  
pm/prj2021/amocanu/maze_runner.1622672676.txt.gz · Last modified: 2021/06/03 01:24 by catalin.stircu
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