Radar

Introducere

Prezentare pe scurt a proiectului:

  • Este un sistem care detecteaza obiectele intr-un arc de cerc, apoi acesta anunta ca a observat un lucru atat printr-un sistem de LED-uri cat si printr-un ecran LCD.
  • Scopul proiectului este de a ma familiariza cu lucrul cu diferite componente, cum ar fi un senzor de distanta, un servo-motor si placa Arduino.
  • Ideea de la care am pornit a fost data de un joc video care contine astfel de dispozitive pentru a atentiona jucatorul de posibilele pericole care il asteapta.
  • Cred ca acesta este un proiect interesant si distractiv care poate fi modificat eventual pentru a ajuta lumea sa verifice daca au intrat intrusi in casa sau in alte situatii periculoase.

Descriere generala

Proiectul foloseste o placuta de tipul Arduino cu procesorul ATMega328P care este conectata la un servo-motor, un senzor de distanta, mai multe led-uri pe un breadboard si un LCD display. Senzorul de distanta se afla pe sermo-motor pentru a se putea misca intr-un arc de cerc, ceea ce ii da abilitatea de a detecta obiectele intr-o arie larga.

Hardware design

Componentele necesare realizarii proiectului:

Nume Componenta Link Sursa
Arduino UNO External Link
LCD 1602 External Link
Senzor de Distanță Ultrasonic IOE-SR05 External Link
Micro Servomotor SG90 External Link
2xBreadboard External Link
LED-uri External Link
Fire mama-tata si tata-tata Mama-Tata + Tata-Tata

Schema proiectului:

Schema circuit:

Descrierea functionalitati hardware:

  • Folosesc un LCD display cu un adaptor I2C integrat pentru a comunica cu placa Arduino UNO si a afisa datele masurate de senzorul de distanta.
  • Pentru miscarea senzorului intr-un arc de cerc folosesc un servo-motor SG90 care este conectat printr-un pin de GPIO care poate genera/transmite mesaje de tip PWM.
  • Senzorul de distanta este conectat la pinul RX pentru ca comunica cu Arduino UNO prin USART.
  • Avem si 4 LED-uri conectate la pini de GPIO pentru a afisa din ce directie a fost detectat un inamic.

Pini folositi de componente

LCD:
  • SDA → A4 (pinul de SDA de pe Arduino UNO)
  • SCL → A5 (pinul de SCL de pe Arduino UNO)
SG90:
  • IN → D9 (pin de GPIO cabapil de PWM)
IOE-SR05:
  • EN/TRIG → D2
  • TXD/ECHO → D0 (pinul de RX)
LED-uri:

Sunt conectate la pini de GPIO de la D7 la D4.

===Poza componenta Hardware functionala (LCD):

Software design

Stadiul Implementarii

Proiectul este complet functional si are la baza codul Link GitHub scris in platforma ArduinoIDE, cu toate functionalitatile acestuia testate si validate: Link video YT.

Motivatie bibloteci folosite

  • LiquidCrystal_I2C.h - pentru a controla LCD-ul.
  • Wire.h - pentru optiunile de baza din Arduino IDE.
  • Servo.h - pentru a controla servo-motorul.

Elemente de nautate

  • Combinarea a senzorului de distanca cu servo-motorului cu a senzorului de distanta pentru a putea detecta obiecte intr-un arc de cerc de 180 de grade.
  • Combinarea LCD-ului cu senzorul de distanta pentru a informa utilizatorul la ce distanta se afla obiectul detectat.
  • Combinarea LED-urilor amplasate in formatie de semicerc pentru a informa utilizatorul in ce directie a fost detectat obiectul.
  • Controlarea servo-motorului prin semnal PWM.

Laboratoare utilizate

  • Labul 0: GPIO → folosit pentru LED-uri.
  • Labul 1: USART → folosit pentru a transmite date atat de la senzorul de distanta la ATMega328 cat si de la ATMega328 la calculator.
  • Labul 3: PWM → utilizat pentru controlul servo-motorului.
  • Labul 6: I2C → utilizat pentru transmiterea datelor la LCD.

Scheletul proiectului

  • Distance() → functie care extrage datele de la senzorul de distanta prin USART si le afiseaza atat pe LCD cat returneaza si distanta calculata.
  • setup() → initializeaza pinii pentru LED-uri, interfata seriala (USART) si LCD-ul.
  • loop() → functia principala a programului, intr-un loop se modifica rotatia servo-motorului de la 0 la 180 de grade si invers, in acelasi timp se calculeaza si distanta detectata de senzor si se aprind LED-urile aferente pozitiei corecte.
pm/prj2025/aluca/dan_andrei.tunsoiu.txt · Last modified: 2025/05/25 18:39 by dan_andrei.tunsoiu
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