Autor: Popa Alexandru-Matei
Proiectul constă în implementarea unui aparat, care poate detecta cantitatea de alcool din aerul expirat. Voi folosi 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 pentru a semnaliza o posibilă cantitate prea mare de alcool.
Acest aparat este util, deoarece te informează cu privire la cantitatea de alcool din aerul expirat înainte de a te urca la volan. Proiectul poate fi folosit doar ca o simplă curiozitate sau ca o prevenire a unei posibile infracțiuni.
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.
Senzorul MQ-3 are 4 pini, dintre care primul se conectează la tensiunea de 5V de pe microcontroller, al doilea la GND, al treilea la D0, dacă se dorește o reprezentare digitală a valorii senzorului, iar al patrulea la A0 la analog. Senzorul MQ3 este de tip MOS (metal oxide semiconductor) și poate detecta concentrații de alcool oriunde începând cu valori de la 25 ppm, ajungând până la 600 ppm (valori corecte, după ce a fost senzorul calibrat).
Modulul de Buzzer utilizează 3 pini: primul se conectează la tensiunea de 5V, al doilea la pinul 8 de la Digital PWM, iar ultimul reprezintă împămantarea.
În final, modulul LCD 1602 permite afisarea a cate 16 caractere pe 2 linii, continand un adaptor I2C. Astfel, se micșorează numărul de pini folosiți la 4. Primul este GND, al doilea tensiunea de 5V, iar al treilea (SDA - serial data) și al patrulea (SCL - serial clock) se duc la analog IN, pe A4, respectiv A5.
Am utilizat Eagle pentru schema electrică.
Am utilizat Arduino IDE pentru partea de software și două librării:
Funcțiile principale sunt setup() și loop(), în încercarea de a face codul cât mai modular.
Pentru a calcula R0 trebuie sa aflu valoarea lui RS_gas în aerul curat. Acest lucru se poate face luând valorile date de senzor și convertindu-le la tensiuni. Apoi se calculează R0 cu formula R0 = RS / 60, unde 60 este raportul dintre rezistențe în aerul curat.
Am testat proiectul folosind spirt, caz în care valoarea arătată ar trebui să se apropie de maxim, ceea ce se și întâmplă. De asemenea, am mai testat proiectul și cu câteva beri și arată rezultatele dorite.
A fost un proiect interesant și mi-a plăcut să lucrez la el. Fiind primul proiect hardware pe care l-am făcut, am învățat lucruri noi și utile. Am intampinat cateva dificultăți în a calibra senzorul. În final, am reușit să-l fac sa dea rezultate cât mai corecte, mai aproape de realitate. Ceea ce este important de știut, este ca nu te poți baza pe valorile oferite de acest senzor, deoarece este unul ieftin, care nu oferă rezultate atât de exacte.