This shows you the differences between two versions of the page.
pm:prj2025:iotelea:mario.parfinescu [2025/05/26 11:37] mario.parfinescu [Functionalitate] |
pm:prj2025:iotelea:mario.parfinescu [2025/05/28 00:13] (current) mario.parfinescu [Rezultate Obţinute] |
||
---|---|---|---|
Line 37: | Line 37: | ||
* [[https://www.optimusdigital.ro/ro/prototipare-breadboard-uri/44-breadboard-400-points.html?search_query=Breadboard+HQ+%28400+Points%29&results=1|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]] | ||
* [[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]] | * [[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> | ||