Lucian-Ștefan TEODORESCU (78570) - Etilotest

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Scopul proiectului este realizarea unui dispozitiv care sa masoare cantitatea de alcool din aerul expirat.

Aceasta masuratoare va fi afisata pe un ecran LCD si interpretata in functie de legalitatea si “moralitatea” acesteia. Folosind un senzor analogic de masurare, concentratia de alcool va fi interpretata de microcontroller-ul ATMega324 si trimisa la LCD pentru afisare.

Unul dintre scopuri poate fi responsabilizarea consumului de alcool pentru oamenii care il folosesc.

Descriere generală

Interactiunea principala a utilizatorului cu dispozitivul va fi prin expirarea in senzorul de gaz care masoara concentratia de alcool din aerul expirat.

Schema bloc a proiectului este:

Hardware Design

Lista de piese:

  • Placa de baza
  • Seonzor gaze MQ-3
  • Butoane
  • Cabluri mama-mama
  • LCD Hitachi 44780

Senzorul de gaz este legat la un pin de ADC al ATMega324, iar LCD-ul conectat in modul restrans (la fel ca in laborator).

Schematic:

Software Design

Sistem de operare: Linux
Mediu de dezvoltare: vim + avr-gcc + bootloadHID

Pentru folosirea LCD-ului, am folosit libraria disponibila in suportul de laborator (folosesc acelasi model de LCD).
Citirea valorilor senzorului am facut-o prin ADC-ul microcontroller-ului.

Deoarece senzorul nu este unul foarte performant, valorile citite de acesta nu se compara ca precizie cu un dispozitiv folosit de autoritati, de exemplu. De aceea, poate determina, orientativ, daca utilizatorul a consumat alcool etilic, dar nu si cantitatea exacta de alcool din aerul expirat. Sunt mai multe mesaje, care sunt afisate pe ecran, in functie de intervalul in care se incadreaza valoarea citita.

Codul scris de mine se afla in fisierul main.c, unde citesc valoarea de la senzor, o interpretez si apoi o afisez pe lcd, folosind libraria din laborator (lcd.c si lcd.h).

Rezultate Obţinute

Demo: watch

Dispozitivul poate determina daca aerul expirat contine alcool etilic sau nu, afisand diferite mesaje in functie de “gravitatea situatiei”

Concluzii

Una peste alta, proiectul a fost o activitate interesanta si un prilej de a intelege mai bine cum se combina hardware-ul si software-ul in dezvoltarea tehnologiilor, in general.
Pot spune ca mi s-a parut interesant, de la folosirea letcon-ului, la umblatul dupa piese si integrarea acestora pentru a forma un dispozitiv functional.

Download

Jurnal

  • aprilie: Am ales ideea proiectului si m-am apucat de cautat piesele
  • 21 aprilie: Am scris prima parte a wiki-ului
  • 8 mai: am achizitionat toate piesele necesare
  • 10 mai: am terminat placa de baza si m-am ars la mana din cauza letcon-ului :(
  • 17 mai: am scris o parte din cod la laborator si am testat senzorul cu gel antibacterian pt maini (62% etanol) → nu a functionat :(
  • 23 mai: am gasit eroarea in cod → nu apelam functia de initializare a ADC-ului
  • 23 mai: am filmat demo-ul si acum termin wiki-ul si plec la facultate

Bibliografie/Resurse

pm

Eagle libraries:

73960

eagle-library-for-16x2-and-20x4-lcds

SparkFun-Sensors.lbr

Datasheets:

MQ-3.pdf

doc8272.pdf

  • Documentația în format PDF
pm/prj2018/rbarbascu/lucian_teodorescu.txt · Last modified: 2021/04/14 17:07 (external edit)
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