Gözle görülemeyen gazları arduino ile kullanılan sensörler vasıtasıyla algılayabilmekteyiz. Tehlikeli bir çok gaz renksiz, kokusuz ve gözle görülemeyen yapıdadır. Hem patlama, yangın riski ve insan sağlığını tehdit eden lpg, bütan, propan, Karbonmonoksit vb. gazları sensörler vasıtasıyla tespit edebilmekteyiz.
Risk durumuna göre hangi tür gazlar ortamı tehdit ediyorsa ona uygun yapıda gaz sensörleri tercih edilmelidir. Farklı yapıdaki bu gazları farklı yapıdaki sensörlerle tespit edebilmekteyiz.
Bu sensörler içerisindeki rezistans sayesinde ortamdaki gazları algılayabilmektedir. Sensörün içerisinde özel olarak yerleştirilmiş rezistans enerji verince ısınmaya başlar belli bir derecede ısınan rezistans ortamda oluşabilecek gazların yoğunluğundan etkilenir ve bu sayede çıkışında direnç değişimi gözlenir. Direnç değişimini uygun algoritma kurarak algılar ve buna göre tepkiler verebiliriz.
Bu yazımızda sizlerle Mq-2 Serisi gaz sensörünün arduino ile kullanımı ve örnek bir projeyi yaptık. Bu projeden yola çıkarak sizler kendi istediğiniz projeleri gerçekleştirebilirsiniz.
//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı Gaz Sensörleri Kodları - kullanımı örnek Kodları
#define yesil 7
#define sari 8
#define mavi 9
#define kirmizi 10
#define gaz A0
int buzzer = 6;
void setup() {
Serial.begin(9600);
pinMode(yesil, OUTPUT);
pinMode(sari, OUTPUT);
pinMode(mavi, OUTPUT);
pinMode(kirmizi, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
int seviye = analogRead(gaz);
Serial.println(seviye);
if (seviye < 140)
{
// Serial.println("0-140");
digitalWrite(yesil, 1);
digitalWrite(sari, 0);
digitalWrite(mavi, 0);
digitalWrite(kirmizi, 0);
}
if (seviye > 140 && seviye < 340)
{
// Serial.println("140-340");
digitalWrite(yesil, 1);
digitalWrite(sari, 1);
digitalWrite(mavi, 0);
digitalWrite(kirmizi, 0);
analogWrite(buzzer, 10);
delay(50);
analogWrite(buzzer, 0);
delay(1000);
}
if (seviye > 340 && seviye < 540)
{
//Serial.println("340-540");
digitalWrite(yesil, 1);
digitalWrite(sari, 1);
digitalWrite(mavi, 1);
digitalWrite(kirmizi, 0);
analogWrite(buzzer, 125);
delay(200);
analogWrite(buzzer, 0);
delay(500);
}
if (seviye > 540)
{
// Serial.println("540-1023");
digitalWrite(yesil, 1);
digitalWrite(sari, 1);
digitalWrite(mavi, 1);
digitalWrite(kirmizi, 1);
analogWrite(buzzer, 255);
delay(100);
analogWrite(buzzer, 0);
delay(50);
}
else
{
digitalWrite(sari, 0);
digitalWrite(mavi, 0);
digitalWrite(kirmizi, 0);
analogWrite(buzzer, 0);
}
}