This shows you the differences between two versions of the page.
pm:prj2025:iotelea:mario.parfinescu [2025/05/12 22:00] mario.parfinescu [Schema Bloc] |
pm:prj2025:iotelea:mario.parfinescu [2025/05/28 00:13] (current) mario.parfinescu [Rezultate Obţinute] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Punct de control rutier ====== | ====== Punct de control rutier ====== | ||
- | ===== Introducere ===== | + | ==== Introducere ==== |
În punctele de trecere a frontierei sau la intrarea în zone cu acces controlat, verificarea greutății vehiculelor este un pas esențial pentru siguranță și monitorizare. Acest proces, realizat manual, poate fi ineficient și predispus la erori. | În punctele de trecere a frontierei sau la intrarea în zone cu acces controlat, verificarea greutății vehiculelor este un pas esențial pentru siguranță și monitorizare. Acest proces, realizat manual, poate fi ineficient și predispus la erori. | ||
- | ===== Descriere ===== | + | ==== Descriere ==== |
Proiectul simulează o stație automată de cântărire a vehiculelor. Sistemul detectează prezența unui vehicul, cântărește sarcina aplicată pe o celulă de greutate, și afişează informații relevante pe un ecran LCD. În plus, gestionează semnalizarea cu LED-uri și avertizarea sonoră printr-un buzzer. Toate datele colectate sunt salvate pe un card SD pentru analiză ulterioară. | Proiectul simulează o stație automată de cântărire a vehiculelor. Sistemul detectează prezența unui vehicul, cântărește sarcina aplicată pe o celulă de greutate, și afişează informații relevante pe un ecran LCD. În plus, gestionează semnalizarea cu LED-uri și avertizarea sonoră printr-un buzzer. Toate datele colectate sunt salvate pe un card SD pentru analiză ulterioară. | ||
+ | |||
+ | ==== Utilitate ==== | ||
+ | |||
+ | Un punct de control rutier automat scutește necesitatea prezenței permanente a unui angajat care să citească datele obținute în urma cântăririi și să calculeze tariful. Astfel, se economisește timp și se facilitează procesarea unui număr mai mare de autovehicule în aceeași perioadă. Un exemplu excelent de aplicare a acestui proiect este cântărirea TIR-urilor care intră în port, reducându-se astfel cozile de așteptare. | ||
===== Functionalitate ===== | ===== Functionalitate ===== | ||
Line 14: | Line 18: | ||
* Măsoară greutatea vehiculului cu o celulă de sarcină | * Măsoară greutatea vehiculului cu o celulă de sarcină | ||
* Afișează greutatea și tariful calculat pe un ecran LCD I2C | * Afișează greutatea și tariful calculat pe un ecran LCD I2C | ||
- | * Salvează datele pe un card SD (greutate, tarif, oră) | + | * Salvează datele pe un Stick extern (greutate, tarif, oră) |
* Emite un semnal sonor prin buzzer și aprinde LED-ul verde dacă trecerea este permisă | * Emite un semnal sonor prin buzzer și aprinde LED-ul verde dacă trecerea este permisă | ||
* Ridică bariera pentru a permite vehiculului să treacă | * Ridică bariera pentru a permite vehiculului să treacă | ||
Line 21: | Line 25: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | ===== Schema Bloc ===== | + | === Schema Bloc === |
+ | {{:pm:prj2025:iotelea:pct-schema_bloc_final.png?300|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | ===== Lista de piese ===== | + | === Lista de piese === |
- | * LCD 1602 cu Interfata I2C | + | * [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/2894-lcd-cu-interfata-i2c-si-backlight-albastru.html?search_query=LCD+1602+cu+Interfata+I2C+si+Backlight+Albastru&results=2|LCD 1602 cu Interfata I2C]] |
- | * Celula de Sarcina de 10 kg cu Amplificator HX711 | + | * [[https://www.optimusdigital.ro/ro/altele/5578-celula-de-sarcina-de-10-kg-cu-amplificator-hx711.html?search_query=Celula+de+Sarcina+de+10+kg+cu+Amplificator+HX711&results=5|Celula de Sarcina de 10 kg cu Amplificator HX711]] |
- | * Buzzer Activ de 5 V | + | * [[https://www.optimusdigital.ro/ro/audio-buzzere/633-buzzer-activ-de-5-v.html?search_query=Buzzer+Activ+de+5+V&results=18|Buzzer Activ de 5 V]] |
- | * Micro Servomotor SG90 90° | + | * [[https://www.optimusdigital.ro/ro/motoare-servomotoare/26-micro-servomotor-sg90.html?search_query=Micro+Servomotor+SG90+90%C2%B0&results=9|Micro Servomotor SG90 90°]] |
- | * Breadboard HQ | + | * [[https://www.optimusdigital.ro/ro/prototipare-breadboard-uri/44-breadboard-400-points.html?search_query=Breadboard+HQ+%28400+Points%29&results=1|Breadboard HQ]] |
- | * Placa dezvoltare Arduino ATmega2560 | + | * [[https://www.optimusdigital.ro/ro/compatibile-cu-arduino-mega/471-placa-de-dezvoltare-compatibila-cu-arduino-mega-2560-atmega2560-ch340.html?search_query=Placa+de+dezvoltare+compatibila+cu+Arduino+MEGA+2560+%28ATmega2560+++CH340%29&results=5|Placa dezvoltare Arduino ATmega2560]] |
+ | |||
+ | |||
+ | {{:pm:prj2025:iotelea:pct_schema_el.png|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | + | Aplicația este dezvoltată pentru platforma Arduino Mega 2560, folosind mediul de dezvoltare PlatformIO integrat în Visual Studio Code. Firmware-ul controlează un sistem de cântărire rutieră cu barieră automată, afișaj LCD și semnalizare acustică/vizuală. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * 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> | + | |
- | ===== Rezultate Obţinute ===== | + | === Mediu de dezvoltare === |
+ | * PlatformIO (configurat în platformio.ini) | ||
+ | * Visual Studio Code (fișiere de configurare în .vscode/) | ||
- | <note tip> | + | === Librării și surse 3rd-party === |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | * HX711 pentru citirea datelor de la celula de sarcină (HX711.h) |
- | </note> | + | * Servo pentru controlul servomotorului barierei |
+ | * LiquidCrystal_I2C pentru afișajul LCD I2C | ||
+ | * Wire pentru comunicația I2C | ||
- | ===== Concluzii ===== | + | === Algoritmi și structuri implementate === |
- | ===== Download ===== | + | * Filtrare și stabilizare măsurători: Funcția masurare_stabila citește de n ori greutatea, sortează valorile, calculează mediana și apoi media pe 50% din valorile centrale pentru a elimina extremele și a obține o valoare stabilă. |
+ | * Control barieră: Servomotorul este controlat pentru a coborî/ridica bariera în funcție de prezența unei greutăți pe cântar. | ||
+ | * Semnalizare: LED-uri și buzzer pentru semnalizare acustică/vizuală la cântărire. | ||
+ | * Afișare LCD: Mesaje dinamice pe LCD pentru utilizator (așteptare, cântărire, rezultat, ridicare barieră). | ||
+ | === Surse și funcții implementate === | ||
+ | * main.cpp: conține logica principală, inițializări, bucla principală și funcțiile de control al barierei, semnalizării și afișajului. | ||
+ | * functii.h: funcția masurare_stabila pentru filtrarea măsurătorilor de la senzorul de greutate. | ||
+ | * USB.py: script python care citeste datele transmise prin Serial catre laptop in timp ce se efectueaza masuratorile, ascultand pe canalul cu care device-ul comunica cu Micro-controller-ul(COM5). Acesta trebuie sa ruleze in paralel cu tot programul. | ||
- | <note warning> | ||
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | ||
- | 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**. | + | === Github === |
- | </note> | + | Codul poate fi gasit in totalitate pe Github: |
+ | * [[https://github.com/Mario170000/Punct-Control-Rutier|Punct Control Rutier]] | ||
+ | |||
+ | |||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | * În urma realizării proiectului, m-am familiarizat cu utilizarea platformei Arduino și a mediului de dezvoltare PlatformIO, precum și cu integrarea și configurarea diverselor componente hardware, cum ar fi celula de sarcină, servomotorul, afișajul LCD și elementele de semnalizare acustică și vizuală. | ||
+ | * Rezultatul final a fost un punct de control rutier funcțional, capabil să cântărească automat vehiculele și să gestioneze accesul acestora într-un mod eficient și sigur. | ||
- | ===== Jurnal ===== | + | {{:pm:prj2025:iotelea:pct-final.png|}} |
- | <note tip> | + | ===== Demo ===== |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
- | ===== Bibliografie/Resurse ===== | + | * * [[https://drive.google.com/file/d/1-RZ4SVjn1B21DONza0jcLR8FOZPPD3Zv/view?usp=drive_link|Demo Proiect]] |
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||