This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:adela_andreea.marin [2026/05/08 23:29] adela_andreea.marin created |
pm:prj2026:bianca.popa1106:adela_andreea.marin [2026/05/09 23:16] (current) adela_andreea.marin |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== EnviroMind ====== | ====== EnviroMind ====== | ||
| + | |||
| ===== Introducere ===== | ===== Introducere ===== | ||
| Line 8: | Line 9: | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | <note tip> | + | Sistemul este construit în jurul microcontrollerului **ATmega328P Xplained Mini**, care coordonează toți senzorii și perifericele. Un modul **ESP32** conectat prin UART găzduiește un server web accesibil prin WiFi, oferind un dashboard în timp real. |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | {{:pm:prj2026:bianca.popa1106:bloc_diagram.png|Schema bloc EnviroMind}} |
| - | </note> | + | |
| + | ==== Module ==== | ||
| + | |||
| + | * **ATmega328P Xplained Mini** - microcontroller principal, coordonează toți senzorii și perifericele | ||
| + | * **ESP32 DevKit** - găzduiește un server web accesibil prin WiFi, primește date de la ATmega prin UART | ||
| + | * **AHT20 + BMP280** - măsoară temperatura, umiditatea și presiunea atmosferică prin I2C | ||
| + | * **APDS-9960** - detectează gesturi (UP/DOWN/LEFT/RIGHT) prin I2C, semnalizează prin întrerupere externă | ||
| + | * **MiCS-5524** - senzor analogic pentru calitatea aerului, citit prin ADC | ||
| + | * **LCD 16x2 cu modul I2C** - afișează datele senzorilor și alertele | ||
| + | * **Modul MicroSD** - stochează profilul de calibrare și logurile CSV prin SPI | ||
| + | * **LED-uri (x3)** - indicatori vizuali de status | ||
| + | * **Buzzer pasiv** - alertă sonoră prin semnal PWM | ||
| + | |||
| + | |||
| + | ==== Interacțiuni între module ==== | ||
| + | |||
| + | * **I2C:** ATmega comunică cu LCD, APDS-9960, AHT20 și BMP280 pe același bus. Fiecare dispozitiv are adresă unică. | ||
| + | * **ADC:** ATmega citește tensiunea analogică de la MiCS-5524 și o convertește digital. | ||
| + | * **SPI:** ATmega accesează modulul MicroSD pentru salvarea profilului de calibrare și logarea periodică a datelor în format CSV. | ||
| + | * **UART:** ATmega trimite datele senzorilor către ESP32. Deoarece ATmega operează la 5V logic și ESP32 la 3.3V, linia TX a ATmega trece printr-un voltage divider rezistiv înainte de a ajunge la RX-ul ESP32. | ||
| + | * **GPIO:** ATmega controlează cele 3 LED-uri de status în funcție de nivelul de anomalie detectat. | ||
| + | * **PWM:** ATmega generează semnal PWM pentru buzzer la detectarea valorilor critice. | ||
| + | * **Întrerupere externă:** Pinul INT al APDS-9960 este conectat la INT0 al ATmega pentru detecția gesturilor fără polling. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| - | <note tip> | + | ==== Listă de componente ==== |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | |
| - | * rezultatele simulării | + | |
| - | </note> | + | |
| - | ===== Software Design ===== | + | ^ Componentă ^ Protocol ^ Tensiune ^ |
| + | | ATmega328P Xplained Mini | - | 5V | | ||
| + | | ESP32 DevKit | UART | 3.3V | | ||
| + | | Senzor AHT20 + BMP280 (modul combinat) | I2C | 3.3V | | ||
| + | | Senzor gesturi APDS-9960 | I2C | 3.3V | | ||
| + | | Senzor calitate aer MiCS-5524 | ADC | 5V | | ||
| + | | Display LCD 16x2 cu modul I2C | I2C | 5V | | ||
| + | | Modul MicroSD SPI | SPI | 3.3V/5V | | ||
| + | | Buzzer | PWM | 5V | | ||
| + | | LED | GPIO | 5V | | ||
| - | <note tip> | + | ==== Schema electrică ==== |
| - | Descrierea codului aplicaţiei (firmware): | + | |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | ===== Software Design ===== |
| - | * 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 ===== | ===== Rezultate Obţinute ===== | ||