Differences

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

Link to this comparison view

pm:prj2025:avaduva:emilia_antonia.toia [2025/05/17 13:57]
emilia_antonia.toia [Hardware Design]
pm:prj2025:avaduva:emilia_antonia.toia [2025/05/25 13:54] (current)
emilia_antonia.toia [Software Design]
Line 81: Line 81:
 ** Diagrama de semnal intrare: ** ** Diagrama de semnal intrare: **
  
-{{:​pm:​prj2025:​avaduva:​diagrama_semnal_intrare_toia.png?​800x200}}+{{:​pm:​prj2025:​avaduva:​diagrama_semnal_intrare_toia.png?​650x200}}
  
-Explicație:​+**Explicație:​**
  
-Aici puneţi tot ce ţine de hardware design: +^ Componentă ​       ^ Pin            ^ Descriere comportament ​                                  ^ 
-  * listă de piese +| IR_SENSOR_1 ​      | D3             | Detectează mașina la intrare. Semnalul trece de la HIGH la LOW. | 
-  * scheme electrice ​(se pot lua şi de pe Internet şi din datasheet-uri, e.ghttp://www.captain.at/electronic-atmega16-mmc-schematic.png) +| SERVO_PIN_1 ​      | D9             | Primește semnal PWM pentru a deschide bariera ​(110°), apoi revine la 0°(3 secunde așteaptă). | 
-  diagrame de semnal ​ +| TRIG_PIN_1 ​       | D4             | Trimite un impuls ​de 10 µs către senzorul ultrasonic pentru a începe măsurarea. | 
-  rezultatele simulării+| ECHO_PIN_1 ​       | D5             | Primește semnal HIGH proporțional cu distanța până la obstacol (mașina). | 
 +| LCD               ​| ​             | Afișează actualizat numărul de locuri libere după intrarea mașinii
 + 
 +** Diagrama de semnal ieșire: ** 
 + 
 +{{:​pm:​prj2025:​avaduva:​diagrama_semnal_iesire_toia.png?​650x200}} 
 + 
 +**Explicație:** 
 + 
 +^ Componentă ​      ^ Pin             ^ Descriere comportament ​                                  ^ 
 +| IR_SENSOR_2 ​     | D2              | Detectează mașina care iese din parcareSemnalul trece de la HIGH la LOW la detectare
 +| SERVO_PIN_2 ​     | D10             | Primește semnal pentru a deschide ușa/poarta (semnal HIGH), apoi o închide (semnal LOW). | 
 +| LCD              |               | Afișează numărul de locuri disponibile,​ actualizat când mașina iese din parcare        | 
 + 
 +** Simulare: ** 
 + 
 +{{:​pm:​prj2025:​avaduva:​simulare_toia.png?​650x400}} 
 + 
 +** Stadiul actual: ** 
 + 
 +{{:​pm:​prj2025:​avaduva:​proiect_1_toia1.jpeg?​650x600}} 
 +{{:​pm:​prj2025:​avaduva:​proiect_1_toia2.jpeg?​650x400}}
 </​note>​ </​note>​
  
Line 96: Line 117:
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei ​(firmware): + 
-  ​* mediu de dezvoltare ​(if any) (e.gAVR StudioCodeVisionAVR+** 1. Mediu de dezvoltare: ** 
-  librării şsurse 3rd-party (e.gProcyon AVRlib) + 
-  algoritmi şstructuri pe care plănuiţi să le implementaţ+- Platformă utilizată: Arduino IDE  
-  * (etapa 3surse şfuncţii implementate+ 
 +- Placă utilizată: Arduino UNO R3 
 + 
 +- Limbaj de programare: C/C++ specific Arduino 
 + 
 +** 2. Librării și surse third-party:​ ** 
 + 
 +- Wire.h – pentru comunicarea I2C. 
 + 
 +- LiquidCrystal_I2C.h – pentru controlul unui afișaj LCD 16x2 cu interfață I2C. 
 + 
 +- Servo.h – pentru controlul servomotoarelor. 
 + 
 +** 3. Surse și funcții implementate ** 
 + 
 +^ Funcție ​        ^ Descriere tehnică ​                                  ^ Observații ​                        ^ 
 +| setup()         | Inițializează pinii, LCD-ul și servo-urile ​         | Se apelează o singură dată         | 
 +| loop() ​         | Rulează continuu și gestionează starea sistemului ​  ​| ​:::                                | 
 +| updateLCD() ​    | Afișează pe LCD locurile disponibile și starea lor  | :::                                | 
 +| checkSlot()     | Verifică dacă un loc este ocupat, cu senzor HC-SR04 | :::                                | 
 +| handleEntry()   | Gestionează intrarea unei mașini ​                   | Afișează mesaj dacă parcarea ​plină | 
 +| handleExit() ​   | Gestionează ieșirea unei mașini ​                    | :::                                | 
 + 
 +** 4Integrarea funcționalităților din laborator: ** 
 + 
 +^ Laborator ​      ^ Concept folosit în proiect ​                    ^ Unde apare în cod / ce face                 ^ 
 +| GPIO            | Configurare pini digitali ca IN/​OUT ​          | setup(): pinMode pentru butoane, trig/​echo ​  | 
 +| UART            | Comunicare serială pentru debug               | Serial.begin() și Serial.print() ​            | 
 +| PWM    | Controlul servomotoarelor prin PWM            | Servo library → myservo.write() ​             | 
 +| I2C             | Comunicare cu LCD 16x2 prin I2C               | LiquidCrystal_I2C lcd(0x2716, 2);           | 
 + 
 +** 5. Scheletul proiectului & interacțiunea dintre componente: ** 
 + 
 +1. //​**Intrare/​ieșire autoturism:​**//​ 
 + 
 +Senzorii IR detectează prezența. 
 + 
 +Dacă există locuri disponibile,​ servomotorul se deschide șavailableSlots se actualizează. 
 + 
 +2. //** Monitorizare locuri:​**//​ 
 + 
 +Fiecare loc de parcare are un senzor HC-SR04 care verifică dacă este ocupat. 
 + 
 +Afișajul LCD indică: 
 + 
 + - Numărul total de locuri libere ​(availableSlots – actualizat doar de IR). 
 + 
 + - Starea fiecărui loc: L = liber, 0 = ocupat
 + 
 +3. //**Afișaj LCD:**// 
 + 
 + - Primul rând: numărul de locuri disponibile. 
 + 
 + - Al doilea rând: codificare pentru starea locurilor. 
 + 
 +** 6. Demo video șexplicații:​ ** 
 + 
 +https://​youtube.com/​shorts/​tx_SWk4TcRA?​feature=share 
 + 
 +** 7. Calibrarea senzorilor: ** 
 + 
 +1. //**IR (detecție):​**//​ 
 + 
 +Testat cu mâna/​obiect negru pentru a determina distanța la care senzorul IR detectează
 + 
 +Asigurat ca starea LOW este returnată doar când e cu adevărat blocat. 
 + 
 +2. //​**HC-SR04:​**//​ 
 + 
 +Testat manual la diferite distanțe. 
 + 
 +DIST_THRESHOLD = 10 cm ales ca limită de ocupare – validat cu obiecte reprezentând mașini 
 + 
 +** 8. Optimizări realizate:​** 
 + 
 + //​**Separare logică a sloturilor șIR:**// 
 + 
 +- Elimină fluctuații false în numărul de locuri. 
 + 
 +- Asigură stabilitate. 
 + 
 + //**Flag-uri entryFlag și exitFlag:​**//​ 
 + 
 +- Evită modificări multiple de locuri dintr-o singură trecere. 
 + 
 +- Elimină necesitatea unor componente debounce hardware. 
 + 
 +- Delay redus în loop()
 + 
 +- A crescut timpul de reacție șresponsivitatea sistemului. 
 + 
 + //​**LCD curățat dinamic:​**//​ 
 + 
 +- Se evită texte fantomă sau caractere rămase de la actualizări.
 </​note>​ </​note>​
  
Line 106: Line 220:
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului ​vostru.+În urma implementării proiectului ​sistemului de parcare automată controlat cu Arduino UNO, s-au obținut următoarele rezultate:​ 
 + 
 +- **Detectarea precisă a vehiculelor la intrare și ieșire**: senzorii IR amplasați la punctele de acces au reușit să detecteze în mod eficient prezența unei mașini, trimițând semnalul corespunzător către Arduino pentru a acționa barierele. 
 + 
 +- **Control automat al barierelor**:​ motoarele servo conectate la bariere au răspuns corect comenzilor primite de la Arduino, ridicând sau coborând barierele în funcție de semnalul primit de la senzorii IR. Astfel, s-a asigurat un flux controlat al vehiculelor în parcare. 
 + 
 +- **Monitorizarea în timp real a locurilor de parcare**: cei patru senzori de parcare au reușit să identifice starea fiecărui loc (ocupat sau liber), trimițând date precise către unitatea de control. 
 + 
 +- **Afișaj informativ pentru utilizatori**:​ display-ul LCD 16x2 a afișat în timp real numărul de locuri disponibile și cele ocupate, oferind utilizatorilor informații clare și utile la momentul potrivit. 
 + 
 +- **Funcționare autonomă și sincronizată a componentelor**:​ întregul sistem a funcționat sincronizat,​ fără intervenție umană, demonstrând o bună integrare între senzori, actuatori și unitatea de control Arduino.
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +Proiectul realizat demonstrează eficiența și viabilitatea utilizării unui sistem automatizat pentru gestionarea locurilor de parcare, bazat pe microcontrolerul Arduino UNO. Implementarea senzorilor IR pentru detecția vehiculelor și a senzorilor de parcare pentru monitorizarea în timp real a locurilor disponibile a dus la crearea unui sistem funcțional,​ precis și ușor de utilizat.
 ===== Download ===== ===== Download =====
  
Line 119: Line 244:
 </​note>​ </​note>​
  
-===== Jurnal ===== 
- 
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
Line 129: Line 249:
 <​note>​ <​note>​
 Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.
 +
 +** 1. Resurse software: **
 +
 +https://​forum.arduino.cc/​t/​project-on-automatic-parking-system/​1083991/​15
 +
 +https://​marobotic.com/​2023/​10/​18/​how-to-make-car-parking-system-using-arduino-and-i2c-lcd-display-automatic-car-parking-system/​
 +
 +** 2. Resurse hardware: **
 +
 +http://​www.ee.ic.ac.uk/​pcheung/​teaching/​DE1_EE/​stores/​sg90_datasheet.pdf
 +
 +https://​www.geeksforgeeks.org/​smart-parking-system-using-arduino/​
 +
 +** 3. Pentru schema electrică și simulare: **
 +
 +https://​www.tinkercad.com/​
 </​note>​ </​note>​
 +
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2025/avaduva/emilia_antonia.toia.1747479454.txt.gz · Last modified: 2025/05/17 13:57 by emilia_antonia.toia
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