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:

  • Laborator 0 – GPIO

Folosit pentru controlul LED-urilor și al buzzer-ului, precum și pentru inițializarea pinilor digitali.

  • Laborator 4 – ADC (Analog to Digital Converter)

Citirea valorilor analogice de la senzorul MQ-3 s-a realizat prin conversie analog–digital pe un pin ADC.

  • Laborator 5 – Afișaj LCD

Utilizarea unui display LCD 16×2 conectat la porturile digitale ale microcontrolerului pentru a afișa mesaje și niveluri.

  • Laborator 3 – PWM

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:
  1. Citire analogica personalizata cu ADC pentru senzorul MQ-3
  2. Conversie a valorii senzorului in valoare estimata de alcoolemie (BAC)
  3. Afișare conditionala pe LCD in functie de praguri stabilite
  4. Feedback auditiv prin buzzer
  • (etapa 3) Surse si functii implementate:
  1. `setupADC()` pentru configurarea manuala a convertorului analog-digital
  2. `analogReadCustom()` pentru citirea valorii analogice de pe MQ-3
  3. `convertToBAC()` pentru estimarea alcoolemiei
  4. 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

Arhiva completa:

etilotest.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Resurse Hardware:

Resurse Software:

Export to PDF

pm/prj2025/rnedelcu/petrisor.caramida.txt · Last modified: 2025/05/23 16:52 by petrisor.caramida
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0