Senzor de parcare

Autor

Introducere

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ă

Schema bloc:

Funcționalitate

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

Listă de piese

  • Arduino Uno
  • Breadboard
  • Senzor de distanță (HC-SR04)
  • Buzzer
  • Jumper wires
  • 1.44' 128*128 TFT_LCD

Schema electrică


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 1)
    • Libraria TFT Display 2)
    • Libraria pentru senzorul HC-SR04 3)
  • Pentru Arduino IDE:
    • Libraria Adafruit GFX 4)

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 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

Demo
YouTube link
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

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

Jurnal

20 Aprilie → alegerea temei proiectului
26 Aprilie → creare pagină de documentație
03-22 Mai → lucru la montajul hardware
22 Mai → realizarea și adăugarea schemei electrice
24 Mai → adăugare sofware design
28 Mai → adăugare demo, concluzii și arhivă

Bibliografie/Resurse

pm/prj2021/agrigore/senzor-parcare.txt · Last modified: 2021/05/28 23:09 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