This is an old revision of the document!
Proiectul este unul de automatizare care combină controlul industrial cu monitorizarea siguranței ambientale. Este un sistem de ventilație inteligent, ce gestionează calitatea aerului și temperatura într-o incintă.
Dispozitivul monitorizează constant doi parametri critici: temperatura (prin senzorul analogic LM35D) și prezența gazelor inflamabile sau a fumului (prin senzorul MQ-2). În funcție de valorile citite, sistemul ajustează automat turația unui ventilator folosind semnale PWM, afișează datele în timp real pe un ecran LCD I2C și avertizează vizual utilizatorul prin LED-uri de stare.
Am ales acest proiect deoarece integrează fluxuri de date analogice cu logică de control în timp real. Direcția este una utilă în scenarii reale, precum camere de servere sau ateliere, unde ventilația trebuie să fie eficientă energetic dar și să reacționeze instantaneu la pericole (scurgeri de gaze). Elementul central este logica de override: indiferent de temperatură, detectarea fumului forțează sistemul în mod de alertă maximă.
Proiectul utilizează microcontrolerul ATmega328P ca unitate centrală de procesare. Acesta interfațează cu mediul prin senzori analogici, procesează datele prin unitatea ADC internă și comandă perifericele de ieșire. Cum interacționează modulele:
• Senzor LM35D - furnizează o tensiune proporțională cu temperatura ambientală.
• Senzor MQ-2 - detectează concentrația de gaz/fum și trimite semnal analogic către MCU.
• Driver L298N + Ventilator - primește semnal PWM pentru a varia viteza motorului de 12V.
• LCD 1602 (I2C) - afișează temperatura în grade Celsius și statusul sistemului (Low/Med/High/Alarm).
• LED-uri (Verde, Galben, Roșu) - oferă feedback vizual rapid asupra stării curente.
Concepte din laboratoare folosite:
• Laboratorul 3: PWM - pentru controlul vitezei ventilatorului prin registrul OCR0A.
• Laboratorul 4: ADC - pentru citirea valorilor analogice de la LM35D și MQ-2.
• Laboratorul 6: I2C - pentru comunicarea cu ecranul LCD folosind pinii SDA/SCL.
| Componentă | Rol |
|---|---|
| ATmega328P (Xplained Mini) | Microcontroler principal |
| LM35D Analog Sensor | Măsurarea temperaturii ambientale (10mV/°C) |
| MQ-2 Gas Sensor | Detectarea fumului și a gazelor inflamabile |
| L298N Driver | Interfață de putere între MCU și ventilator |
| DC Fan (12V) | Actuator pentru răcire și evacuare |
| LCD 1602 cu adaptor I2C | Afișaj alfanumeric pentru telemetrie |
| 3x LED-uri (V, G, R) | Indicatori vizuali pentru praguri și alerte |
| Sursă externă 12V | Alimentarea ventilatorului și a driverului |
1.Inițializare: Configurare ADC (prescaler, referință), PWM (Timer 0), I2C (frecvență bus) și pini I/O.
2.Bucla principală:
*Eșantionare ciclică a canalelor ADC0 (MQ-2) și ADC1 (LM35).
*Conversia valorii brute ADC în unități de măsură (°C).
*Logica de decizie:
*Dacă Gaz > Prag: Viteza = 100% (Override), LED Roșu intermitent. *Dacă Gaz < Prag: Viteza se ajustează după temperatură (0% sub 25°C, 60% la 25-30°C, 100% peste 30°C). *Actualizare LCD și LED-uri.
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.