Radar pentu distante

Introducere

Proiectul consta in construirea unui radar pentru distante cu ajutorul unui microcontroler Arduino UNO.

Scopul radarului este de a scana zona din fata lui, fiind rotit de un servomotor, detectand obiectele care se afla in fata sa.

Acest proiect a pornit de la ideea de a crea un dispozitiv util care poate ajuta la detectarea obiectelor, in cazul in care acestea sunt foarte aproape de el, sa avertizeze utilizatorul. Poate fi asemanat cu un radar al unui submarin sau avion.

Descriere generală

Radar rotativ care consta intr-un senzor de distanta si un servomotor. Senzorul de distanta este montat pe un suport si este atasat de servomotor. Acesta este conectat la un microcontroler Arduino UNO, care primeste datele de la senzor si le afiseaza pe un display LCD.

In functie de distanta la care detecteaza obiectele, un LED RGB isi va schimba culoarea in functie de distanta la care se afla obiectul (verde, galben, rosu).

De asemenea, distanta inregistrata se poate observa si pe display-ul LCD atasat microcontrolerului si un buzzer va emite un sunet in functie de distanta la care se afla obiectul.

Schema bloc

Hardware Design

Lista de componente utilizate:

  • Arduino UNO
  • Breadboard
  • Senzor HC-SR04
  • Servomotor SG90
  • Display LCD
  • Buzzer
  • Led RGB
  • Fire
  • Rezistente

Schema Arduino Tinkercad:

Schema electrica:

Montaj

Software Design

Schema logica de functionare:

Am folosit informatii din 3 laboratoare:

  • Setare pini cu registri
  • Timere - pentru un led care se aprinde la 1 secunda si indica faptul ca radarul functioneaza
  • Intreruperi

Partea de soft este impartita in 2:

1. Primirea datelor de la senzor
2. Procesarea/Afisarea datelor primite

1) Arduino are urmatoarele roluri:

  • Roteste servomotorul in intervalul 0-180 grade
  • Preia distanta de la senzor
  • Trimite distanta catre display
  • In functie de distanta, seteaza culoarea led-ului RGB si porneste buzzer-ul
  • Printeaza distanta la Serial Monitor

2) Procesarea are urmatoarele roluri:

  • Preia distanta de la Arduino
  • Prelucreaza datele primite sub forma unui grafic si le afiseaza pe ecran

In setup():

  • Initializeaza pinii digitali pe modul de functionare
  • Seteaza pinul de control al servomotorului
  • Initializeaza LCD-ul
  • Definesc limitele de distanta

In loop():

  • Cicleaza rotirea stanga-dreapta a servomotorului
  • Verifica daca exista obiecte in fata senzorului
  • Daca distanta gasita se afla intre limite:
    1. Afiseaza distanta pe LCD
    2. Actualizeaza culoarea led-ului RGB
    3. Porneste buzzer-ul
  • Afiseaza distanta pe Serial Monitor

Rezultate Obţinute

Link video Youtube cu rezultatul final.

Github

Codul, atat pentru arduino, cat si pentru processing, se gaseste la urmatorul link de Github

Jurnal

* 20 aprilie: alegere proiect, documentare

* 26 aprilie: comandare componente

* 4 mai: teste componente individuale

* 10 mai: combinare componente

* 12 mai: cod pentru vizualizare grafic

* 18 mai: adaugare functionalitati pentru a indeplini cerinta `notiuni din 3 laboratoare`

Bibliografie/Resurse

pm/prj2023/alexau/distance_radar.txt · Last modified: 2023/05/22 20:15 by iulian.taiatu
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