Differences

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

Link to this comparison view

pm:prj2026:farhad_ali.gul:anghelescu.albert [2026/05/18 02:25]
albert.anghelescu [Concluzii]
pm:prj2026:farhad_ali.gul:anghelescu.albert [2026/05/19 17:35] (current)
albert.anghelescu [Descriere generală]
Line 3: Line 3:
 ===== Introducere ===== ===== Introducere =====
  
-Obstacle Avoiding Car reprezintă o platformă mobilă autonomă proiectată pentru detectarea și evitarea obstacolelor din mediul înconjurător. Sistemul utilizează ​un microcontroler ESP32 pentru procesarea datelor și coordonarea componentelor hardware, împreună cu un senzor ultrasonic montat pe un servomotor pentru scanarea mediului.+Obstacle Avoiding Car reprezintă o platformă mobilă autonomă proiectată pentru detectarea și evitarea obstacolelor din mediul înconjurător. Sistemul utilizează ​Arduino Nano pentru procesarea datelor și coordonarea componentelor hardware, împreună cu un senzor ultrasonic montat pe un servomotor pentru scanarea mediului.
  
-Scopul proiectului este implementarea unui sistem embedded capabil să realizeze deplasare autonomă și reacție în timp real la apariția obstacolelor. Ideea proiectului a pornit de la pasiunea pentru masini si din dorinta de a recrea experientele copilariei asociate cu masinutele cu telecomanda+Scopul proiectului este implementarea unui sistem embedded capabil să realizeze deplasare autonomă și reacție în timp real la apariția obstacolelor.
  
 Acest proiect este util atât din perspectivă educațională,​ deoarece implică lucrul cu microcontrolere,​ actuatori și senzori, cât și din perspectivă practică, reprezentând o bază pentru sisteme autonome mai complexe. Acest proiect este util atât din perspectivă educațională,​ deoarece implică lucrul cu microcontrolere,​ actuatori și senzori, cât și din perspectivă practică, reprezentând o bază pentru sisteme autonome mai complexe.
Line 11: Line 11:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Sistemul este alcătuit dintr-o platformă cu 4 roți, controlată de un microcontroler ESP32. Controlul motoarelor este realizat prin intermediul unui driver L298N, care permite comandarea direcției și vitezei motoarelor utilizând semnale PWM generate de microcontroler.+Sistemul este alcătuit dintr-o platformă cu 4 roți, controlată de un Arduino Nano. Controlul motoarelor este realizat prin intermediul unui driver L298N, care permite comandarea direcției și vitezei motoarelor utilizând semnale PWM generate de microcontroler.
  
 Detectarea obstacolelor se realizează cu ajutorul unui senzor ultrasonic HC-SR04 montat pe un servomotor SG90. Servomotorul permite rotirea senzorului pe diferite unghiuri, oferind posibilitatea scanării mediului în direcțiile stânga, centru și dreapta. Detectarea obstacolelor se realizează cu ajutorul unui senzor ultrasonic HC-SR04 montat pe un servomotor SG90. Servomotorul permite rotirea senzorului pe diferite unghiuri, oferind posibilitatea scanării mediului în direcțiile stânga, centru și dreapta.
Line 22: Line 22:
  
 Interacțiunea modulelor: Interacțiunea modulelor:
-  * ESP32 controlează întregul sistem+  * Arduino ​controlează întregul sistem
   * L298N controlează alimentarea și direcția motoarelor   * L298N controlează alimentarea și direcția motoarelor
   * SG90 rotește senzorul ultrasonic   * SG90 rotește senzorul ultrasonic
   * HC-SR04 furnizează date despre distanța până la obstacole   * HC-SR04 furnizează date despre distanța până la obstacole
-  * LM2596 stabilizează tensiunea pentru alimentarea microcontrolerului 
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 59: Line 58:
 ''​servo.c''​ — semnal PWM 50Hz generat cu Timer1 in Fast PWM mode cu TOP = ICR1 = 40000 (prescaler 8, 16MHz). ''​servo_write(us)''​ primeste o valoare in microsecunde si seteaza ''​OCR1A = us * 2''​. ''​servo.c''​ — semnal PWM 50Hz generat cu Timer1 in Fast PWM mode cu TOP = ICR1 = 40000 (prescaler 8, 16MHz). ''​servo_write(us)''​ primeste o valoare in microsecunde si seteaza ''​OCR1A = us * 2''​.
  
-''​main.c''​ — masina ​de stari cu 3 stari:+''​main.c''​ — automat ​de stari cu 3 stari:
  
    * ''​FORWARD'':​ robotul merge inainte si masoara distanta la fiecare 50ms. La detectia unui obstacol sub 45cm, face o a doua masurare dupa 20ms pentru confirmare (eliminare fals-pozitive),​ dupa care opreste motoarele si trece in SCAN.    * ''​FORWARD'':​ robotul merge inainte si masoara distanta la fiecare 50ms. La detectia unui obstacol sub 45cm, face o a doua masurare dupa 20ms pentru confirmare (eliminare fals-pozitive),​ dupa care opreste motoarele si trece in SCAN.
Line 65: Line 64:
    * ''​TURN'':​ robotul vireaza pivot spre directia cu distanta mai mare masurata in SCAN, timp de 300-400ms, dupa care trece inapoi in FORWARD.    * ''​TURN'':​ robotul vireaza pivot spre directia cu distanta mai mare masurata in SCAN, timp de 300-400ms, dupa care trece inapoi in FORWARD.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
- +<note tip> 
 +Video: https://​youtube.com/​shorts/​PWHoilhkw_k?​feature=share 
 +</​note>​
 ===== Concluzii ===== ===== Concluzii =====
 +<note tip>
 Github: https://​github.com/​AnghelescuAlbert/​Object_Avoiding_Car/​tree/​master Github: https://​github.com/​AnghelescuAlbert/​Object_Avoiding_Car/​tree/​master
 +</​note>​
 ===== Download ===== ===== Download =====
  
pm/prj2026/farhad_ali.gul/anghelescu.albert.1779060338.txt.gz · Last modified: 2026/05/18 02:25 by albert.anghelescu
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