Differences

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

Link to this comparison view

pm:prj2021:agrigore:senzor-parcare [2021/05/23 00:01]
iulia_anita.grigore
pm:prj2021:agrigore:senzor-parcare [2021/05/28 23:09] (current)
iulia_anita.grigore
Line 3: Line 3:
 [[iulia_anita.grigore@stud.acs.upb.ro|Grigore Iulia-Anita]] [[iulia_anita.grigore@stud.acs.upb.ro|Grigore Iulia-Anita]]
 ===== Introducere ===== ===== Introducere =====
-Proiectul are ca scop crearea unui senzor de parcare ce va emite sunete pe frecvente ​diferite ​in functie ​de apropierea ​fata de un obstacol ​si va afisa pe un display ​distanta in cm si un mic desen reprezentativ pentru a ilustra apropierea ​fata de obiect.+Proiectul are ca scop crearea unui senzor de parcare ce va emite sunete pe frecvențe ​diferite ​în funcție ​de apropierea ​față ​de un obstacol ​și va afișa ​pe un display ​distanță în cm și un mic desen reprezentativ pentru a ilustra apropierea ​față ​de obiect. Ideea acestui proiect a venit din dorința de a crea ceva cu aplicabilitate practică în viață reală, chiar dacă implementarea mea este una minimalistă.
  
 ===== Descriere generală =====  ===== Descriere generală ===== 
Line 9: Line 9:
 {{:​pm:​prj2021:​agrigore:​schema-bloc-anitagrigore.png?​500|}} {{:​pm:​prj2021:​agrigore:​schema-bloc-anitagrigore.png?​500|}}
 ==== Funcționalitate ==== ==== Funcționalitate ====
-Proiectul presupune utilizarea unui senzor de distanta ​pentru a detecta gradul de apropiere ​fata de un obstacol. ​In momentul ​in care un anumit prag a fost atins (ex.obiectul se afla la 50 cm de senzor), un buzzer se va declansa si va emite sunete pe o anumita frecventa. Cu cat obiectul se apropie/departeaza, se va schimba ​rapiditatea emiterii sunetului. Pe tot parcursul ​functionarii, se va afisa pe un display ​distanta si un desen minimal care sa reprezinte ​masina si obiectul.+Proiectul presupune utilizarea unui senzor de distanță ​pentru a detecta gradul de apropiere ​față ​de un obstacol. ​În momentul ​în care un anumit prag a fost atins (ex.obiectul se află la 50 cm de senzor), un buzzer se va declanșa și va emite sunete pe o anumită frecvența. Cu cât obiectul se apropie/depărtează, se va schimbă ​rapiditatea emiterii sunetului. Pe tot parcursul ​funcționarii, se va afișa ​pe un display ​distanță și un desen minimal care să reprezinte ​mașină și obiectul.
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 15: Line 15:
   * Arduino Uno    * Arduino Uno 
   * Breadboard   * Breadboard
-  * Senzor de distanta ​(HC-SR04)+  * Senzor de distanță ​(HC-SR04)
   * Buzzer ​   * Buzzer ​
   * Jumper wires   * Jumper wires
Line 22: Line 22:
 ==== Schema electrică ==== ==== Schema electrică ====
 {{:​pm:​prj2021:​agrigore:​schema_electrica_senzor_p.jpeg?​500|}} \\ {{:​pm:​prj2021:​agrigore:​schema_electrica_senzor_p.jpeg?​500|}} \\
 +{{:​pm:​prj2021:​agrigore:​schema2.jpg?​300|}} ​
 +{{:​pm:​prj2021:​agrigore:​schema1.jpg?​300|}}
 +{{:​pm:​prj2021:​agrigore:​schema3.jpg?​300|}} ​
 + 
 ===== Software Design ===== ===== Software Design =====
 +====Mediul de dezvoltare====
 +  * **Arduino IDE** -> dezvoltarea codului și încărcarea acestuia pe Arduino
 +  * **Eagle** -> realizarea schemei electrice
 +  * **Draw.io** -> realizarea schemei bloc
 +
 +====Librarii folosite====
 +  * Pentru Eagle: ​
 +      * Libraria Adafruit pentru adăugarea schemei pentru Arduino ((https://​github.com/​adafruit/​Adafruit-Eagle-Library))
 +      * Libraria TFT Display ((https://​www.diymodules.org/​eagle-show-library?​type=usr&​id=1012211175))
 +      * Libraria pentru senzorul HC-SR04 ((https://​www.diymodules.org/​eagle-show-object?​type=dm&​file=diy-modules.lbr&​device=ULTRASONIC-HC-SR04))
 +  * Pentru Arduino IDE:
 +      * Libraria Adafruit GFX ((https://​github.com/​adafruit/​Adafruit-GFX-Library))
 +
 +====Structura codului====
 +Întreaga funcționalitate a proiectului este împărțită în funcții cât mai specifice, ce sunt apelate în ''​loop''​. Asfel, pentru a lua informații de la senzor, m-am folosit de acest [[https://​create.arduino.cc/​projecthub/​knackminds/​how-to-measure-distance-using-ultrasonic-sensor-hc-sr04-a-b9f7f8|tutorial]]. ​
 +Pentru a afișa informații pe LCD, am implementat funcțiile:
 +  * ''​printUI''​
 +  * ''​printSelf''​
 +  * ''​printDistance''​
 +  * ''​printDistanceCircle''​
 +Ultimul pas a fost să recreez sunetul emis de un senzor de parcare de la o mașină reală. Pentru a face acestu lucru, am folosit un buzzer pe care l-am programat folosind două întreruperi:​ una pentru când începe să se audă și una pentru când trebuie să se oprească. Frecvența emiterii sunetului este calculată în funcție de distanță obiectului față de senzor (in funcția ''​beep_freq''​).
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +**Demo** \\
 +[[https://​youtu.be/​ZTuM_Yb7WtA|YouTube link]] \\
 +[[https://​youtu.be/​yc4x-VXK_Hc|YouTube link]] \\
 +
 +În final, rezultatul este un "​senzor de parcare"​ (pentru mașini de jucărie cel mult), care măsoară distanță unui obstacol aflat la maxim 1m față de "​mașină"​ și afișează pe display distanță în cm și un desen simbolic. În acest desen avem un punct fix alb, ce reprezintă mașină și un cerc care se află mai aproape sau mai departe, în funcție de unde se află obstacolul. De asemenea, avem și sunetul caracteristic. Un buzzer începe să scoată sunete când obstacolul este la mai puțin de 50 cm și scade perioada emiterii sunetului o dată cu apropierea obstacolului.
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Pot spune cu certitudine că acest proiect m-a făcut să înțeleg mult mai multe despre cum pot crea ceva cu utilitate practică, cum pot folosi diverse piese hardware și cum pot programa întregul ansamblu de piese pentru a ajunge la un rezultat. Pentru rezultate mai performante,​ ar fi trebuit folosit un senzor de distanță cu laser în loc de cel cu ultrasunete. Însă consider că pentru un prim proiect am învățat foarte multe și sunt fericită că a ieșit ceva funcțional din mâinile mele =).
  
 ===== Download ===== ===== Download =====
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​agrigore/​senzor-parcare?​do=export_pdf |Download PDF]] \\
 +{{:​pm:​prj2021:​agrigore:​arhiva_anita.zip|Arhivă}}
  
 ===== Jurnal ===== ===== Jurnal =====
 20 Aprilie -> alegerea temei proiectului \\ 20 Aprilie -> alegerea temei proiectului \\
-26 Aprilie -> creare ​pagina ​de documentatie ​\\+26 Aprilie -> creare ​pagină ​de documentație ​\\
 03-22 Mai -> lucru la montajul hardware \\ 03-22 Mai -> lucru la montajul hardware \\
-22 Mai -> realizarea ​si adaugarea ​schemei electrice \\+22 Mai -> realizarea ​și adăugarea ​schemei electrice ​\\ 
 +24 Mai -> adăugare sofware design \\ 
 +28 Mai -> adăugare demo, concluzii și arhivă ​\\
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​agrigore/​senzor-parcare?​do=export_pdf |Download PDF]] 
- 
  
pm/prj2021/agrigore/senzor-parcare.1621717290.txt.gz · Last modified: 2021/05/23 00:01 by iulia_anita.grigore
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