Cara Memprogram Sensor Gas MQ-4 Pada ESP32

Cara Memprogram Sensor Gas MQ-4 Pada ESP32

Sensor Gas MQ-4 adalah sensor yang digunakan untuk mendeteksi gas alam, seperti metana (CH4) dan gas bumi lainnya.Berikut ini adalah cara memprogramnya :

#include <Arduino.h>


const int port_gas_mq4 = A0;

float konversiKePPM_gas_mq4(int sensorValue) {
float RsRo = (1023.0 / sensorValue) - 1.0;
float ppmNH3 = 1.0955 * pow(10, 1.3993 * RsRo);
return ppmNH3;
}



void setup()
{
Serial.begin(9600);
pinMode(port_gas_mq4, INPUT);

}
void loop(){
float gas_mq4 = konversiKePPM_gas_mq4(analogRead(port_gas_mq4));
Serial.println("GAS MQ4 : " + (String)gas_mq4);


}


Berikut ini adalah penjelasan dari kode di atas :

1. Header Files:

#include <Arduino.h>
  • #include <Arduino.h> adalah header file standar untuk program Arduino. Ini menyediakan fungsi dasar seperti pinMode(), digitalWrite(), analogRead(), Serial.begin(), dan lainnya yang digunakan untuk berinteraksi dengan hardware dan komunikasi serial.

2. Deklarasi Pin dan Variabel:

const int port_gas_mq4 = A0;
  • port_gas_mq4 adalah pin analog di Arduino yang digunakan untuk membaca sinyal dari sensor gas MQ-4. Dalam hal ini, pin A0 (pin analog pertama) digunakan.
  • const int berarti bahwa nilai port_gas_mq4 bersifat tetap dan tidak akan berubah selama program berjalan.

3. Fungsi konversiKePPM_gas_mq4:

float konversiKePPM_gas_mq4(int sensorValue) {
    float RsRo = (1023.0 / sensorValue) - 1.0;
    float ppmNH3 = 1.0955 * pow(10, 1.3993 * RsRo);
    return ppmNH3;
}

Fungsi ini digunakan untuk mengonversi nilai sensor yang dibaca (dalam bentuk angka analog) menjadi konsentrasi gas dalam satuan PPM (Parts Per Million).

  • sensorValue adalah nilai yang dibaca dari sensor gas MQ-4. Nilai ini berkisar antara 0 hingga 1023, yang merupakan hasil dari pembacaan nilai analog pada pin A0.
  • RsRo = (1023.0 / sensorValue) - 1.0;
    • Di sini, kita menghitung rasio resistansi sensor. Rumus ini mengonversi nilai sensor (yang diukur dalam rentang 0 hingga 1023) ke dalam bentuk rasio resistansi.
  • ppmNH3 = 1.0955 * pow(10, 1.3993 * RsRo);
    • Setelah menghitung RsRo, kita menggunakan rumus kalibrasi sensor untuk mengonversi nilai rasio resistansi ke dalam bentuk konsentrasi gas (dalam satuan PPM).
    • pow(10, 1.3993 * RsRo) adalah perhitungan eksponensial yang digunakan untuk mendapatkan nilai konsentrasi gas dalam satuan PPM berdasarkan nilai resistansi yang dihitung sebelumnya.
  • return ppmNH3; mengembalikan nilai PPM hasil konversi, yang dapat digunakan untuk analisis lebih lanjut.

4. Fungsi setup():

void setup() {
    Serial.begin(9600);
    pinMode(port_gas_mq4, INPUT);
}
  • Serial.begin(9600);: Menginisialisasi komunikasi serial dengan baud rate 9600. Ini diperlukan agar Arduino bisa berkomunikasi dengan komputer atau perangkat lain melalui port serial.
  • pinMode(port_gas_mq4, INPUT);: Menetapkan pin A0 (port gas MQ-4) sebagai input, yang berarti Arduino akan membaca nilai dari pin ini.

5. Fungsi loop():

void loop() {
    float gas_mq4 = konversiKePPM_gas_mq4(analogRead(port_gas_mq4));
    Serial.println("GAS MQ4 : " + (String)gas_mq4);
}
  • analogRead(port_gas_mq4): Membaca nilai analog dari pin A0, yang mengukur resistansi dari sensor gas MQ-4. Nilai ini berkisar antara 0 hingga 1023 (nilai digital dari sinyal analog).
  • konversiKePPM_gas_mq4(analogRead(port_gas_mq4)): Nilai yang dibaca dari sensor kemudian dikirim ke fungsi konversiKePPM_gas_mq4(), yang mengonversinya menjadi satuan PPM gas metana.
  • Serial.println("GAS MQ4 : " + (String)gas_mq4);: Nilai konsentrasi gas yang telah dikonversi ke PPM ditampilkan pada Serial Monitor.
    • Di sini, nilai gas_mq4 dicetak dalam format string dengan menambahkan teks "GAS MQ4 : ".

Keseluruhan Fungsi Program:

  • Program ini membaca data dari sensor gas MQ-4 yang terhubung ke pin A0 pada Arduino.
  • Nilai yang dibaca (nilai analog) dikonversi menjadi konsentrasi gas dalam satuan PPM (Parts Per Million) menggunakan rumus kalibrasi yang sudah ditentukan.
  • Hasil PPM ditampilkan pada Serial Monitor untuk monitoring.

Proses Pembacaan Sensor:

  1. Sensor MQ-4 akan menghasilkan nilai analog (rentang 0-1023) yang mencerminkan konsentrasi gas metana di udara.
  2. Nilai ini kemudian dikonversi menggunakan rumus yang ada dalam fungsi konversiKePPM_gas_mq4().
  3. Hasil konversi PPM dicetak pada Serial Monitor.

Keuntungan dan Keterbatasan:

  • Keuntungan:
    • Mudah digunakan dengan platform Arduino.
    • Sensor gas MQ-4 cukup sensitif terhadap gas metana, yang berguna untuk aplikasi seperti deteksi kebocoran gas.
  • Keterbatasan:
    • Sensor membutuhkan kalibrasi yang baik agar pembacaan PPM akurat.
    • Sensor MQ-4 memerlukan waktu pemanasan agar dapat memberikan pembacaan yang stabil dan akurat.

Dengan kode ini, kamu dapat memonitor tingkat konsentrasi gas metana di udara dan mendapatkan hasilnya dalam satuan PPM untuk diterapkan dalam berbagai aplikasi deteksi gas.

untuk diskusi bisa kontak dibawah ini :

Sosial media :

Apa itu ESP32?