Pada bagian ini akan dibahas contoh penggunaan sensor MQ-6 dengan Arduino. Arduino akan membaca data keluaran analog dari modul sensor MQ-6.
Terdapat tiga program yang akan dibuat, program yang pertama adalah program untuk mendapatkan nilai analog ketika tidak ada gas yang terdeteksi dan ketika ada gas terdeteksi. Program yang kedua adalah program yang akan mengkonversi nilai analog dari sensor MQ-6 menjadi nilai tegangan baik ketika terdeteksi ada gas maupun tidak. Program yang ketiga adalah program yang akan memberikan peringatan jika terjadi kebocoran gas. (Catatan : nilai yang di dapat mungkin akan berbeda dengan percobaan anda. Lakukan proses kalibrasi dengan baik). Rangkaian yang perlu dibuat untuk merealisasikan contoh proyek ini ditunjukkan pada gambar 1.1. di bawah ini.
Gambar 1.1 Arduino dan Modul Sensor MQ-6 |
Hardware yang dibutuhkan :
1. Arduino UNO
2. Modul sensor MQ-6
3. Kabel jumper
Keterangan Rangkaian dan Pemrograman :
1. Hubungkan pin VCC modul sensor MQ-6 dengan pin VCC 5V Arduino.
2. Hubungkan pin GND modul MQ-6 dengan pin GND Arduino.
3. Hubungkan pin A0 modul sensor MQ-6 dengan pin analog A0 Arduino.
4. Setelah selesai membuat rangkaian, langkah selanjutnya adalah membuat sketch program pada software Arduino IDE. Sketch untuk contoh proyek ini ditunjukkan oleh contoh program prog1.1.
5. Compile sketch yang telah dibuat.
6. Hubungkan Arduino UNO dengan komputer menggunakan kabel USB dan upload ke Arduino UNO yang digunakan.
7. Buka serial monitor pada Arduino IDE sehingga nilai analog yang terbaca dapat terlihat.
Contoh Program : Prog1.1 Sensor MQ6
Penjelasan :
1. Pada bagian awal program diinisialisasikan pin yang akan digunakan untuk menerima data analog dari modul sensor MQ-6. Pada kasus ini digunakan pin analog A0 dengan alias nama MQ6Pin.
2. Selanjutnya, inisialisasi variabel dengan nama nilaiSensor yang bertipe integer.
3. Di dalam void setup terdapat perintah untuk pengaturan komunikasi serial dengan baud rate sebesar 9600bps.
4. Pada baris selanjutnya program masuk ke dalam void loop yang akan terus berulang tanpa henti.
5. Di dalam void loop terdapat perintah pembacaan data analog pada MQ6Pin yang kemudian hasilnya akan disimpan ke variabel nilaiSensor.
6. Baris selanjutnya adalah perintah untuk mencetak string "MQ-6 ====>>> Nilai Sensor : " disertai pencetakan isi dari variabel nilaiSensor ke serial monitor Arduino IDE.
7. Baris terakhir adalah perintah jeda waktu selama 100 ms.
Gambar 1.2 menunjukkan hasil yang di dapat pada serial monitor ketika tidak ada gas yang terdeteksi.
Gambar 1.2 Nilai dari MQ-3 Tidak Ada Gas |
Gambar 1.3 menunjukkan hasil yang di dapat pada serial monitor ketika ada gas yang terdeteksi oleh sensor. Nilai ini di dapat dengan kondisi modul sensor MQ-2 diberi gas dari korek api gas.
Gambar 1.3 Nilai dari MQ-6 Kondisi Ada Gas |
Perhatikan nilai analog yang ditampilkan tidak stabil pada serial monitor IDE di gambar 1.3. Nilai analog yang diterima dapat dihitung dan diubah ke nilai tegangan (Volt). Program untuk kasus konversi nilai tegangan ini ditunjukkan pada contoh program prog1.2.
Contoh Program : Prog1.2. Sensor MQ6 Nilai Tegangan
Penjelasan :
1. Pada bagian awal program diinisialisasikan variabel dengan nama nilaiSensor dan nilaiTegangan yang bertipe integer.
2. Selanjutnya, inisialisasi pin yang akan digunakan untuk menerima data analog dari modul sensor MQ-6. Pada kasus ini digunakan pin analog A0 dengan alias nama MQ6Pin.
3. Di dalam void setup terdapat perintah untuk pengaturan komunikasi serial dengan baud rate sebesar 9600bps.
4. Pada baris selanjutnya program masuk ke dalam void loop yang akan terus berulang tanpa henti.
5. Di dalam void loop terdapat perintah pembacaan data analog pada MQ6Pin yang kemudian hasilnya akan disimpan ke variabel nilaiSensor. Pengambilan nilai ini dilakukan sebanyak 100 kali dengan jeda waktu 2 ms pada masing-masing pengambilan data analog.
6. Baris selanjutnya, isi dari variabel nilaiSensor dibagi dengan 100 dan hasilnya akan disimpan ke variabel nilaiSensor.
7. Untuk mendapatkan nilai tegangan dapat dihitung dengan membagi nilai analog yang diterima kemudian dibagi dengan 1023 (10 bit ADC) kemudian dikali 5.
8. Hasil perhitungan disimpan ke variabel nilaiTegangan.
9. Baris selanjutnya adalah perintah untuk mencetak isi dari variabel nilaiTegangan ke serial monitor IDE.
10. Baris terakhir adalah perintah untuk jeda waktu selama 100 ms.
Gambar 1.4 menunjukkan nilai tegangan yang di dapat pada serial monitor ketika tidak ada gas yang terdeteksi.
Gambar 1.4 Nilai Tegangan Tidak Ada Gas |
Gambar 1.5 menunjukkan nilai tegangan yang di dapat pada serial monitor ketika ada gas yang terdeteksi oleh sensor. Nilai ini di dapat dengan kondisi modul sensor MQ-6 diberi gas dari korek api gas.
Gambar 1.5 Nilai Tegangan Kondisi Ada Gas |
Berdasarkan nilai dan kondisi yang di dapat pada percobaan program yang kedua, kita dapat membuat program ketiga yang hasilnya akan memberikan peringatan ketika terjadi kebocoran gas. Program untuk kasus terkait peringatan kebocoran gas ditunjukkan pada contoh program prog1.3.
Penjelasan :
1. Pada bagian awal program diinisialisasikan variabel dengan nama nilaiSensor dan nilaiTegangan yang bertipe integer.
2. Selanjutnya, inisialisasi pin yang akan digunakan untuk menerima data analog dari modul sensor MQ-6. Pada kasus ini digunakan pin analog A0 dengan alias nama MQ6Pin.
3. Di dalam void setup terdapat perintah untuk pengaturan komunikasi serial dengan baud rate sebesar 9600bps.
4. Pada baris selanjutnya program masuk ke dalam void loop yang akan terus berulang tanpa henti.
5. Di dalam void loop terdapat perintah pembacaan data analog pada MQ6Pin yang kemudian hasilnya akan disimpan ke variabel nilaiSensor. Pengambilan nilai ini dilakukan sebanyak 100 kali dengan jeda waktu 2 ms pada masing-masing pengambilan data analog.
6. Baris selanjutnya, isi dari variabel nilaiSensor dibagi dengan 100 dan hasilnya akan disimpan ke variabel nilaiSensor.
7. Untuk mendapatkan nilai tegangan dapat dihitung dengan membagi nilai analog yang diterima kemudian dibagi dengan 1023 (10 bit ADC) kemudian dikali 5.
8. Hasil perhitungan disimpan ke variabel nilaiTegangan.
9. Baris selanjutnya adalah perintah untuk mencetak isi dari variabel nilaiTegangan ke serial monitor IDE.
10. Selanjutnya program akan masuk ke percabangan if, dimana variabel nilaiTegangan akan dibandingkan dengan 1. Jika nilai variabel nilaiTegangan lebih besar dari 1, maka string "Peringatan : Terjadi Kebocoran Gas". Jika nilai variabel nilaiTegangan lebih kecil dari 1, maka program akan keluar dari percobaan.
11. Baris terakhir adalah perintah untuk jeda waktu selama 100 ms.
Gambar 1.6 menunjukkan nilai tegangan yang di dapat pada serial monitor ketika ada gas yang terdeteksi.
Gambar 1.6 String Peringatan Kebocoran Gas |
Program ini dapat dikembangkan dengan menambahkan alert berupa suara, baik dengan buzzer ataupun dengan modul mp3 player yang akan membacakan peringatan dari file mp3.
0 Komentar