Differences

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

Link to this comparison view

pm:prj2021:apredescu:linefollower [2021/06/01 21:42]
monica.pricope [Download]
pm:prj2021:apredescu:linefollower [2021/06/02 13:09] (current)
monica.pricope [Software Design]
Line 24: Line 24:
 | Breadboard | https://​cleste.ro/​breadboard-mini-170-puncte.html | | Breadboard | https://​cleste.ro/​breadboard-mini-170-puncte.html |
  
 +**Schema:**
 + 
 {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_schema.jpg?​800|}} {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_schema.jpg?​800|}}
 +
 +Alimentare
 +  * Robotelul este alimentat de o baterie de 9V. Am folosit si un switch pentru a porni si opri robotelul.
 +
 +Conectare Modul cu driver L298N 
 +  * Acesta este alimentat cu 9V de la baterie si asigura alimentarea placutei Arduino cu 5V. 
 +  * Cele doua motoare sunt conectate la modul la cei 4 pini de output. Iar pinii de input sunt legati la pinii placutei Arduino. ​
 +  * Folosesc si pinii pentru controlul vitezei (ENA si ENB) conectati la pinii 10, respectiv 9 ai placutei. ​
 +
 +Conectare Senzori IR 
 +  * Cei doi senzori au conectati pinii de GND si VCC la GND si 5V de pe Arduino. Si pentru a citi valorile de la senzori, pinii D0 sunt conectati la pinii placutei (senzorul din dreapta la 8 si cel din stanga la 12).
 +
 +Conectare Senzor HC-SR04
 +  * Senzorul are conectati pinii de GND si VCC la fel ca senzorii IR, iar pinul de trig la pinul 7 si pinul de echo la pinul 6.
 +
 ===== Software Design ===== ===== Software Design =====
 Pentru partea software am folosit mediul de dezvoltare Arduino. Pentru partea software am folosit mediul de dezvoltare Arduino.
  
-Senzorii IR pozitionati in partea din fata a robotelului (unul in dreapta, celalalt in stanga) au rolul de a detecta linia neagra ​si de a regla pozitia robotelului+== Functionare == 
 +  
 +Pinii folositi ​si variabilele sunt declarate si initializate la inceputul programului
  
-Cele doua motoarea ​sunt controlate cu ajutorul modulului cu driver, ce are cei 4 pini de input conectati la placuta, iar pinii de output ​la motoare. ​+In setup() ​sunt setati 
 +  * pinii de input (pinii senzorilor IR si echo pinul senzorului HC-SR04)  
 +  * pinii de output ​(pinii ce controleaza motoarele, vitezele motoarelor si trig pinul senzorului HC-SR04)
  
-Astfel in functie de informatiile primite de la cei doi senzori ​se schimba valorile acestor ​pini, corespunzatori motoarelor astfel incat robotelul ​sa mearga ​inainte, sa vireze ​la dreapta daca senzorul din dreapta a detectat linia, sa vireze ​la stanga daca senzorul din stanga a detectat linia si sa se opreasca ​atunci cand ambii senzori detecteaza linia. ​Pentru aceste 4 situatii am implementat 4 functii care sunt apelate corespunzator+In loop() 
 +  * La inceput se masoara distanta la care detecteaza senzorul HC-SR04 un obstacol. Si se citesc valorile senzorilor IR. 
 +  * In functie de valorile celor doi senzori ​IR apar situatii:  
 +  - robotelul ​merge inainte ​daca senzorii nu au detectat linia  
 +  - robotelul vireaza ​la dreapta daca senzorul din dreapta a detectat linia 
 +  - robotelul vireaza ​la stanga daca senzorul din stanga a detectat linia 
 +  - robotelul ​se opreste ​atunci cand ambii senzori detecteaza linia. 
 +  * Se verifica daca in fata se afla un obiect la o distanta mai mica de stop_distance. Daca se detecteaza un obstacol, robotelul se va misca putin in spate, se va intoarce pana cand detecteaza din nou linia si va continua deplasarea pe traseu
  
-Pe langa cei doi senzori IR, folosesc ​si un senzor HC-SR04 pentru a detecta daca sunt obstacole in fata. Se verifica daca in fata se afla un obiect la o distanta mai mica de stop_distance. Daca se detecteaza un obstacol, ​robotelul se va misca putin in spate si se va intoarce ​reluandu-si traseul+Functiile turnWhenObstacleLeft() ​si turnWhenObstacleRight()  
 +  * La apelul lor robotelul se deplaseaza ​putin in spate, se opreste ​si se intoarce ​revenind la traseu.  
 + 
 +Functiile backward(), forward(), turnLeft(), turnRight() ​si endStop() 
 +  * Se seteaza viteza cu care se va realiza miscarea si se schimba valorile pinilor corespunzatori motoarelor.
  
-Cu ajutorul modulului cu driver controlez si viteza cu care se deplaseaza robotelul: atunci cand merge inainte sau inapoi, cand vireaza sau cand se intoarce. 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 44: Line 75:
 {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_img3.jpg?​500|}} {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_img3.jpg?​500|}}
 {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_img4.jpg?​500|}} {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_img4.jpg?​500|}}
 +
 +  * Demo: https://​youtu.be/​X-Zy_u4X1ek
  
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +A fost prima oara cand am lucrat la un proiect hardware. Am intampinat cateva dificultati la lucrul cu senzorii IR, dar am rezolvat destul de repede prin reglarea potentiometrului acestora asftel incat sa detecteze corect linia neagra. In concluzie, a fost un proiect interesant, a fost placut sa lucrez la el si sunt multumita de rezultatul final. ​
 ===== Download ===== ===== Download =====
   * Documentația în format: <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html>​   * Documentația în format: <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html>​
-  * Cod sursa: {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_cod.zip|}}+  * Cod sursa: {{:​pm:​prj2021:​apredescu:​pricope_monica_331cc_codsursa.zip|}} 
 +===== Jurnal ===== 
 + 
 +  * 25-04 : alegere tema si creare pagina wiki 
 +  * 11-05 – 17-05 : comandat piese  
 +  * 21-05 – 23-05 : asamblare hardware, implementarea componentei software si testare  
 +  * 26-05 – 27-05 : construire pista si adaugarea optiunii de detectare obstacole 
 +  * 28-05: finalizare proiect (pagina de wiki + demo)  
 ===== Bibliografie ===== ===== Bibliografie =====
   * Conectare senzor HC-SR04: https://​create.arduino.cc/​projecthub/​Isaac100/​getting-started-with-the-hc-sr04-ultrasonic-sensor-036380   * Conectare senzor HC-SR04: https://​create.arduino.cc/​projecthub/​Isaac100/​getting-started-with-the-hc-sr04-ultrasonic-sensor-036380
   * Conectare modul driver: https://​www.youtube.com/​watch?​v=OkHR1BZCcqA&​ab_channel=TeamPsi   * Conectare modul driver: https://​www.youtube.com/​watch?​v=OkHR1BZCcqA&​ab_channel=TeamPsi
  
pm/prj2021/apredescu/linefollower.1622572934.txt.gz · Last modified: 2021/06/01 21:42 by monica.pricope
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