Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:followme-robot [2021/04/25 23:41]
stefania.frunza
pm:prj2021:dbrigalda:followme-robot [2021/06/02 02:28] (current)
stefania.frunza
Line 10: Line 10:
  
 ====== Introducere ====== ====== Introducere ======
-Proiectul are ca scop crearea unui robot care detectează ​cu un senzor de mișcare ​un obiect ​din jurul lui și apoi începe să urmărească ​acel obiect. Robotul va avea posibilitatea să își întoarcă privirea (un senzor de distanță ultrasonic) în stânga sau în dreapta, pentru a copia cât mai fidel mișcarea obiectului urmărit.+Proiectul are ca scop crearea unui robot care detectează un obiect ​în jurul lui și apoi începe să îl urmărească . Robotul va avea posibilitatea să își întoarcă privirea (un senzor de distanță ultrasonic ​rotit de un servomotor) în stânga sau în dreapta, pentru a identifica prezența unui obiect, având o rază de acoperire ​cât mai mare.
 Ideea realizării acestui proiect a venit în timp ce mă uitam pe produsele din magazinele cu componente pentru placa Arduino. Mi-au atras atenția niște roboți gata făcuți, care arătau oarecum uman cu senzorul de distanță ultrasonic pus în loc de ochi, și apoi m-am gândit că aș dori să realizez ceva similar. Ideea realizării acestui proiect a venit în timp ce mă uitam pe produsele din magazinele cu componente pentru placa Arduino. Mi-au atras atenția niște roboți gata făcuți, care arătau oarecum uman cu senzorul de distanță ultrasonic pus în loc de ochi, și apoi m-am gândit că aș dori să realizez ceva similar.
-Consider că acest proiect este util, deoarece poate fi folosit atât pe post de jucărie, cât și în cazul mașinilor autonome, care pot urmări mașina din față, păstrând ​o distanță optimă.+Consider că acest proiect este util, deoarece poate fi folosit atât pe post de jucărie, cât și în cazul mașinilor autonome, care  păstrează o distanță optimă.
 ====== Descriere generală ====== ====== Descriere generală ======
  
-Robotul va folosi ​senzorul PIR pentru a detecta că se mișcă un obiect ​în jurul său și apoi va intra în funcțiune senzorul ​de distanță ultrasonic, care, cu ajutorul unui servomotor, va putea analiza ce este în jurul săuApoi va porni spre obiectul ​pe care îl urmăreșteprin motoarele roților ​de cauciuc. Atunci ​când pornește în urmărirea obiectului, ​se va aprinde un LED pe robot.+Robotul va folosi ​un servomotor ​pentru a roti senzorul ultrasonic de distanță. Atunci când robotul detectează că un obiect s-a apropiat la mai puțin de 25 cm de el, servomotorul se oprește (revenind ​în poziția de mijloc) și se aprinde un led care anunță că de acum robotul pornește ​în urmărirea obiectuluiRobotul păstrează o distanță de maxim 50 cm față de obiectul urmărit. Atunci când se obiectul se depărteazăintră în funcțiune ​motoarele ​care dau putere ​roților, făcând robotul să se deplaseze.
  
     * **Schema Bloc**:     * **Schema Bloc**:
-{{:​pm:​prj2021:​dbrigalda:​schema_bloc_followme_robot.jpg?300|}}+{{:​pm:​prj2021:​dbrigalda:​schema_bloc_finala.png|}}
 ====== Hardware Design ====== ====== Hardware Design ======
     * **Lista de Componente**:​     * **Lista de Componente**:​
   * Arduino UNO   * Arduino UNO
-  * Modul PIR - senzor de prezenta, miscare +  * x Roata roboti 
-  * 4 x Roata roboti +  * x Motor DC 3V-6V cu reductor 1:48
-  * x Motor DC 3V-6V cu reductor 1:48+
   * Breadboard   * Breadboard
-  * Senzor de Distanță Ultrasonic +  * Senzor de Distanță Ultrasonic ​HC-SR04 
-  * LED+  * LED roșu 
 +  * 1 x roata mobilă 
 +  * Fire mamă-tată 
 +  * Fire tată-tată 
 +  * L298N Motor Driver 
 +  * Servomotor 
 +  * Carcasă baterii 
 +  * 4 x baterii AA
  
 +Componentele au fost comandate de pe Ardushop, OptimusDigital și Cleste.
 +
 +    * **Schema Electrică**:​
 +{{:​pm:​prj2021:​dbrigalda:​frunza_schemaelectrica.png|}}
 +
 +    * **Hardware**:​
 +{{:​pm:​prj2021:​dbrigalda:​frunza_hardware.jpg?​300|}}
 ====== Software Design ====== ====== Software Design ======
-Partea de Software Design ​va fi realizată în mediul de dezvoltare Arduino IDE.+Partea de Software Design ​a fost realizată în mediul de dezvoltare Arduino IDE. 
 +Testarea a fost făcută direct pe hardware, lucrând în paralel la ambele dezvoltări. 
 + 
 +Biblioteci utilizate:​ 
 +  * Servo.h (pentru servomotor) 
 +  * NewPing.h (pentru senzorul de distanță ultrasonic) 
 + 
 +Pe lângă folosirea structurii "#​define"​ pentru asocierea pinului cu componenta, am folosit-o și pentru a reține niște constante, cum ar fi: 
 +  * MAX_DISTANCE - este folosit la constructorul obiectului de tipul NewPing (distanța maximă pe care o poate citi senzorul de distanță) 
 +  * DETECT_DISTANCE - reține distanța minimă care trebuie să fie între obiect și senzor pentru ca obiectul să fie detectat 
 +  * KEEP_DISTANCE - reține distanța maximă pe care o menține robotul față de obiectul urmărit 
 + 
 +Dacă distanța citită de senzor este mai mare decât MAX_DISTANCE,​ atunci vom inițializa distanța cu MAX_DISTANCE (pentru că altfel el o va considera 0). 
 +În variabila found reținem dacă obiectul a fost identificat. Astfel, avem două scenarii: 
 +  * Nici un obiect nu a fost găsit încă, așa că servomotorul continuă să se rotească. 
 +  * Obiectul a fost găsit. Se aprinde led-ul, servomotorul revine la poziția de mijloc și apoi calculez (în funcție de unghiul la care s-a oprit servomotorul) care este timpul necesar întoarcerii robotului spre obiect. Formula a fost aflată empiric. Apoi, comparând cu KEEP_DISTANCE,​ activez motoarele sau le opresc. 
 ====== Rezultate Obţinute ====== ====== Rezultate Obţinute ======
-TODO+Link-ul către prezentarea video a proiectului:​ 
 + 
 +[[https://​www.youtube.com/​watch?​v=PK4cYZFGw08|{{:​pm:​prj2021:​dbrigalda:​fmr_yt.png?​800|}}]]
  
 ====== Concluzii ====== ====== Concluzii ======
-TODO+A fost un proiect care mi-a adus destul de multe provocări. Modelul pe care îl găsisem pentru proiectul meu avea nevoie de niște piese pe care nu le-am găsit în stoc nicăieri și a trebuit să mă reorientez. Totuși, soluția cu driver-ul L298N mi-a plăcut și pentru că a fost nevoie să folosesc pistolul de lipit. Cel mai mult la acest proiect mi-a plăcut partea practică, încercând mereu să găsesc soluții ca să fie toate componentele în echilibru. Cel mai important lucru pe care cred că l-am învățat a fost cum să folosesc un senzor și cum să transform logica din mintea mea în ceva concret, palpabil. 
 +Cu siguranță,​ pentru mine nu a fost decât începutul folosirii plăcuței Arduino. Proiectul acesta mi-a stârnit curiozitatea și mi-a dat idei, plănuind pe viitor să folosesc plăcuța Arduino și la alte proiecte personale.
  
 ====== Download ====== ====== Download ======
-TODO +<note tip> 
- +  * Arhiva cu sursa: ​ 
-====== Jurnal ====== +{{:​pm:​prj2021:​dbrigalda:​fmr.zip|}} 
-   TODO+  * README:  
 +{{:​pm:​prj2021:​dbrigalda:​readme_followmerobot.docx|}} 
 +</​note>​
  
 ====== Bibliografie și Resurse ====== ====== Bibliografie și Resurse ======
  
-    ​TODO+    ​* Youtube: 
 +[[https://​www.youtube.com/​watch?​v=yAV5aZ0unag]] 
 + 
 +[[https://​www.youtube.com/​watch?​v=Q4FLmqyF5f4]] 
 + 
 +[[https://​www.youtube.com/​watch?​v=aLkkAsrSibo]] (inițial cumpărasem un senzor IOE-SR05, doar că nu am reușit să îl folosesc) 
 + 
 +    * Alte surse: 
 +[[https://​create.arduino.cc/​projecthub/​mohammadsohail0008/​human-following-bot-070eaa]] 
 + 
 +[[https://​create.arduino.cc/​projecthub/​ryanchan/​how-to-use-the-l298n-motor-driver-b124c5?​ref=tag&​ref_id=dc%20motor&​offset=2]] 
 + 
 +[[https://​forum.arduino.cc/​t/​newping-library-hc-sr04-srf05-srf06-dyp-me007-parallax-ping-v1-7/​103737]] 
  
 Documentul în format PDF: <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html>​ Documentul în format PDF: <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html>​
pm/prj2021/dbrigalda/followme-robot.1619383260.txt.gz · Last modified: 2021/04/25 23:41 by stefania.frunza
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