Arduino IDE Kullanarak ESP32 ile MQ-2 Gaz Sensörünün Arayüz Oluşturulması

Arduino Ide Kullanarak Esp32 Ile Mq 2 Gaz Sensorunun Arayuz Olusturulmasi



Sensörler, verileri sisteme besledikleri için IoT tabanlı projeler tasarlamanın önemli bir parçasıdır. Mikrodenetleyici tabanlı IoT panoları, farklı sensörler arasında arayüz oluşturma ve verileri buluta yükleme veya acil durum e-postası oluşturma yetenekleri nedeniyle popülerlik kazandı.

Bahsettiğimiz tahta ESP32 Bu, sınırsız özelliği sayesinde kullanıcıların birden fazla sensörle arayüz oluşturmasına yardımcı olur. Gaz sensörü, bir oda içindeki yangını veya gaz sızıntısını algılayabilen ESP32 ile yaygın olarak kullanılan sensörler arasındadır. MQ-2 gaz sensörünü ESP32 ile arayüzlemenin olası yolunu bulalım.

MQ-2 Gaz Sensörü

MQ-2, MOS (Metal Oxide Semiconductor) sensörü olduğu için diğerlerine göre daha yüksek hassasiyete sahip, yaygın olarak bulunan gaz sensörlerinden biridir. Bunun gibi sensörler Chemiresistörler olarak bilinir çünkü gaz algılamaları gaz parçacıklarına maruz kaldıklarında direnç değerindeki değişime dayanır.







MQ-2 sensörü 5V ile çalışır. LPG, Propan, Metan ve Karbon Monoksit gibi gazları algılayabilir. MQ-2 sensörlerinin gazların varlığını kontrol edebileceğini ancak onları tanımlayamayacağını belirtmek önemlidir. Bu nedenle, belirli bir yerdeki gaz yoğunluğundaki değişiklikleri ölçmek ve buna göre bir çıkış sinyali oluşturmak en iyisidir.





MQ-2 sensörünün bazı önemli özellikleri aşağıdadır:





  • +5V'da çalışır
  • Analog çıkış voltajı: 0V - 5V
  • Dijital Çıkış Voltajı: Yüksek veya Düşük (0V veya 5V) TTL Mantığı
  • MQ-2 hem analog hem de dijital sensörlerle kullanılabilir
  • Potansiyometre hassasiyeti ayarlamak için var
  • LPG, Alkol, Propan, Hidrojen, Karbon Monoksit ve hatta metanı tespit etmek için kullanılabilir

MQ-2 Pin Çıkışı

MQ-2 sensörü dört farklı pin ile gelir:

  • İÇİNDE cc : Gaz algılama sensörü için güç pini 5V'a bağlanabilir.
  • GND : ESP32 GND pinine bağlı sensörün topraklama pini.
  • Şüphe : Dijital çıkış pini gaz varlığını gösterir. 1 ve 0 gibi YÜKSEK veya DÜŞÜK durumda çıktı verebilir.
  • Ağustos : Analog çıkış pini analog sinyalde gaz varlığını gösterir. Çıkış verileri, algılanan gaz seviyesine bağlı olarak Vcc ve GND arasında sürekli bir değer verir.



MQ-2'yi ESP32 ile Arayüzleme

MQ-2 sensörü, hem analog hem de dijital olarak çıkış verebilen, kullanımı kolay bir gaz sensörüdür. Dijital çıkış sadece gaz algılamayı gösteren YÜKSEK veya DÜŞÜK değer verir, ancak burada daha ayrıntılı okuma sağlayan ve gaz seviyesini not etmeye yardımcı olan analog çıkış kullanacağız.



Analog pin çıkışı gaz konsantrasyonu ile orantılıdır, mevcut gaz ne kadar yüksekse analog çıkış değeri o kadar fazladır. MQ-2 sensörünün, analog sinyali alan ve sensörün dijital çıkışında mevcut olacak şekilde dijitalleştiren yüksek hassasiyetli bir karşılaştırıcıya (LN393) sahip Op Amp'ye sahip olduğuna dikkat etmek önemlidir.

MQ-2 sensörleri, 200 ppm ile 10000 ppm arasında değişen gaz konsantrasyonunu algılayabilir. Burada ppm, gaz konsantrasyonunu gösteren bir birim olan Milyon başına parça anlamına gelir.







MQ-2'yi ESP32 ile arayüzlemek için aşağıdaki pin konfigürasyonunu takip edin.



ESP32'li MQ-2 Pinleri

MQ-2 sensörlerinde ikisi GND ve Vcc olmak üzere üç adet pin bulunur, üçüncü pin ise Aout olup analog sinyalde ölçülen gaz değerini verir.



ESP32 PIN'i MQ-2 PIN'i
GND GND
gelmek Vcc
GPIO 4 Ağustos





ESP32'li LED Pinler

ESP32'nin GPIO 32'sine bir LED bağladık. LED, gaz konsantrasyonunun belirli bir eşikten artırılıp artırılmadığını gösterecektir.

ESP32 PIN'i NEDEN OLMUŞ
32 Vcc
GND GND

Gaz sensörlü ve LED'li ESP32 devresi aşağıdadır:



ESP32 ile MQ-2 Gaz Sensörü Arayüzleme Kodu

int NEDEN OLMUŞ = 32 ; /*LED pin tanımlı*/
int Sensör_giriş = 4 ; /*Sensör girişi için dijital pin 5*/
geçersiz kurmak ( ) {
Seri. başlamak ( 115200 ) ; /*seri iletişim için baud hızı*/
 pinModu ( LED, ÇIKIŞ ) ; /*LED Çıkış olarak ayarlandı*/
}
geçersiz döngü ( ) {
int sensor_Ağustos = analogOkuma ( Sensör_giriş ) ; /*Analog değer okuma işlevi*/
Seri. Yazdır ( 'Gaz Sensörü:' ) ;
Seri. Yazdır ( sensor_Ağustos ) ; /*Yazdırılan değeri oku*/
Seri. Yazdır ( ' \t ' ) ;
Seri. Yazdır ( ' \t ' ) ;
eğer ( sensor_Ağustos > 1800 ) { /* 1800 eşik değeri olan if koşulu*/
Seri. println ( 'Gaz' ) ;
dijitalWrite ( LED, YÜKSEK ) ; /*Gaz algılanırsa LED YÜKSEK olarak ayarlanır */
}
başka {
Seri. println ( 'Gaz değil' ) ;
dijitalWrite ( LED, DÜŞÜK ) ; /*Gaz YOKSA LED DÜŞÜK olarak ayarlanır */
}
gecikme ( 1000 ) ; /*1 sn GECİKME*/
}

Burada yukarıdaki kodda pinde bir LED tanımlanmıştır. 32 ESP32 ve pini 4 Gaz sensöründen giriş alacak şekilde ayarlanmıştır. Bir sonraki seri iletişim, baud hızı tanımlanarak başlar. LED kullanılarak çıkış ayarlanır pinModu işlev.

İçinde döngü krokinin bir kısmı önce analog okumayı sensör üzerinden okuyacağız ve okunan değer yazdırılacaktır. Sonraki bir eşik 1800 eğer değer bu eşiği aşarsa pin 32'ye bağlanan led yanacaktır ÜZERİNDE .

Çıktı

Seri monitör, okunan analog değeri yazdırır. Burada değer eşiğin 1800'ün altına düştüğünde, eşik aşıldığında Gaz yok mesajı gösterecek ve seri monitörde Gaz tespit edildi mesajı görünecektir.

LED KAPALI: Gaz Yok

Normal durumda hiçbir gaz algılanmayacağından LED kapalı kalacaktır.

LED AÇIK: Gaz Algılandı

Şimdi çakmak kullanarak bütan gazı uygulayacağız. Gaz değeri eşik değerini aştığında LED yanacaktır.

Çözüm

MQ-2, gaz kaçağını algılayabilen ve buna göre sinyal üretebilen bir gaz algılama sensörüdür. Bir ESP32 mikrodenetleyici kartı kullanarak, onu kolayca arayüzleyebilir ve bir yangın alarm dedektörü olarak kullanabilir veya bir acil durum e-posta bildirimi oluşturabiliriz. Bu yazıda, sensörün üç pinini kullanarak ESP32'yi MQ-2 sensörüne bağladık. Gaz algılandığında gösterge amacıyla bir LED kullanılır.