Etilotest

Introducere

Un sistem care masoara alcoolemia si afiseaza rezultatul in timp real pe un LCD. Masurarea este pornita prin apasarea unui buton. Pe perioada masurarii se aude un cantecel, iar dupa masurare, in cazul in care alcoolemia depaseste un anumit preg, un semnal sonor se activeaza si se aprinde un LED.

Schema bloc a proiectului

Hardware Design

Componente

  • Arduino Uno

Am ales sa folosesc aceasta placuta deoarece are un numar potrivit de pini si nu a fost nevoie sa realizez lipituri.

  • BreadBoard

Am avut nevoie sa folosesc un BreadBoard in proiectul meu pentru conectarea tuturor componentelor. Am plasat pe breadboard butonul de start, buzzerul si am putut sa leg senzorul MQ3 si ecranul LCD la GND si VCC.

  • Buzzer

Buzzerul este folosit pentru a imi permite sa generez semnale sonore in cazul in care alcoolemia este prea mare si, de asemenea, pe perioada masurarii efectuate de senzorul buzzer-ul canta un cantecel pentru a indica cat timp este nevoie sa sufli in senzor.

  • Buton on/of

Am ales sa folosesc un buton pentru a putea prelua input-ul de la cel care foloseste aparatul. Cu ajutorul butonului de on/off aparatul incepe sa masoare doar atunci cand este apasat butonul de catre un om.

  • LCD

LCD-ul este o componenta importanta a proiectului deoarece permite afisarea rezultatului masuratorii efectuate de senzor. LCD afiseaza si mesaje utile pentru utilizator, indicandu-i cand poate sa apese butonul de start sau cat timp trebuie sa sufle.

  • LED

LED-ul este folosit pentru a semnaliza un grad ridicat de alcoolemie.

  • Converor I2C

Am ales sa folosesc un convertor I2C deoarece a facut mai usoara conectarea ecranului LCD la Arduino.

  • Senzor MQ3

Senzorul MQ3 este elementul esential al proiectului deoarece el permite realizarea masurarii cantitatii de alcool din aer.

  • Rezistente

Am folosoit rezistente la conectarea butonului de on/of, pe post de rezistenta de pull-down.

  • Fire(tata-mama, tata-tata si mama-mama)

Firele au fost utilizate pentru conectarea tuturor componentelor intre ele. Firele mama-mama au fost folosite la conexiunea dintre LCD si convertorul I2C. Firele tata-mama au fost folosite la conectarea senzorului MQ3 si a convertorului I2C la Arduino, iar firele tata-tata au fost folosite pentru conectarea elementelor aflate pe breadboard cu pinii de pe Arduino.

Schema electrica a proiectului

Software design

Pentru implementarea software am folosit Arduino IDE. Exista 4 stari prin care trece etilotestul, de la pornire si pana la inchiderea acestuia:

  1. WARM-UP: in cadrul acestei stari ecranul LCD afiseaza procente de la 0 pana la 100, sugerand timpul de setup initial al etilotestului
  2. WAITING TO START: ecranul LCD afiseaza un mesaj ce ii spune utilizatorului sa apese pe Start pentru a incepe maurarea.
  3. MEASURING: stare in care se efectueaza efectiv ctirea alcolemiei, in timp ce un buzzer canta. Pentru masurarea alcoolemiei, am efectuat 10 citiri ale valorii sozorului la interval de 10 milisecunde.
  4. MEASUREMENT DONE: masurarea s-a terminat si se afiseaza pe LCD valoarea obtinuta. In cazul unei valori ridicate, se aprinde un semnal luminos si se activeaza un semnal sonor. Din aceasta stare se revine la starea WAITING TO START, putand incepe o noua masurare.

Bibliotecile folosite

Am folosit 3 biblioteci pentru realizarea functionalitatilor. Bibliotecile Wire.h si LiquidCrystal_I2C.h sunt folosite pentru a permite comunicarea cu I2C-ul, si implicit cu LCD-ul. Biblioteca pitches.h este folosita pentru a putea face buzzer-ul sa cante.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include "pitches.h"

Activity Diagram

Rezultate obtinute

Proiect final arata asa cum se observa in imaginea de mai jos:

Download

Jurnal

  • 12.04.2021 - Comandarea primului set de piese
  • 10.05.2021 - Testare Arduino si constatare ca placuta nu functioneaza
  • 12.05.2021 - Comandare placuta de Arduino noua
  • 15.05.2021 - Scriere cod pentru a face buzer-ul sa cante
  • 20.05.2021 - Scrierea codului pentru afisajul pe LCD
  • 29.05.2021 - Realizarea schemei hardware completa si finalizare partea de coding

Concluzii

In concluzie, din acest proiect am invatat cum se creeaza un proiect Arduino de la 0, incarcarea unui program pe o placuta Arduino, citirea valorii unui senzor, conectarea unui LCD si afisarea mesajelor pe acesta. Proiectul are toate funcționalitățile pe care mi le-am propus și respectă aspectele descrise în schema electrică și diagrama bloc.

Bibliografie si resurse

pm/prj2021/abirlica/etilotest.txt · Last modified: 2021/05/31 23:16 by georgiana.neacsu99
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