Betivo-metru

Autor: Ciorceanu Andrei-Razvan

Grupa: 334CA

Introducere

Acest proiect inregistreaza alcoolul din aerul expirat si transmite datele calculate pe baza unor formule predefinite catre un ecran LCD ce va afisa diferite mesaje in functie de concentratia exprimata in mg/L si se va aprinde un buzzer atunci cand aceasta va depasi limita legala. Pentru inregistrarea alcoolului se foloseste un senzor de gaz MQ-3.

Scopul proiectului

Scopul proiectului este de a estima aproximativ alcoolemia din aerul expirat de o persoana, calculata pe baza unor formule ce tin cont de timpul care a trecut de cand a fost consumat alcool si de sexul persoanei(in urma unor studii s a constatat ca acesta este singurul factor care influenta cantitatea de alcool din sange exprimata in mg/L,nu se tine cont de inaltimea/greutatea persoanei respective). Astfel se pot evita situatiile in care o persoana se urca la volan sub influenta bauturilor alcoolice, este util mai ales pentru utilizarea in anumite tari in care legea permite conducerea autoturismului dupa ce a fost consumat alcool pana intr-o limita prestabilita.

Cum mi a venit ideea pentru a realiza acest proiect si de ce cred ca este util

Ideea pentru acest proiect mi a venit acum putin timp cand am vizitat Germania si am aflat ca acolo legea permite conducerea autoturismului sub influenta alcoolului sub o anumita limita(echivalentul a 2 beri la 0.33). Dar aceasta alcoolemie poate varia de la o persoana la alta in functie de timpul de cand au fost consumate, astfel am considerat ca un astfel de dispozitiv este util pentru a determina cu exactitate concentratia de alcool pentru a ramane in limita legala. De asemenea in Romania limita legata este de 0 mg/L astfel orice valoare peste poate duce la diferite sanctiuni din ce in ce mai grave de la pierderea permisului de conducere pana la dosar penal.

Descriere generală

In primul rand, utilizatorul trebuie sa schimbe valoarea potentiometrului pentru a seta sexul(prima jumatate a potentiometrului este setata pentru Female, cealalta jumatate pentru Male) astfel incat sa se efectueze o masuratoare cat mai exacta si a tine cont de toate variabilele in calculul pentru aflarea alcoolemiei din aerul expirat. Pe baza datelor obtinute prin senzor aparatul va efectua calculele pe baza unor formule si va transmite concentratia catre device-ul de afisaj, care va interactiona cu un buzzer, ce se va aprinde in functie de rezultatul emis. Pentru calculul acestor formule se efectueaza 10 masuratori pentru datele primite de la senzor deoarece acesta nu este foarte exact si dureaza putin timp pana se incalzeste rezistenta lui interna si incepe sa transmita valori corecte.

Schema bloc a proiectului

Am folosit 2 potentiometre,unul liniar utilizat in efectuarea calculelor,care va interactiona cu utilizatorul, iar cel de al doilea potenntiometru este conectat la ecranul LCD pentru a folosi o rezistenta mai mare si cu ajutorul caruia se poate seta intensitatea afisajului.

Hardware Design

Schema electrica a proiectului

Lista de componente:

  1. Placuta Arduino Uno
  2. Potentiometru
  3. Potentiometru liniar
  4. Buton
  5. Buzzer
  6. Ecran LCD
  7. Senzor de gaz MQ-3
  8. Breadbord
  9. Fire
  10. Rezistente

Software Design

Am folosit ultima versiune de Arduino IDE,de unde folosesc biblioteca deja implementata LiquidCrystal pentru a putea interactiona cu ecranul LCD si a folosi functii de afisare deja implementate in aceasta.(cum ar fi setCursor,clear,print). Am initializat ecranul LCD pentru pinii la care l am conectat,apoi definesc constantele de calcul iar in functia setup initializez si ceilalti pini pentru button INPUT_PULLUP,pentru buzzer de tipul OUTPUT iar senzorul de gaz si potentiometrul liniar ca INPUT. Codul proiectului se gaseste in sectiunea de “Cod” in fisierul betivo-metru.ino,iar in cadrul acestuia am folosit functiile deja implementate din biblioteca Arduino Standard cum ar fi digitalRead(),analogRead(),delay() cat si functiile pentru setarea buzzerului,adica tone() si noTone(). Am decis folosirea unui buton pentru ca altfel senzorul citea date incontinuu,efectuarea calculelor se facea destul de rapid iar pe ecranul lcd apareau continuu mesaje care durau prea putin pentru a fi citite. Mai multe detalii despre implementarea codului cat si despre formulele utilizate pentru calcului concentratiei de alcool se gasesc in sectiunea README,fisier care se afla in aceeasi arhiva cu codul.

Rezultate Obţinute

Imagine de ansamblu proiect.

Exemplu de fuctionare pentru diferite valori citite de senzor.

Lucruri invatate

  1. Lucrul cu diferite piese electrice de la ecran LCD pana la potentiometru liniar
  2. Trebuie sa pastrezi o foarte buna organizare a breadbord-ului si un cable management bun,deoarece mi a fost destul de greu sa conectez si alte piese cand aveam breadbord-ul foarte incarcat.
  3. Senzorul MQ-3 nu este foarte precis,dureaza ceva pana se incalzeste rezistenta lui interna si incepe sa arate valori bune.
  4. Interpretarea datelor primite de la senzor/potentiometru si faptul ca concentratia de alcoolemie se bazeaza doar pe sexul persoanei nu si pe inaltime/greutate asa cum credeam pana acum.
  5. Faptul ca trebuie sa studiez mai bine piesele si proiectul inainte de a da comanda.
  6. Cand am efectuat testul pentru palinca am obtinut valori imposibile, exceptie facand acest domn https://www.youtube.com/watch?v=h6sCybIRB90&ab_channel=ObservatorNews :))

Concluzii

Aceasta a fost prima mea interactiune mai in detaliu,inafara laboratorului cu o placuta Arduino si diferite componente si pot spune ca experienta a fost una placuta,chiar daca am avut ceva batai de cap din cauza pieselor pentru ca unele nu mergeau si a trebuit sa petrec ceva timp facand debugg sa aflu de ce. In final am obtinut un aparat care masoara aproximativ cantitatea de alcool din aerul expirat,aceasta masurare aproximativa nu este foarte acurata din cauza performantelor senzorului cat si calculele reprezinta o aproximare a adevaratului rezultat,tocmai de aceea am obtinut rezultate putin probabile pentru oameni in cazul unor bauturi cu care a fost testat.

Cod

Jurnal

  1. Alegere tema proiect
  2. Inventar al pieselor necesare pentru realizarea proiectului
  3. Plasat comanda
  4. Research pentru aflarea formulei pentru calcului concentratiei de alcool cu ajutorul unui senzor MQ-3
  5. Implementat efectiv schema realizata in Eagle
  6. Implementarea codului pentru realizarea dispozitivului
  7. Setarea mesajelor pentru ecranul LCD
  8. Testarea efectiva

Bibliografie/Resurse

pm/prj2022/ncaroi/betivo-metru.txt · Last modified: 2022/05/27 19:40 by andrei.ciorceanu
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