Etilotest – Dispozitiv de Măsurare a Alcoolemiei
Introducere
Proiectul Etilotest constă în realizarea unui dispozitiv electronic capabil să detecteze nivelul de alcool din aerul expirat de utilizator, folosind un senzor de gaz MQ-3. Scopul proiectului este de a învăța cum să integrăm senzori analogici, conversie ADC, afișaj și alerte sonore/vizuale într-un sistem embedded simplu, dar funcțional.Ideea a pornit de la dorința de a crea un dispozitiv portabil și accesibil care să atragă atenția asupra consumului de alcool, fiind totodată un proiect educativ excelent pentru învățarea principiilor de bază în proiectarea microprocesoarelor.Dispozitivul se dorește a fi util în contexte precum testarea demonstrativă în școli sau acasă, fără a înlocui un etilotest profesional.
Descriere generală
Dispozitivul este alcătuit din următoarele module:
Senzor de gaz MQ-3 – detectează alcoolul din aerul expirat
Microcontroler ATmega324P – citește semnalul analogic și îl procesează
Display LCD 16×2 – afișează nivelul estimat al alcoolemiei și mesaje sugestive
LED-uri colorate (verde, galben, roșu) – indică vizual nivelul de alcool
Buzzer – emite un semnal sonor în caz de depășire a pragului critic
Fluxul de date:
Senzor MQ-3 → ADC ATmega324P → procesare → afișare pe LCD + LED-uri/buzzer
Laboratoare utilizate
În realizarea proiectului am folosit concepte din următoarele laboratoare:
Folosit pentru controlul LED-urilor și al buzzer-ului, precum și pentru inițializarea pinilor digitali.
Citirea valorilor analogice de la senzorul MQ-3 s-a realizat prin conversie analog–digital pe un pin ADC.
Utilizarea unui display LCD 16×2 conectat la porturile digitale ale microcontrolerului pentru a afișa mesaje și niveluri.
Dacă buzzer-ul este controlat prin semnal PWM, se poate integra și acest laborator.
Hardware Design
Componente utilizate:
Microcontroler ATmega328P – unitatea centrală de procesare -
Link
Senzor de gaz MQ-3 – detectează alcoolul din aer -
Link
Display LCD 16×2 – afișează informații către utilizator -
Link
LED-uri (verde, galben, roșu) – indică nivelul de alcoolemie -
Link
Buzzer – avertizează sonor la depășirea unui prag -
Link
Rezistențe – pentru limitarea curentului prin LED-uri (ex. 220Ω) -
Link
Fire de conexiune și breadboard – pentru asamblarea circuitului -
Link
Schema electrică:
Senzor MQ-3 → alimentat la 5V, ieșirea analogică conectată la pinul ADC al ATmega324P
Display LCD → conectat la porturi digitale (folosind mod 4-bit sau 8-bit)
LED-uri → conectate la pinii digitali, fiecare printr-o rezistență de limitare
Buzzer → conectat la un pin digital și controlat cu semnal PWM
Software Design
Descrierea codului aplicatiei (firmware):
Mediu de dezvoltare: Arduino IDE
Librarii si surse 3rd-party: LiquidCrystal_I2C pentru afisajul LCD
Algoritmi si structuri implementate:
Citire analogica personalizata cu ADC pentru senzorul MQ-3
Conversie a valorii senzorului in valoare estimata de alcoolemie (BAC)
Afișare conditionala pe LCD in functie de praguri stabilite
Feedback auditiv prin buzzer
`setupADC()` pentru configurarea manuala a convertorului analog-digital
`analogReadCustom()` pentru citirea valorii analogice de pe MQ-3
`convertToBAC()` pentru estimarea alcoolemiei
Logica de afisare si semnalizare in `loop()`, conditionata de apasarea butonului
Rezultate Obţinute
Care au fost rezultatele obtinute in urma realizarii proiectului vostru:
sistemul a functionat conform asteptarilor
valorile senzorului au fost afisate corect si interpretate prin mesaje text
buzzerul a emis semnale sonore diferite in functie de nivelul alcoolemiei
conversia valorii analogice in estimare BAC a fost implementata cu succes
interfata cu utilizatorul (buton + afisaj LCD) este simpla si intuitiva
Concluzii
Proiectul realizat demonstreaza ca este posibil sa construiesti un etilotest electronic simplu, dar eficient, folosind componente accesibile si un microcontroller Arduino. Implementarea unei citiri ADC personalizate si conversia valorilor in estimare de alcoolemie (BAC) au imbunatatit experienta utilizatorului si acuratetea afisajului.
Cea mai dificila parte a fost calibrarea valorilor citite de la senzorul MQ-3 si stabilirea unor praguri realiste pentru interpretarea corecta a nivelului de alcool. Deoarece senzorul raspunde la vapori de alcool si nu ofera o valoare directa de alcoolemie, a fost nevoie de testare repetata si ajustare manuala a intervalelor.
De asemenea, lucrul cu afisajul LCD pe doua randuri, in combinatie cu mesajele lungi si limitarile de spatiu, a necesitat atentie pentru a mentine lizibilitatea si claritatea informatiilor.
Download
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse