Table of Contents

Breathalyzer cu Mecanism de Blocare pentru Chei Auto

Introducere

Proiectul constă în realizarea unui dispozitiv etilotest digital portabil, care detectează nivelul de alcool din aerul expirat utilizând senzorul MQ-3. Pe lângă afișarea rezultatelor pe un displayși oferirea de feedback vizual și sonor, proiectul include un mecanism de siguranță suplimentar: un motor acționează un sistem de blocare care restricționează accesul la cheile mașinii în cazul unui nivel ridicat de alcool. Astfel, dispozitivul nu doar informează utilizatorul, ci contribuie activ la prevenirea luării unor decizii periculoase în trafic.

Scopul Proiectului

Scopul principal al acestui proiect este de a crea un sistem accesibil și eficient care să permită utilizatorilor să evalueze rapid nivelul de alcool din respirație înainte de a decide dacă sunt apți pentru a conduce.

===== Mod de funcționare =====

După inițializare și încălzirea senzorului MQ-3, utilizatorul poate porni testul prin apăsarea butonului. Timp de aproximativ 7 secunde, senzorul captează nivelul de alcool din aerul expirat. Datele sunt analizate de către microcontrollerul Arduino, care determină în ce categorie de risc se încadrează utilizatorul.

Rezultatul este afișat pe ecran și este însoțit de un semnal sonor distinct. Dacă nivelul este sigur, motorul acționează un mecanism ce eliberează cheile mașinii. În caz contrar, acestea rămân blocate. Astfel, sistemul oferă o reacție imediată, clară și preventivă, orientată spre siguranța utilizatorului.

Descriere Generală

Dispozitivul este alcătuit din următoarele componente principale:

Toate aceste componente funcționează împreună pentru a oferi un sistem complet, care nu doar evaluează nivelul de alcool, ci și acționează asupra unui element fizic de control — blocarea cheilor auto.

Hardware Design

Lista de piese:

Conexiuni pini

Pin Arduino Tip Conectat la Descriere
D2 Digital / INT0 Buton Buton pentru inițiere test / închidere ușă, folosește întrerupere externă INT0 cu debounce.
D4 Digital Buzzer activ HND-2312 Emitere semnal sonor pentru avertizare sau confirmare.
D7 Digital LED verde Aprins când utilizatorul este apt de condus.
D6 Digital LED galben Aprins când nivelul necesită așteptare (valoare medie).
D8 Digital LED roșu Aprins când nivelul de alcool este periculos.
D9 (OC1A) PWM hardware Servo motor SG90 Controlează servo-ul care eliberează sau blochează cheia. PWM generat de Timer1.
A0 Analog input Senzor MQ-3 Citește nivelul de alcool prin conversie analog-digital (ADC).
A4 (SDA) I2C data line LCD1602 I2C Comunicare I2C cu modulul de afișaj LCD (date).
A5 (SCL) I2C clock line LCD1602 I2C Comunicare I2C cu modulul de afișaj LCD (clock).
GND Power Masă comună Conexiune de masă pentru toate componentele (comună cu bateriile și senzorul).
5V Power LCD, senzor MQ-3, LED-uri Tensiune stabilă furnizată de Arduino pentru alimentarea componentelor cu consum mic.

Software Design

https://github.com/Paulsmek/Breathalyzer-with-lock

Laboratoare folosite

Implementarea logicii

Programul începe prin apelarea funcțiilor de inițializare:

După inițializare, începe faza de încălzire a senzorului MQ-3, folosind variabila `systicks` pentru temporizare. Progresul este afișat pe LCD în procente.

După terminarea încălzirii:

După finalizarea măsurării:

Dacă ușa este deschisă:

În final:

Funcții auxiliare

Generează un număr specificat de beep-uri scurte, fiecare având o durată configurabilă în milisecunde. Este utilizată pentru avertizare (galben) sau confirmare (verde).

Inițiază o conversie analog–digitală pe pinul A0 și returnează valoarea digitală corespunzătoare nivelului de alcool detectat de senzorul MQ-3. Este apelată periodic în timpul măsurării și în faza de stabilizare.

Configurează întreruperea externă INT0 pentru a detecta apăsarea butonului de test. Activează flancul descendent și permite reacția instantanee prin `ISR(INT0_vect)`.

Trimite 4 biți către LCD (în mod comandă sau date), împreună cu semnalul de strobe (`ENABLE`). Este parte din comunicația I2C la nivel de protocol LCD.

==== Nivele de citire ====

Valoare senzor MQ-3 LED Acțiune sistem
sub 500 Verde Se afișează “You can drive”, servo deschide cheia, 1 beep scurt
500 – 569 Galben Se afișează “Wait 1 hour”, 3 beep-uri, cheia rămâne blocată
570 – 649 Galben Se afișează “Wait few hours”, 3 beep-uri, cheia rămâne blocată
650 și peste Roșu Se afișează “DO NOT DRIVE!”, buzzer continuu, cheia blocată

Rezultate Obţinute

https://youtube.com/shorts/3jUeRQgPeHE?feature=share

https://youtube.com/shorts/V0vCKNBXRWY?feature=share

Concluzii

Sistemul clasifică nivelul de alcool detectat în patru intervale de risc, oferind un răspuns imediat și intuitiv prin afișaj, LED-uri, semnale sonore și controlul servo-motorului. Această abordare contribuie la creșterea siguranței utilizatorului și la prevenirea condusului sub influența alcoolului.