Etilotest

Autor: Bucura Stefan-Alexandru
Grupa: 333CD

Introducere

Acest proiect constă în realizarea unui dispozitiv etilotest simplu, cu scopul de a detecta și semnaliza prezența vaporilor de alcool din aerul expirat. Proiectul folosește un senzor de alcool (MQ-3), două LED-uri de semnalizare, un buzzer pentru avertizare sonoră, un display OLED pentru afișarea valorii măsurate și un encoder rotativ pentru controlul aparatului printr-un meniu.

Dispozitivul este gândit ca un tester rapid și accesibil, ușor de folosit înainte de a conduce, oferind feedback vizual, sonor și numeric. Este portabil și alimentabil de la sursă externă.

Descriere generală

  • Senzorul MQ-3 detectează vaporii de alcool din aerul expirat
  • Valoarea citită este afișată pe un display OLED
  • În funcție de valoare, se aprinde LED-ul roșu sau verde și se activează buzzerul pentru avertizare
  • Utilizatorul poate naviga prin meniu folosind encoderul rotativ pentru a vedea moduri diferite de afișare (valoare sau sancțiune)

Hardware Design

Componenta Numar bucati Documentatie
Arduino ATmega328P 1 Datasheet ATmega328P
Senzor de alcool MQ-3 1 MQ-3 Alcohol Sensor
Buzzer Activ 5V 1 -
LED-uri (rosu, verde) 2 -
Rezistori 220 ohm 2 -
Encoder rotativ cu buton 1 -
Display OLED SSD1306 1

Software Design

Codul este dezvoltat pentru microcontrollerul ATmega328P, compilat și încărcat folosind Arduino IDE. Nu s-au utilizat funcții standard Arduino (pinMode, digitalRead, analogRead etc.), ci doar lucrul direct cu registre.

Librării folosite:

  • Adafruit_GFX - pentru grafică OLED
  • Adafruit_SSD1306 - pentru controlul display-ului

Funcționalități implementate:

  • Meniu interactiv controlat cu encoder (Start Test, Set Prag 1, Set Prag 2, Mod Afisare)
  • Afișare numerică sau textuală în funcție de valoarea măsurată (e.g., “Avertisment”, “Dosar Penal”)
  • Avertizare sonoră și vizuală (buzz continuu + LED roșu pentru valori periculoase)
  • Calibrare automată a senzorului la pornire și secvență de start-up (buzzer + LED)
  • Toate intrările/ieșirile tratate la nivel de registru (DDRx, PORTx, PINx, ADMUX, ADCSRA etc.)

Rezultate Obţinute

Produsul final funcționează conform cerințelor: detectează alcoolul din aerul expirat, oferă avertizare sonoră și vizuală, iar meniul este complet funcțional și ușor de navigat. Displayul arată clar informațiile. Pragurile se pot ajusta ușor și nu se salvează între porniri, conform cerinței.

DEMO video - etilotest

Link GitHub

Concluzii

Proiectul și-a atins scopul de a crea un etilotest portabil, fiabil, ușor de utilizat, fără utilizarea funcțiilor standard Arduino. Codul este optimizat la nivel de registru, meniul este complet funcțional, iar feedbackul vizual și sonor este bine sincronizat cu valorile senzorului. Este un proiect ideal pentru uz educațional și personal.

Jurnal

  • 04.05.2025 - alegere temă proiect
  • 07.05.2025 - comandă componente
  • 09.05.2025 - testare componente (senzații false MQ-3)
  • 11.05.2025 - montaj pe breadboard și test buzzer/LED-uri
  • 13.05.2025 - implementare ecran și meniu
  • 15.05.2025 - integrare citire encoder
  • 18.05.2025 - implementare praguri și conversie mg/L
  • 22.05.2025 - feedback sonor/LED în funcție de valoare
  • 25.05.2025 - optimizare interfață și calibrare senzor
  • 27.05.2025 - testare finală și demo video

Bibliografie/Resurse

Resurse Software

Resurse Hardware

pm/prj2025/ccristi/stefan.bucura.txt · Last modified: 2025/05/27 22:41 by stefan.bucura
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