Differences

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

Link to this comparison view

pm:prj2024:mdinica:amarinescu2409 [2024/05/27 01:29]
amarinescu2409
pm:prj2024:mdinica:amarinescu2409 [2024/05/27 01:39] (current)
amarinescu2409
Line 54: Line 54:
  
 ===== Software Design ===== ===== Software Design =====
- 
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei (firmware): +Link către repo-ul de Github cu codul sursăhttps://​github.com/​AlexMari1234/​Parcare-rezidentiala
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate+
 </​note>​ </​note>​
  
-# Software Design +===== Mediul de Dezvoltare ​=====
- +
-<note tip> +
-Link către repo-ul de Github cu codul sursă: [https://​github.com/​proiectul-tau-parcare/​Arduino-Parking-System](https://​github.com/​proiectul-tau-parcare/​Arduino-Parking-System) +
-</​note>​ +
- +
-## Mediul de Dezvoltare+
 Codul este destinat a fi rulat pe o platformă Arduino, utilizând mediul de dezvoltare Arduino IDE. Arduino IDE oferă suport pentru scrierea, compilarea și încărcarea codului pe plăcile de dezvoltare Arduino. Mediul de dezvoltare este ales pentru simplitatea sa și pentru suportul extins al comunității pentru proiecte de automatizare și robotică. Codul este destinat a fi rulat pe o platformă Arduino, utilizând mediul de dezvoltare Arduino IDE. Arduino IDE oferă suport pentru scrierea, compilarea și încărcarea codului pe plăcile de dezvoltare Arduino. Mediul de dezvoltare este ales pentru simplitatea sa și pentru suportul extins al comunității pentru proiecte de automatizare și robotică.
  
-## Librării ​și Surse Terțe+===== Librării=====
 Codul utilizează mai multe librării pentru a gestiona diverse componente hardware: Codul utilizează mai multe librării pentru a gestiona diverse componente hardware:
-- `Servo.h`: Furnizată de Arduino, simplifică controlul servomotoarelor. Această librărie gestionează generarea semnalelor PWM necesare pentru a controla un servo motor standard. 
-- `MFRC522.h`:​ Librărie utilizată pentru interfațarea cu cititorul RFID MFRC522. 
-- `LiquidCrystal_I2C.h`:​ Utilizată pentru controlul unui ecran LCD cu interfață I2C, simplificând astfel conectarea și comunicarea cu ecranul. 
  
-## Organizarea Codului +- **Servo.h**:​ Furnizată de Arduino, simplifică controlul servomotoarelorAceastă librărie gestionează generarea semnalelor PWM necesare pentru ​controla un servo motor standard.
-Codul este structurat în două secțiuni principale: `setup()` și `loop()`Secțiunea `setup()` este destinată inițializării componentelor hardware și configurării inițiale ​sistemului, în timp ce `loop()` conține logica principală care se repetă continuu în timpul funcționării dispozitivuluiCodul include următoarele elemente:+
  
-### Include librării +- **MFRC522.h**:​ Librărie utilizată pentru ​interfațarea cu cititorul ​RFID MFRC522.
-La început, codul include librăriile necesare ​pentru ​controlul servomotorului,​ cititorului ​RFID și ecranului LCD. Aceasta asigură că toate funcționalitățile necesare sunt disponibile pe parcursul programului.+
  
-### Definește constante +**LiquidCrystal_I2C.h**: Utilizată ​pentru ​controlul unui ecran LCD cu interfață I2Csimplificând astfel conectarea ​și comunicarea cu ecranul.
-Utilizează directive `#define` pentru a denumi pinii senzorilor ultrasonici,​ LED-urilor, butonului și cititorului RFIDDe asemenea, sunt definite constante ​pentru ​timpii de operare ai servo motoruluipentru a simplifica modificările ulterioare ​și a crește lizibilitatea codului.+
  
-### Inițializează variabile +===== Organizarea Codului ===== 
-Declara variabile pentru a păstra starea inițială a servo motorului ​și pentru a gestiona temporizarea acțiunilor, cum ar fi timpul de ridicare ​și coborâre ​bariereiprecum și gestionarea stării de deschidere a barierei.+Codul este structurat în două secțiuni principale: `setup()` ​și `loop()`. Secțiunea `setup()` este destinată inițializării componentelor hardware ​și configurării inițiale ​sistemuluiîn timp ce `loop()` conține logica principală care se repetă continuu în timpul funcționării dispozitivuluiCodul include următoarele elemente:
  
-### Configurare inițială (`setup()`) +  - **Include librării**: La început, codul include librăriile necesare ​pentru ​controlul servomotoruluicititorului RFID și ecranului ​LCD. Aceasta asigură că toate funcționalitățile necesare sunt disponibile pe parcursul ​programului.
-Această secțiune inițializează comunicația serială, configurarea pinilor ​pentru ​servo motorsenzorii ultrasonici,​ LED-uri, buton și ecran LCD. Inițializarea componentelor hardware este esențială pentru a asigura ​că toate dispozitivele ​funcționează corect de la începutul execuției programului.+
  
-## Logica de control (`loop()`) +  - **Defineste constante**:​ Utilizează directive `#definepentru ​denumi pinii senzorilor ultrasonici,​ LED-urilor, butonului ​și cititorului ​RFID. De asemeneasunt definite constante pentru timpii ​de operare ai servo motoruluipentru a simplifica modificările ulterioare ​și a crește lizibilitatea codului.
-Aceasta este secțiunea principală ​codului care se repetă continuu ​și conține logica necesară pentru operarea sistemului de parcare. Include verificări pentru detectarea cardurilor ​RFID, citirea distanțelor ​de la senzorii ultrasonicicontrolul LED-urilor ​și gestionarea afișării informațiilor pe ecranul LCD.+
  
-### Verificarea RFID și butonului +  - **Inițializează variabile**:​ Declara variabile pentru a păstra starea inițială a servo motorului și pentru a gestiona temporizarea acțiunilor,​ cum ar fi timpul ​de ridicare ​și coborâre ​a barierei, ​precum ​și gestionarea stării de deschidere a barierei.
-Codul verifică continuu dacă există un card RFID nou prezent sau dacă butonul ​de ieșire fost apăsat. Dacă este detectat un card, se verifică dacă acesta este autorizat. Dacă este autorizat, se gestionează ridicarea ​barierei. Similardacă butonul este apăsat, se declanșează deschiderea ​barierei.+
  
-### Măsurarea distanței și controlul LED-urilor +  - **Configurare inițială (`setup()`)**:​ Această secțiune inițializează comunicația serială, configurarea pinilor pentru servo motor, ​senzorii ultrasonici, LED-uri, buton și ecran LCD. Inițializarea componentelor hardware ​este esențială pentru a asigura că toate dispozitivele funcționează corect ​de la începutul execuției programului.
-Funcțiile dedicate măsoară distanțele utilizând ​senzorii ultrasonici și controlează LED-urile în funcție de aceste măsurători. Dacă un obiect ​este detectat la o distanță mai mică de 8 cm, LED-ul corespunzător se aprinde, indicând că locul de parcare este ocupat.+
  
-### Actualizarea afișajului LCD +  - **Logica de control (`loop()`)**:​ Aceasta este secțiunea principală a codului care se repetă continuu ​și conține logica necesară pentru operarea sistemului ​de parcare. Include verificări pentru detectarea cardurilor RFID, citirea distanțelor de la senzorii ultrasonici,​ controlul LED-urilor ​și gestionarea ​afișării informațiilor pe ecranul LCD.
-Numărul locurilor ​de parcare ​libere este calculat ​și afișat pe ecranul LCD în timp real. Aceasta oferă utilizatorilor ​informații vizuale despre disponibilitatea locurilor de parcare.+
  
-### Gestionarea servo motorului +===== Algoritmi și Structuri Implementate ===== 
-Servo motorul este controlat pentru a ridica ​și a coborî bariera ​de acces în parcare ​la detectarea ​unui card RFID autorizat sau la apăsarea unui buton. Codul gestionează temporizarea ​pentru a menține bariera ridicată timp de 5 secunde înainte ​de a o coborî înapoi.+  - **Citirea senzorilor ultrasonici**:​ Valorile de la trei senzori ultrasonici sunt citite ​și utilizate pentru ​determina dacă un loc de parcare ​este ocupat. Aceasta se face prin trimiterea ​unui puls de trigger și măsurarea timpului de răspuns al pulsului de ecou pentru a calcula distanța. 
 +   
 +  - **Controlul LED-urilor**:​ LED-urile sunt aprinse sau stinse pe baza distanțelor măsurate ​de senzori. Dacă distanțeste mai mică de 8 cm, LED-ul corespunzător se aprinde.
  
-## Algoritmi și Structuri Implementate +  ​- **Controlul servo motorului**:​ Servo motorul este controlat pentru a ridica și a coborî bariera de acces. Dacă un card RFID autorizat este detectat sau butonul de ieșire este apăsat, bariera se ridică pentru 5 secunde și apoi coboară automat.
-- **Citirea senzorilor ultrasonici**:​ Valorile de la trei senzori ultrasonici sunt citite și utilizate pentru a determina dacă un loc de parcare este ocupat. Aceasta se face prin trimiterea unui puls de trigger și măsurarea timpului de răspuns al pulsului de ecou pentru a calcula distanța. +
-- **Controlul LED-urilor**:​ LED-urile sunt aprinse sau stinse pe baza distanțelor măsurate de senzori. Dacă distanța este mai mică de 8 cm, LED-ul corespunzător se aprinde. +
-- **Controlul servo motorului**:​ Servo motorul este controlat pentru a ridica și a coborî bariera de acces. Dacă un card RFID autorizat este detectat sau butonul de ieșire este apăsat, bariera se ridică pentru 5 secunde și apoi coboară automat+
-- **Afișarea pe ecranul LCD**: Ecranul LCD este utilizat pentru a afișa numărul de locuri de parcare libere și mesaje de status (ex. "​Authorized access",​ "​Access denied",​ "​Button pressed"​).+
  
-## Rezultate Obținute +  ​**Afișarea pe ecranul LCD**: ​Ecranul LCD este utilizat pentru a afișnumărul ​de locuri ​de parcare libere și mesajul ​de status "​Parking free spots".
-Sistemul permite deschiderea ​și închiderea barierei de acces în parcare la detectarea unui card RFID autorizat sau la apăsarea unui buton. +
-Ecranul LCD afișează în timp real numărul ​locurilor ​de parcare libere+
-- LED-urile indică vizual starea fiecărui loc de parcare. +
-- Sistemul oferă o soluție eficientă ​și automatizată pentru gestionarea accesului și a disponibilității locurilor ​de parcare într-o parcare rezidențială. +
- +
-===== Rezultate Obţinute ===== +
- +
-<note tip> +
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
-===== Concluzii ​=====+===== Rezultate Obținute ​===== 
 +  - Sistemul permite deschiderea și închiderea barierei de acces în parcare la detectarea unui card RFID autorizat sau la apăsarea unui buton. 
 +  - Ecranul LCD afișează în timp real numărul locurilor de parcare libere. 
 +  - LED-urile indică vizual starea fiecărui loc de parcare. 
 +  - Sistemul oferă o soluție eficientă și automatizată pentru gestionarea accesului și a disponibilității locurilor de parcare într-o parcare rezidențială.
  
 ===== Download ===== ===== Download =====
pm/prj2024/mdinica/amarinescu2409.1716762583.txt.gz · Last modified: 2024/05/27 01:29 by amarinescu2409
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