Boxă cu Radar

Autor

Introducere

Proiectul consta intr-o boxa (in acest caz un buzzer pasiv) care evita obstacole pentru a obtine calitatea optima a sunetului.

Descriere generală

Proiectul are la baza un sistem radar, format dintr-un senzor ultrasonic atasat la un servomotor care se va misca stanga-dreapta constant pe un unghi de 120 de grade. La acest sistem se va atasa un alt servomotor cu buzzer, care va scoate constant un sunet si se va misca in zonele in care radarul nu detecteaza niciun obstacol. Daca un obstacol a fost detectat, servomotorul cu buzzer se va opri si va continua sa se miste in pozitia in care radarul nu a mai detectat nimic. De asemenea, buzzer-ul va scoate un sunet distinct atunci cand senzorul ultrasonic a detectat un obstacol.

Hardware Design

Listă de piese

Schema bloc

Schema electrică

Software Design

Mediul de dezvoltare

  • Arduino IDE
  • Visual Studio Code

Biblioteci

Servo.h – Folosit pentru a putea comunica cu servomotoarele.

Descrierea implementării

Funcția setup()
  • Am initializat pinii pentru servomotoare.
  • Am setat pinii de input si output.
Funcția loop()
  • Am realizat doua structuri for pentru rotatia servomotorului cu senzorul ultrasonic de la 0 la 120 de grade si invers.
  • In aceste for-uri am folosit functia write pentru a realiza miscarea servomotoarelor.
  • Am calculat distanta detectata de senzorul ultrasonic folosind functia calculateDistance.
  • Cat timp distanta detectata de senzor este mai mare decat 50, se va roti si servomotorul cu buzzer-ul pasiv de jos.
  • Daca un obstacol a fost detectat (distanta este mai mica decat 50), acesta se va opri, va scoate un sunet acut folosind functia tone si isi va continua miscarea cand obstacolul nu mai este detectat, sunetul fiind de data aceasta grav.
  • Am folosit print pentru a afisa valoarea lui i (unghiul la care se afla senzorul ultrasonic) si distanta corespunzatoare. Astfel a fost mai usor sa fac debugging.
Funcția calculateDistance()
  • Pentru a calcula distanta detectata de senzorul ultrasonic am inceput prin a ma asigura ca pinul de trigger este setat pe LOW, apoi dupa 2μs il voi seta pe HIGH pentru a genera semnalul ultrasonic.
  • Am calculat durata deplasarii semnalului folosind pulseIn.
  • In final am calculat distanta inmultind durata cu viteza sunetului si impartind la 2 pentru a compensa pentru drumul dus-intors al semnalului.

Rezultate Obţinute

Concluzii

  • Proiectul a fost realizat in intregime, toate functionalitatile propuse fiind implementate.
  • Proiectul mi s-a parut foarte interesant si a reprezentat o introducere buna in Arduino si in proiectarea cu microprocesoare.

Download

Jurnal

  • 26/04 - Alegere tema proiect
  • 10/05 - Crearea paginii de wiki
  • 02/06 - Finalizare paginii de wiki

Bibliografie/Resurse

pm/prj2021/amocanu/boxacuradar.txt · Last modified: 2021/06/02 21:09 by bogdan_mihai.radoi
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