Tijekom pandemije COVID-19, e-radionica.com nastavlja s normalnim radom. Sve mjere opreza se redovno poduzimaju te su naručeni paketi sigurni. Opcija dostave uslugama Hrvatske Pošte i osobno preuzimanje privremeno su onemogućeni iz sigurnosnih razloga.

KKM: MQ3 Senzor alkohola

Početnik si s Croduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala e-radionice na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Croduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

Uvod

 
MQ3 je senzor plinova koji reagira na alkohol (etanol). Breakout sadrži sve potrebno za digitalna i analogna očitanja alkohola u zraku. Nemojte ga koristiti kao provjeru jeste li u stanju voziti!
dsc_4830_1
 
Karakteristike:
Dimenzije: 32x32x27 mm
Napon: 5VDC
Izlaz: digitalni (HIGH/LOW), analogni (0-5V)
 
za više pogledaj datasheet.

Kako radi?

 
U osnovi, postoji grijač koji se uključuje spajanjem 5V napona na Vcc i gnd-a. Prema datasheetu, grijač povlači maksimalno 150mA. Stoga ne bi bilo loše napajati MQ3 preko vanjskog napajanja. Drugi dio ovog senzora je promjenjivi otpornik. Otpor unutar senzora mijenja se s obzirom na količinu alkohola u zraku, na način da više alkohola znači manji otpor. Umjesto da mjerimo otpor, na mikrokontroleru, mjeriti ćemo napon na analognom pinu (0-1023). Tako da će veće vrijednosti očitanja ozačavati veću količinu alkohola u zraku.

Digitalna očitanja

 
Breakout MQ3 sadrži komparator napona i potenciometar za podešavanje osjetljivost što nam omogućava digitalna očitanja. Očitanja dobivamo preko digitalnog DO pina MQ3 senzora. Kada očitanje premaši podešeno na potenciometru, očitavamo LOW na Croduinu.
 
MQ3 digital out

// digitalna očitanja s DO pina na D7 pin Croduina
int ulazPin = 7; // DO pin na D7 pin Croduina
int led = 13; // integrirana ledica na Croduino Basic
void setup() {
pinMode(ulazPin, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
if(digitalRead(ulazPin) == LOW) {
digitalWrite(led, HIGH); // ako breakout šalje signal, upali ledicu
}
else {
digitalWrite(led, LOW); // u suprotnom, ugasi ledicu
}
}

Analogna očitanja i kalibracija

 
Dok senzor saavršeno radi za mjerenje relativne količine alkohola u zraku, malo ćemo se namučiti da dobijemo točna očitanja. Već smo spomenuli zašto i na koji način MQ3 preko analognog izlaza AO šalje napon 0-5V. Za početak očitavati ćemo vrijednosti na analognom pino A0 (0-1023) Croduina.
 
MQ3 analog output

void setup() {
Serial.begin(9600);
}
void loop() {
int ocitanje = analogRead(A0);
Serial.println(ocitanje);
delay(100);
}

 
Kalibracija
Krenimo s matematičke strane. Dobra stvar je što prema količini alkohola u zraku (dahu) možemo izračunati količinu u tijelu. Prema formuli [%]količina alkohola u krvi = količina alkohola u zraku [mg/L] * 0,21.
 
Sve što trebamo je sa senzorom očitati količinu alkohola u dahu... Prvo imajte na umu da se grijač MQ3 mora zagrijati kako bi ispravno radio. Također, vrijeme između dva mjerenja bi trebalo biti oko 4-5 minuta kako bi otor senzora došao na otpor mjerenja. Ako smo uredu s tim i otvorimo datasheet na dio u kojem piše kako kalibrirati senzor nećemo biti oduševljeni. Prema njemu, trebali bi dovesti 0.4mg etanola u prostor od 1 litre kako bi otpor senzora bio 200kΩ. Odnosno, ovisno od temperaturi i vlazi zraka od 100kΩ do 470kΩ.
 
Pošto nemamo uvjete izvesti takav pokus, na pamet na pada još jedna metoda - koleracija. Naime, na internetu čemo pronaći hrpu online kalkulatora količine alkohola u krvi. Npr., u znanstvene svrhe, popijemo 1 pivo. Pomoću kalkulatora izračunamo postotak alkohola u krvi te očitamo analogno očitanje na Croduinu. Jednostvanim algoritmom napravimo koleraciju između navedene dvije vrijednosti.
 
Za što točnija mjerenja bilo bi potrebno napraviti popriličan broj usporedbi (čitaj: konzumacija), koja ipak, na žalost ekipe e-radionice, nećemo napraviti. Ako se upustite u mjerenja, svakako nam javite rezultate.

Leave a Reply