In acest articol vom folosi senzorul de gaz MQ2 pentru a detecta nivelul de GPL, de CO si de fum din aer.
Senzorul se alimenteaza cu +5V si ofera 2 iesiri: una digitala si una analogica. Noi vom folosi iesirea analogica pentru a putea afisa valoarea exacta returnata de catre senzor.
Pentru a face acest lucru va trebui sa utilizam aceasta librarie.
Pentru inceput va trebui sa alimentam senzorul timp de 24-48 de ore pentru a ne asigura ca valorile citite de catre acesta sunt cele reale. Dar pana vor trece aceste ore putem testa senzorul numai ca rezultatele nu le putem considera corecte.
Pretul acestui senzor este de 16 lei si poate fi cumparat de aici.
Senzorul este cel de mai jos:

Pentru afisarea celor 3 valori specificate mai sus vom folosi un display LCD 2004. Acesta va fi conectat ca si in acest articol.
Sketchul folosit este cel de mai jos:
#include <MQ2.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 20, 4);
int detector = A7;
int gpl, co, fum;
MQ2 mq2(detector);
void setup(){
mq2.begin();
lcd.begin();
lcd.backlight();
lcd.setCursor(1, 0);
lcd.print("Testare senzor");
lcd.setCursor(3, 1);
lcd.print("MQ-2");
lcd.setCursor(1, 3);
lcd.print("electronicstore.ro");
delay(3000);
lcd.clear();
}
void loop(){
float* values= mq2.read(false);
gpl = mq2.readLPG();
co = mq2.readCO();
fum = mq2.readSmoke();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("GPL: ");
lcd.print(gpl);
lcd.print("ppm");
lcd.setCursor(0, 1);
lcd.print("CO: ");
lcd.print(co);
lcd.print("ppm");
lcd.setCursor(0, 2);
lcd.print("Fum: ");
lcd.print(fum);
lcd.print("ppm");
lcd.setCursor(0, 3);
lcd.print("electronicstore.ro");
delay(1000);
}
Cateva fotografii cu montajul in functiune sunt mai jos:




