Arduino, Sensors, TUTORIAL

Deteksi Asap menggunakan Sensor Gas MQ-2

Dalam tutorial ini, kita akan mempelajari cara mendeteksi asap dan gas mudah terbakar menggunakan sensor MQ-2. 

Komponen yang Digunakan

Perangkat keras:
Arduino UNO ×1
Breadboard ×1
Sensor asap MQ-2 ×1
Kabel jumper male/female ×1
LED 5 mm warna merah ×1
LED 5 mm warna hijau ×1
Buzzer ×1
Resistor 220 Ω ×3

Perangkat lunak / layanan:
• Arduino IDE (download disini)

Pada contoh ini, kita akan membaca tegangan keluaran sensor dan ketika asap mencapai tingkat tertentu, buzzer akan berbunyi dan LED merah akan menyala. 

Ketika tegangan di bawah level itu, LED hijau akan menyala. 

Apa itu Sensor Asap MQ-2?

Sensor MQ-2 sensitif terhadap asap dan gas yang mudah terbakar, seperti: 

• LPG
• Butana
• Propana
• Metana
• Alkohol
• Hidrogen

Resistansi sensor berubah bergantung pada jenis gas yang terdeteksi. Sensor memiliki potensiometer bawaan untuk mengatur sensitivitas deteksi gas/asap sesuai kebutuhan.

Sensor Pin-Out Details
MQ-2 Sensor

Cara Kerjanya

Tegangan keluaran dari sensor berubah sesuai konsentrasi asap/gas di udara.
Semakin tinggi konsentrasi gas/asap, semakin tinggi tegangan keluaran.
Semakin rendah konsentrasi gas/asap, semakin rendah tegangan keluaran.

Sensor dapat memberikan sinyal analog (A0) yang dibaca lewat input analog Arduino, atau digital (D0) sebagai output digital Arduino. 


Pin Wiring (Skematik Koneksi)

Sensor MQ-2 memiliki 4 pin yang dihubungkan ke Arduino UNO sebagai berikut:

Pin————————————-Wiring to Arduino Uno

A0————————————-Analog pins

D0————————————-Digital pins

GND———————————–GND

VCC————————————5V

Pastikan semua komponen dirangkai dengan benar sebelum mengunggah kode.

Silakan merujuk pada skematik koneksi yang terlampir di bawah ini. Setelah semua komponen sudah kamu rangkai dengan benar, langkah berikutnya adalah mengunggah (upload) kode yang diperlukan.

Skematik

Connection schematic diagram

Kode Program (Arduino)

Setelah komponen perangkat keras disiapkan dengan benar, unggah (flash) kode ini ke Arduino kamu. Silakan menyesuaikan nilai variabel sensorThres dengan nilai ambang (threshold) yang berbeda sesuai kebutuhan.

/*******

All the resources for this project:
https://www.hackster.io/Aritro


*******/

int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// Your threshold value
int sensorThres = 400;

void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}

void loop() {
int analogSensor = analogRead(smokeA0);

Serial.print("Pin A0: ");
Serial.println(analogSensor);
// Checks if it has reached the threshold value
if (analogSensor > sensorThres)
{
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
}
else
{
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}

Credit article translated from Aritro Mukherjee hackster.io

Tinggalkan Balasan