Sajnos MQ2 Gáz érzékelő szenzorhoz sem találtam, fritzing modult a kapcsoláshoz, ezért csak képes és szöveges illusztrációval magyarázom a kapcsolást. A kapcsolás lényege, hogy ha az analóg lábon beolvasott érték egy bizonyos érték fölé kerül, akkor a piezo csipogó riaszt. A piezo csipogó bekötését egy korábbi cikkben ismertettem.
Az MQ2 modul bekötése itt is úgy érzem egyértelmű:
GND — GND
VCC — 5V
AOUT — A0
DOUT – D3
A piezo csipogó „S” lába a D2 pinre kötve a „-” lába a GND-re.
Az MQ2 érzékelő digitális kimenetét, úgy tudjuk használni, hogy a potméterrel beállítjuk az érzékenységet. Abban az esetben, ha a beállított érzékenység fölé kerül a gáz vagy a füst koncentrációja, akkor a digitális láb kimenete átbillen 0-ba. Ahhoz hogy meggyőződjünk a mükődés helyességéről ahhoz nem kell csak egy öngyújtú. Ahogy engedjük az öngyújtóból a gázt, mielőtt a beolvasott analóg értéket elérjük, a potméter melletti kis smd led kigyullad abban az esetben ha a potméterrel beállított érték alacsonyabb mint az analóg küszöb. Ahogy a led kigyullad, azzal egyidőben a DOUT átmegy 0-ba.
A program működése közben a digitális kimenet 0-ba billenését a serial monitoron követhetjük nyomon, illetve a potméter melletti led kigyúlladásával. A kiíratást lassíthatjuk az oszthatósági vizsgálat módusának az átállításával.
MQ2 Gáz érzékelő Arduino forráskód:
const int analogpin = A0; // Gázérzékelő Analóg bemenete const int sound_pin = 2; // Piezzo csipógó pin const int gas_pin = 3; int sensor_value = 0; int d_out = 0; int j=0; void setup() { Serial.begin(9600); pinMode(sound_pin, OUTPUT); } void loop() { j=j+1; d_out = digitalRead(gas_pin); if (d_out == 1) { if (j%100 == 0) { Serial.println("Digital OUT OFF" ); } } else { if (j%100 == 0) { Serial.println("Digital OUT ON" ); } alarm(); } // Analóg érték beolvasása sensor_value = analogRead(analogpin); if (sensor_value >= 750) { alarm(); } // Serial monitorra kiíratás if (j%100 == 0) { Serial.print("sensor = " ); Serial.println(sensor_value); } delay(10); } //=============================================================== void alarm() { int i; // léptető operátor for(i=0;i<100;i++) { digitalWrite(sound_pin,HIGH); delay(1); digitalWrite(sound_pin,LOW); delay(1); } for(i=0;i<10;i++) { digitalWrite(sound_pin,HIGH); delay(2); digitalWrite(sound_pin,LOW); delay(2); } for(i=0;i<10;i++) { digitalWrite(sound_pin,HIGH); delay(3); digitalWrite(sound_pin,LOW); delay(3); } }
Nézz be a webshopba és vásárold meg az Arduino modult