Differences

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

Link to this comparison view

pm:prj2025:vradulescu:andrei.cojocaru0811 [2025/05/18 13:59]
andrei.cojocaru0811 [Descriere generală]
pm:prj2025:vradulescu:andrei.cojocaru0811 [2025/05/25 18:21] (current)
andrei.cojocaru0811 [Descriere generală]
Line 46: Line 46:
 | [[https://​www.alldatasheet.com/​html-pdf/​1148027/​ESPRESSIF/​ESP32-WROOM-32D/​9289/​16/​ESP32-WROOM-32D.html |ESP32]] ​    ​| ​ | [[https://​www.alldatasheet.com/​html-pdf/​1148027/​ESPRESSIF/​ESP32-WROOM-32D/​9289/​16/​ESP32-WROOM-32D.html |ESP32]] ​    ​| ​
 | [[https://​cdn.velleman.eu/​downloads/​29/​infosheets/​sh1106_datasheet.pdf|display OLED]] ​    ​| ​ | [[https://​cdn.velleman.eu/​downloads/​29/​infosheets/​sh1106_datasheet.pdf|display OLED]] ​    ​| ​
-//Toate componentele au fost achiziționate de pe// **eMag**+//Toate componentele au fost achiziționate de pe// **eMAG**
  
 {{schema999.png ​ ??​250x180 ​ }}  ​ {{schema999.png ​ ??​250x180 ​ }}  ​
 {{  COMUNICARI999.png ??250x180}} {{  COMUNICARI999.png ??250x180}}
-{{perc30.jpg??​250x80}} +{{perc30.jpg??​250x200}}
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\+
 \\ \\
 \\ \\
 +
 ===== Software Design ===== ===== Software Design =====
  
 +=== Descrierea codului aplicației (firmware) ===
 +Proiectul constă într-un sistem embedded realizat cu microcontrolerul ESP32 care monitorizează calitatea aerului folosind senzorul MQ135. Sistemul afișează datele în două moduri alternative pe un display OLED SPI 128x64: scor numeric cu interpretare și grafic în timp real. Modul de afișare poate fi schimbat prin apăsarea butonului BOOT.
  
-<note tip> +Valoarea calității aerului este transmisă și prin Bluetooth Low Energy ​(BLEcătre un dispozitiv mobil conectatiar starea este indicată șprin LED-uri RGB controlate prin PWM – generând un gradient de la roșu (aer poluatla verde (aer curat).
-Descrierea codului aplicaţiei ​(firmware)+
-  * mediu de dezvoltare (if any) (e.g. AVR StudioCodeVisionAVR) +
-  * librării şsurse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute =====+=== Mediu de dezvoltare ​=== 
 +  * PlatformIO în Visual Studio Code 
 +  * Framework: Arduino pentru ESP32
  
-<note tip> +=== Librării și surse 3rd-party === 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +  * Adafruit GFX Library – pentru desenarea graficelor și textului 
-</​note>​+  * Adafruit SSD1306 – pentru controlul display-ului OLED SPI 
 +  * ESP32 BLE Arduino – pentru comunicația BLE
  
-===== Concluzii =====+=== Algoritmi și structuri implementate ​=== 
 +  * Buffer circular cu 128 de elemente pentru istoricul valorilor senzorului 
 +  * PWM pe două canale hardware pentru LED-urile roșu și verde 
 +  * Comutare între moduri de afișare cu butonul BOOT 
 +  * Mapare valori senzor pentru afișare pe axa Y și intensitate LED-uri 
 +  * Afișare grafică cu axe X (timp) și Y (valoare), inclusiv etichete la fiecare 5 secunde
  
-===== Download =====+=== Etapa 3 – Surse și funcții implementate ​=== 
 +  * Fișier principal: `main.cpp` 
 +  * Funcții principale:​ 
 +    * `setup()` – inițializează OLED, PWM, BLE și butonul 
 +    * `loop()` – citire senzor, actualizare LED, transmitere BLE, afișare 
 +    * `afiseazaScor()` – scor numeric și interpretare textuală 
 +    * `afiseazaGrafic()` – grafic în timp real cu axe și legendă 
 +  * LED-uri controlate cu `ledcSetup()` și `ledcWrite()` 
 +  * Axa X marcată din 5 în 5 secunde, iar axa Y cu praguri 0 / 2k / 4k 
 +  * BLE configurat pentru notificări folosind `ESP32 BLE Arduino`
  
-<note warning> +=== Surse utilizate și resurse consultate === 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+  * https://github.com/​adafruit/​Adafruit_SSD1306 
 +  * https://​github.com/​adafruit/​Adafruit-GFX-Library 
 +  * https://​github.com/​nkolban/​ESP32_BLE_Arduino 
 +  * https://​randomnerdtutorials.com/​esp32-ble-server-arduino-ide/​ 
 +  * https://​randomnerdtutorials.com/​esp32-oled-display-arduino-ssd1306/​ 
 +  * https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​ 
 +  * Forumuri: Arduino, ESP32, StackOverflow
  
-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 Alin331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +===== Rezultate Obținute ===== 
-</​note>​+  * Afișare scor și grafic al calității aerului ​pe OLED SPI 
 +  ​Comutare mod afișare cu buton BOOT 
 +  ​LED-uri cu gradient ​de la roșu (poluat) la verde (curat) 
 +  ​Afișare grafică clară cu axe și etichete temporale 
 +  ​Notificări BLE în timp real tre telefon 
 +  ​Sistem autonomstabil, și estetic
  
-===== Jurnal ​=====+===== Concluzii ​=====
  
-<note tip> +Proiectul a demonstrat integrarea cu succes a unui senzor analog cu componente digitale școmunicație BLE, folosind ESP32. Codul este modular ​și extensibil, fiind bază solidă pentru aplicații de monitorizare ambientală. A reprezentat o experiență practică valoroasă în dezvoltarea embedded, cu accent pe afișare grafică, interacțiune utilizator și comunicare wireless.
-Putețavea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2025/vradulescu/andrei.cojocaru0811.1747565991.txt.gz · Last modified: 2025/05/18 13:59 by andrei.cojocaru0811
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