Proiectul Alcohol-Lock este un sistem de siguranță activă destinat vehiculelor, conceput pentru a condiționa pornirea motorului de starea de sobrietate a șoferului. Dispozitivul măsoară concentrația de alcool din aerul expirat, procesează datele în timp real și acționează un mecanism de blocare simulat, asigurând în același timp stocarea istoricului de testări pe un suport extern. Sistemul vizează eliminarea erorii umane în autoevaluarea capacității de condus, oferind o barieră tehnică obiectivă împotriva condusului sub influența alcoolului.
Dispozitivul integrează module de achiziție date, control și stocare pentru a îndeplini următoarele funcții:
| Componentă | Cantitate | Scop |
|---|---|---|
| Microcontroler ATmega328P | 1 | Unitatea centrală de procesare și control |
| Senzor Alcool MQ-3 | 1 | Achiziția semnalului analogic pentru concentrația de alcool |
| Modul cititor Card SD | 1 | Interfață pentru salvarea datelor pe suport extern |
| Servomotor SG90 | 1 | Simulare mecanică pentru blocarea contactului (PWM) |
| LCD 16×2 cu adaptor I2C | 1 | Afișarea concentrației și a mesajelor de stare |
| Buzzer Pasiv | 1 | Semnalizare acustică a pragurilor critice |
| LED-uri (Roșu/Verde) | 2 | Indicarea vizuală a permisiunii de pornire |
| Buton Push | 1 | Declanșarea manuală a procesului de testare |
| Breadboard Full-size | 1 | Suport pentru realizarea montajului experimental |
| Componentă | Pin ATmega328P | Tip semnal | Justificare |
|---|---|---|---|
| Senzor MQ-3 | PC0 (A0) | Intrare analogică | PC0 este conectat la ADC0; semnalul MQ-3 este tensiune continuă 0–5V proporțională cu concentrația de alcool |
| Buton START | PD2 | Intrare digitală (INT0) | PD2 este legat la întreruperea externă INT0, permițând detecția apăsării fără polling continuu |
| LED Verde | PD6 | Ieșire digitală | Pin digital liber, curent maxim 40 mA — suficient pentru LED cu rezistență 220 Ω |
| LED Roșu | PD7 | Ieșire digitală | Simetric cu LED-ul verde |
| Buzzer Pasiv | PB0 | Ieșire digitală | Buzzerul pasiv necesită ton generat prin tone(); compatibil cu Timer2 intern |
| Servomotor SG90 | PB1 (OC1A) | PWM (Timer1, 16 biți) | Servomotorul necesită PWM la 50 Hz; PB1 conectat la Timer1 pe 16 biți, singura sursă cu rezoluție suficientă |
| LCD SDA | PC4 (SDA) | I2C date | Pin hardware SDA al modulului I2C intern — fix pe PC4 |
| LCD SCL | PC5 (SCL) | I2C ceas | Pin hardware SCL al modulului I2C intern — fix pe PC5 |
| SD Card CS | PB2 | Ieșire digitală (SPI CS) | Chip Select activ LOW; ales liber dintre pinii digitali disponibili |
| SD Card MOSI | PB3 (MOSI) | SPI date ieșire | Pin hardware SPI al ATmega328P — fix pe PB3 |
| SD Card MISO | PB4 (MISO) | SPI date intrare | Pin hardware SPI al ATmega328P — fix pe PB4 |
| SD Card SCK | PB5 (SCK) | SPI ceas | Pin hardware SPI al ATmega328P — fix pe PB5 |
Proiectul software este complet funcțional și structurat modular pe straturi de abstractizare hardware:
Pentru a eficientiza spațiul redus de memorie al microcontrolerului ATmega328P, s-au scris drivere directe pe registre și s-a adăugat o singură bibliotecă externă compactă:
Proiectul realizează un dispozitiv de siguranță autonom bazat pe Edge Processing. Calculele matematice pentru determinarea concentrației clinice (mg/L) din rezistența brută a senzorului sunt executate local, în timp real, direct pe cip. Totodată, componenta de Data Logger securizează utilizarea vehiculului printr-o jurnalizare continuă pe card, formând o barieră tehnică ce previne pornirea neautorizată a motorului.
Sistemul pune în practică concepte fundamentale din laboratoarele de Proiectare cu Microprocesoare:
Aplicația funcționează sub forma unei mașini de stări rulate într-o buclă infinită:
Validarea s-a făcut prin monitorizarea mesajelor de debug pe interfața UART și prin citirea ulterioară a cardului SD pe un PC pentru a asigura scrierea corectă a datelor text.
Demonstrația practică a funcționării sistemului în ambele cazuri de testare:
Demo Video Alcohol-Lock - YouTube
Senzorul MQ-3 își modifică rezistența internă la contactul cu alcoolul. Calibrarea s-a făcut folosind valoarea determinată experimental în aer curat R0 = 60.0 kΩ și o rezistență de sarcină RL = 10.0 kΩ: