Differences

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

Link to this comparison view

pm:prj2022:ncaroi:robot-care-evita-obstacolele [2022/04/26 01:00]
octavian.torcea fixed typos
pm:prj2022:ncaroi:robot-care-evita-obstacolele [2022/05/24 01:03] (current)
octavian.torcea [Concluzii]
Line 1: Line 1:
-====== Robot care evita obstacolele ======+====== Robot care evită ​obstacolele ======
 ===== Introducere ===== ===== Introducere =====
  
Line 13: Line 13:
  
 ===== Hardware Design ===== ===== Hardware Design =====
-Listă componente:+==== Listă componente: ​==== 
   * Arduino   * Arduino
   * 2 motoare   * 2 motoare
   * 2 roți   * 2 roți
-  * 3 senzori de distanță+  * 3 senzori de distanță ​- HC-SR04
   * potențiometru   * potențiometru
-  * driver motoare+  * driver motoare ​- L298N
   * 2 carcase baterie 9V   * 2 carcase baterie 9V
-  * stabilizator tensiune 5V 
   * șasiu   * șasiu
   * fire   * fire
  
-<note tip> +==== Data Sheets==== 
-Aici puneţi tot ce ţine de hardware design+ 
-  * listă de piese + 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.ghttp://www.captain.at/electronic-atmega16-mmc-schematic.png) +  * [[https://​cdn.sparkfun.com/​datasheets/​Sensors/​Proximity/​HCSR04.pdf|HC-SR04]] 
-  * diagrame de semnal ​ +  * [[https://www.sparkfun.com/datasheets/​Robotics/​L298_H_Bridge.pdf|L298N]] 
-  * rezultatele simulării + 
-</​note>​+==== Schema electrică ==== 
 +{{:​pm:​prj2022:​ncaroi:​octavian.torcea:​schema_electrica.jpg?​700|}}
  
 ===== Software Design ===== ===== Software Design =====
  
-<note tip> +Mediu de dezvoltare ​folosit: Arduino IDE 1.8.19
-Descrierea codului aplicaţiei (firmware):​ +
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+Biblioteca folosită: [[https://​github.com/​AndreaLombardo/​L298N|L298N]] - pentru controlul celor 2 motoare 
 + 
 +=== Funcții implementate === 
 +În ''​setup''​ se setează modul de utilizare a pinilor și se setează viteza inițială, citind valoarea potențiometrului. 
 + 
 +În funcția ''​getDist''​ se calculează distanța de la robot până la obstacol, folosind unul din senzorii de distantă. Distanta maxima pe care o poate citi senzorul este 4.5m. 
 + 
 +Funcțiile ''​turnRight''​ și ''​turnLeft''​ întorc robotul (cu aprox. 90°, depinde de suprafața pe care se află). 
 + 
 +Funcția ''​changeSpeed''​ citește valoarea potențiometrului,​ calculează noua viteză și apoi schimbă viteza robotului. 
 + 
 +În ''​loop'':​ 
 +  * se citește valoarea potențiometrului;​ dacă aceasta este diferită față de cea anterioară,​ se va apela ''​changeSpeed'';​ 
 +  * se calculează distanța până la obstacolul din față; dacă este mai mică de 25 cm, se vor citi distanțele până la obstacolele din stânga și din dreapta, iar robotul își va schimba direcția cu distanța mai mare. 
 + 
 +===== Rezultate Obținute ===== 
 + 
 +{{:​pm:​prj2022:​ncaroi:​octavian.torcea:​proiect_pm_1.jpeg?​300|}} 
 + 
 +{{:​pm:​prj2022:​ncaroi:​octavian.torcea:​proiect_pm_2.jpeg?​300|}} 
 + 
 +{{:​pm:​prj2022:​ncaroi:​octavian.torcea:​proiect_pm_3.jpeg?​300|}}
  
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Robotul reușește să evite cu succes obstacolele aflate în fața sa și să se orienteze către direcția cu distanța cea mai mare până la un obstacol. Pot apărea unele probleme atunci când robotul se apropie de un obiect (mai ales colțurile unor pereți) ce nu se afla în raza de acțiune a senzorilor. De asemenea, robotul se rotește cu un unghi ce va depinde de suprafața pe care se află (robotul se rotește cu o viteză constantă pentru un timp setat din codul sursa).
  
 ===== Download ===== ===== Download =====
  
-<note warning> +<html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>
-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ă ;-).+
  
-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**. +{{:pm:prj2022:ncaroi:octavian.torcea:proiectpm_octavian_torcea_334ca.zip|Sursa + Schema electrica}}
-</​note>​+
  
-===== Jurnal ​=====+===== Bibliografie/​Resurse ​=====
  
-<note tip> +[[https://​github.com/​AndreaLombardo/L298N|Biblioteca L298N]]
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</note>+
  
-===== Bibliografie/Resurse =====+[[https://​cdn.sparkfun.com/​datasheets/​Sensors/​Proximity/​HCSR04.pdf|Datasheet HC-SR04]]
  
-<​note>​ +[[https://​www.sparkfun.com/datasheets/​Robotics/​L298_H_Bridge.pdf|Datasheet L298N]]
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +
-</note>+
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
pm/prj2022/ncaroi/robot-care-evita-obstacolele.1650924037.txt.gz · Last modified: 2022/04/26 01:00 by octavian.torcea
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