Table of Contents

Tester alcoolemie

Autor: Garbuz Cătălin 336CC

Introducere

Proiectul constă în implementarea unui aparat, care poate detecta cantitatea de alcool din aerul expirat. Pentru aceasta, folosesc un senzor MQ-3 pentru detecția alcoolului și un ecran LCD pentru a afișa cantitatea curentă. De asemenea, voi adăuga un buzzer și un led RGB pentru a semnaliza o posibilă cantitate prea mare de alcool. Accesul la aparat va fi monitorizat printr-un modul RFID.

Consider că acest proiect este util, deoarece putem să verificăm cantitatea de alcool din aerul expirat înainte de a ne urca la volan (ideal să nu consumăm deloc pentru a nu avea nevoie de aparat) pentru a preveni o posibilă infracțiune. De asemenea acest proiect poate fi folosit pentru cei curioși de a-și verifica nivelul de alcool, dar ideea principală este cea menționată mai sus.

Descriere generală

Senzorul de alcool gazos MQ-3 este un senzor cu un timp de răspuns rapid și cu o sensibilitate înaltă. Acesta este alimentat la breadboard, de unde se preiau datele de ieșire. Placa Arduino transmite ecranului LCD cantitatea de alcool din aerul expirat și în cazul în care este destul de ridicată, buzzer-ul va semnaliza utilizatorul iar led-ul RGB va fi aprins în culoarea roșie.

Funcționarea și accesul la tester va fi monitorizat prin modulul RFID. Dacă cartela a fost citită, microcontroller-ul ATmega324 va primi date de la senzorul de alcool. Avem un buton ce îl ținem apăsat cât timp suflăm în senzorul de alcool pentru a putea măsura date relevante. Pe LCD se vor afișa mai întâi instrucțiunile de folosire, iar apoi va primi de la microcontroller cantitatea de alcool din aerul expirat. Dacă acesta a depășit un anumit prag, microcontroller-ul va activa buzzerul și va aprinde culoarea roșie a led-ului, pentru a anunța utilizatorul că s-a depășit nivelul admisibil stabilit în cod.

Schema bloc a proiectului:

Hardware Design

Componentele utilizate pentru construirea alcotesterului

Schemă electrică

Software Design

1. Mediu de dezvoltare

Pentru implementarea software a proiectului folosesc Arduino IDE.

2. Librării și cod

Am folosit bibliotecile de bază din C, bibliotecile specifice pentru AVR, biblioteci pentru LCD_I2C [1] și biblioteci pentru modulul MFRC522(RFID) [2].

* La alimentarea inițială a plăcuței, pentru a controla accesul la testerul de alcool folosesc un modul RFID, iar pe LCD printez mesaje informaționale despre starea sistemului și acțiunile care pot fi efectuate de utilizator.

* Citirea valorii de la senzor o fac cât timp butonul de pe plăcuță este apăsat, făcând o medie a valorilor citite în acest timp. Pentru o testare corectă se recomandă să ținem butonul apăsat pentru cel puțin 5 secunde și să facem și o pauză de 10 secunde între două testări consecutive.

* Întrucât, senzorul MQ-3 lucrează în mod normal la temperaturi de circa 30-40 ºC, folosesc funcția delay doar în setup pentru a aștepta ca senzorul să se încălzească. În rest nu am folosit funcția delay, întregul cod bazându-se pe întreruperi și delay-uri non-blocante(utilizând funcția millis())

* După ce butonul de pe breadboard a fost lăsat, pe lcd afisez un mesaj informativ pentru utilizator. Atunci când s-a ajuns la un nivel foarte mare de alcool în aerul expirat( > 400 ppm), buzzerul ne va avertiza că este periculos să mai continuăm să bem, iar ledul RGB va fi aprins roșu.

* Am împărțit rezultatele ce pot fi obținute în 4 nivele:

* Pe viitor, aș dori să conectez la circuit și un modul de wifi pentru a salva statistici în telefon.

Rezultate Obţinute

Mai jos atașez poze cu rezultatul final în diferite cazuri de testare:

Concluzii

Download

cod_alcotester.zip

Jurnal

Bibliografie/Resurse

Export to PDF