Differences

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

Link to this comparison view

pm:prj2025:aluca:dan_andrei.tunsoiu [2025/05/06 11:07]
dan_andrei.tunsoiu
pm:prj2025:aluca:dan_andrei.tunsoiu [2025/05/25 18:39] (current)
dan_andrei.tunsoiu [Software design]
Line 1: Line 1:
-==Introducere==+=====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                            |[[https://​www.optimusdigital.ro/​ro/​placi-avr/​1685-uno-r3-atmega328p-atmega16u2-placa-de-dezvoltare- compatibila-cu-arduino.html?​search_query=0104110000016980&​results=1|External Link]] | 
 +|LCD 1602                               ​|[[https://​www.optimusdigital.ro/​ro/​optoelectronice-lcd-uri/​62-lcd-1602-cu-interfata-i2c-si-backlight-galben-verde.html?​search_query=0104110000026989&​results=1|External Link]] | 
 +|Senzor de Distanță Ultrasonic IOE-SR05 |[[https://​www.optimusdigital.ro/​ro/​senzori-senzori-de-distanta/​8152-senzor-de-distana-ultrasonic-ioe-sr05-cu-interfaa-seriala-3-55-v.html?​search_query=0104110000053152&​results=1|External Link]] | 
 +|Micro Servomotor SG90                  |[[https://​www.optimusdigital.ro/​ro/​motoare-servomotoare/​26-micro-servomotor-sg90.html?​search_query=%090104110000001368&​results=1|External Link]] | 
 +|2xBreadboard ​                          | [[https://​www.optimusdigital.ro/​ro/​prototipare-breadboard-uri/​44-breadboard-400-points.html?​search_query=+%090104110000000156&​results=1|External Link]] ​             | 
 +|LED-uri ​                               |[[https://​www.optimusdigital.ro/​ro/​kituri/​11970-set-led-uri-asortate-plusivo-500-buc-led-uri-100-buc-rezistoare-i-pcb-bonus.html?​search_query=%09X00138I4IV&​results=1|External Link]] | 
 +|Fire mama-tata si tata-tata ​           | [[https://​www.optimusdigital.ro/​ro/​toate-produsele/​877-set-fire-mama-tata-40p-15-cm.html?​search_query=0104210000007817&​results=1|Mama-Tata]] + [[https://​www.optimusdigital.ro/​ro/​fire-fire-mufate/​890-set-fire-tata-tata-40p-30-cm.html?​search_query=Tata-tata&​results=692|Tata-Tata]] ​             | 
 + 
 +Schema proiectului:​ 
 + 
 +{{:​pm:​prj2025:​aluca:​schema_bloc_pm.drawio.png?​600|}} 
 + 
 +Schema circuit: 
 + 
 +{{:​pm:​prj2025:​aluca:​schema_electrica_pm.png?​600|}} 
 + 
 +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): 
 + 
 +{{:​pm:​prj2025:​aluca:​d412d23d-a089-43f9-a00f-4748971ee1d3.jpg?​400|}} 
 + 
 +===== Software design ===== 
 +=== Stadiul Implementarii == 
 +Proiectul este complet functional si are la baza codul [[https://​github.com/​Danut1445/​PM-Project|Link GitHub]] scris in platforma ArduinoIDE, cu toate functionalitatile acestuia testate si validate: [[https://​www.youtube.com/​watch?​v=Ki03OREaW8k|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.1746518829.txt.gz · Last modified: 2025/05/06 11:07 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