Differences

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

Link to this comparison view

pm:prj2024:amocanu:andreea.georgescu02 [2024/05/25 21:53]
andreea.georgescu02 [Software Design]
pm:prj2024:amocanu:andreea.georgescu02 [2024/05/27 00:47] (current)
andreea.georgescu02 [Concluzii]
Line 1: Line 1:
 ====== Sistem Radar cu Interfata Grafica ====== ====== Sistem Radar cu Interfata Grafica ======
  
-Proiect realizat de: Andreea-Daniela GEORGESCU - 333CC 
  
 ===== Introducere ===== ===== Introducere =====
Line 98: Line 97:
  
 **2. Funcționare:​** **2. Funcționare:​**
-În funcția loop, la fiecare pas de rotație al servomotorului,​ se apelează funcția ​distanceCheck(). +În cadrul ​funcției loop, la fiecare pas de rotație al servomotorului,​ se apelează funcția ​distanceMeasurement(), unde se primesc datele de la senzorul de distanță ultrasonic. Dacă distanța măsurată este mai mică decât limita impusă, atunci
-În cadrul funcției distanceCheck(), se primesc datele de la senzorul de distanță ultrasonic. +  * Culoarea default a LED-ului (verde) se schimbă în roșu. 
-Dacă distanța măsurată este mai mică decât limita impusă: +  ​* ​Buzzer-ul ​emite un sunet
-LED-ul schimbă ​culoarea ​în roșu (default este verde)+  ​* ​Mesajul ​default ​de pe ecranul LCD (“ALL CLEAR!”) ​se schimbă în funcție de distanță ("TOO CLOSE!"​ sau "A LITTLE CLOSE!"​)
-Buzzer-ul ​începe să sune+  ​* ​Pe interfața serială ​sunt trimise ​datele despre unghi și distanță pentru fiecare iterație a servomotorului în care a fost detectat un obiect
-Mesajul de pe ecranul LCD se schimbă ​din “NO OBJECTS ENC” ​în “OBJECT IN RANGE”+ 
-Pe interfața serială ​se trimit ​datele despre unghi și distanță pentru fiecare iterație a servomotorului în care a fost detectat un obiect.+**Inițializarea și configurarea piniiilor:​** 
 + 
 +Funcția initializePins() configurează pinii pentru trig, echo, buzzer și LED-ul RGB ca OUTPUT. 
 + 
 +**Scanarea și măsurarea distanței:​** 
 + 
 +Funcția scanAndMeasure() rotește servomotorul de la 0 la 170 de grade și înapoi, măsurând distanța la fiecare pas. 
 +Funcția distanceMeasurement() măsoară distanța folosind senzorul ultrasonic, trimite datele prin serial și actualizează ecranul LCD și culoarea LED-ului. 
 + 
 +**Afișarea mesajului și setarea culorii LED-ului:​** 
 + 
 +Funcția displayMessageAndColor() afișează un mesaj pe LCD și setează culoarea LED-ului în funcție de distanța măsurată. 
 +Funcția setColor() setează intensitatea LED-urilor RGB pentru a afișa culoarea corespunzătoare (roșu, portocaliu sau verde).
  
 **3. Codul Java folosind framework-ul de Processing:​** **3. Codul Java folosind framework-ul de Processing:​**
-Aplicația GUI primește datele ​de la placa Arduino prin intermediul portului serial într-un format prestabilitDatele sunt parsate ​și împărțite ​în partea ​de distanță și de unghi. ​Dacă distanța primită este mai mică decât limita impusă în cod, se creează un nou obiect ​de tip punctToate aceste obiecte sunt desenate în cadrul funcției drawObjects,​ împreună cu unghiul și distanța ​la care s-a făcut detecțiaRestul ​radarului ​se redesenează la fiecare iterație.+ 
 +**Serial Communication:​**  
 +  * Se inițializează comunicarea serială pentru a primi date de la un dispozitiv radar, conectat la portul COM5 și setat la o viteză de transfer de 9600 baud. 
 + 
 +**Desenarea Elementelor Vizuale:​** 
 + 
 +  * drawRadar():​ Desenează arcele concentrice ​și liniile radiale pentru a reprezenta zona de scanare a radarului. 
 +  * drawObject():​ Detectează și afișează obiectele detectate pe radar în funcție ​de distanță și unghi. 
 +  * drawLine(): Desenează linia rotativă a radarului, indicând direcția de scanare. 
 +  * drawText(): Afișează informații despre ​distanță, unghi și starea de siguranță a mediului înconjurător. 
 + 
 +**Manipularea Datelor de la Radar:** 
 + 
 +  * serialEvent():​ Este activată atunci când sunt primite date de la radar prin comunicarea serialăAceasta interpretează datele primite și extrage ​unghiul și distanța ​obiectelor detectate. 
 + 
 +**Desenarea Componentelor Vizuale:​** 
 + 
 +  * drawArcs(): Desenează arcele concentrice ​care reprezintă diferitele intervale de distanță ale radarului. 
 +  * drawAngleLines():​ Desenează liniile radiale care reprezintă diferitele unghiuri de scanare ale radarului
 +  * drawAngleLabels():​ Desenează marcajele de unghiuri pe radar pentru a indica direcția de scanare. 
 + 
 +**Afișarea Informațiilor:​** 
 + 
 +  * setObjectColor():​ Stabilește culoarea obiectelor detectate în funcție de distanță. 
 +  * drawAngleLabel():​ Desenează etichetele de unghi pentru a indica direcția de scanare a radarului.
 </​note>​ </​note>​
  
Line 113: Line 148:
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+Video cu sistemul radar: https://​youtube.com/​shorts/​3qU8o9yFfes?​si=KjTPv5YFtWFnJ9V1
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +A fost o provocare sa implementez primul meu proiect de acest gen, dar si o introducere utila in acest domeniu. ​
 +
 +Proiectul este functional si pregatit sa serveasca la detectia obiectelor pe o raza minimala.
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Codul sursa al proiectului:​ 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării ​proiectului: ​surse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+ 
 +{{:​pm:​prj2024:​amocanu:​georgescu_andreea.daniela.zip|}}
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. 
-</​note>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
  
 <note tip> <note tip>
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.+  * 25 aprilie: Alegere finala proiect. 
 +  * 30 aprilie: Am comandat piesele. 
 +  * 3 mai: Sosire comanda. 
 +  * 7 mai: Comanda suplimentară pentru piese. 
 +  * 10 mai: Sosire comanda suplimentară. 
 +  * 16 mai: Milestone Hardware. 
 +  * 23 mai: Milestone Software
 </​note>​ </​note>​
  
Line 135: Line 178:
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse ​Software** şi **Resurse ​Hardware**.+In realizarea proiectului m-am folosit de informatii preluate din urmatoarele surse: 
 + 
 +**Resurse ​Hardware:** 
 +  * https://​www.geeksforgeeks.org/​how-to-interface-i2c-lcd-display-with-arduino/​ 
 +  * https://​www.youtube.com/​watch?​v=n-gJ00GTsNg 
 +  * https://​www.ardumotive.com/​how-to-use-a-buzzer-en.html 
 + 
 +**Resurse ​Software:** 
 +  * https://​www.youtube.com/​watch?​v=w5-LD8OGJNs 
 +  * https://​chat.openai.com/ 
 + 
 </​note>​ </​note>​
  
pm/prj2024/amocanu/andreea.georgescu02.1716663204.txt.gz · Last modified: 2024/05/25 21:53 by andreea.georgescu02
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