Sistem pemantauan kualitas udara semakin penting di era modern ini, terutama dengan meningkatnya polusi dan kebutuhan untuk menjaga kesehatan lingkungan. Salah satu alat yang umum digunakan untuk mendeteksi berbagai gas berbahaya adalah sensor gas MQ135. Dalam artikel ini, kita akan membahas implementasi sensor gas MQ135 pada mikrokontroler STM32.
Pengantar Sensor Gas MQ135
Apa itu Sensor MQ135?
Sensor MQ135 adalah salah satu jenis sensor gas yang dapat mendeteksi berbagai bahan kimia berbahaya, termasuk amonia, benzena, alkohol, dan gas-gas lainnya yang berpotensi berbahaya bagi kesehatan manusia dan kualitas udara. Sensor ini berbasis prinsip resistif, yang berarti bahwa resistansi sensor akan berubah tergantung pada konsentrasi gas yang terdeteksi.
Karakteristik Utama MQ135
- Kisaran Deteksi: MQ135 dapat mendeteksi berbagai gas dengan kisaran konsentrasi tertentu.
- Tegangan Kerja: Sensor ini biasanya beroperasi pada tegangan 5V.
- Sinyal Analog: Sensor menghasilkan sinyal analog yang perlu dikalibrasi dan dibaca oleh mikrokontroler.
Mikrokontroler STM32
STM32 adalah keluarga mikrokontroler berbasis ARM Cortex yang sangat populer di kalangan pengembang dan insinyur. Mikrokontroler ini menawarkan kecepatan tinggi, efisiensi energi, dan berbagai fitur yang memungkinkan pengembangan sistem yang kompleks.
Fitur Utama STM32
- Kecepatan Tinggi: Dapat beroperasi pada frekuensi hingga 72 MHz atau lebih, tergantung pada jenisnya.
- Komunikasi Serial: Mendukung berbagai protokol komunikasi seperti I2C, SPI, dan USART.
- GPIO yang Fleksibel: Memiliki banyak pin input/output yang dapat dikonfigurasi untuk berbagai keperluan.
Langkah-langkah Implementasi Sensor Gas MQ135 pada STM32
1. Persiapan Komponen
Sebelum mulai, pastikan Anda memiliki semua komponen yang diperlukan:
- Mikrokontroler STM32 (misalnya STM32F103C8T6)
- Sensor Gas MQ135
- Breadboard dan jumper wire
- Komputer dengan software pemrograman (misalnya STM32CubeIDE)
- Sumber daya (misalnya adaptor 5V)
2. Koneksi Hardware
Lakukan koneksi antara sensor MQ135 dan mikrokontroler STM32 sebagai berikut:
- Pin VCC pada MQ135 ke 5V pada STM32.
- Pin GND pada MQ135 ke ground pada STM32.
- Pin A0 pada MQ135 (output analog) ke salah satu pin ADC pada STM32 (misalnya PA0).
Diagram koneksi dapat dibuat seperti berikut:
MQ135 STM32
-----------------
VCC ------ 5V
GND ------ GND
A0 ------ PA0 (ADC)
3. Kode Pemrograman
Setelah koneksi hardware selesai, langkah berikutnya adalah menulis kode untuk membaca nilai dari sensor MQ135. Berikut adalah contoh kode sederhana yang menggunakan STM32CubeIDE dan HAL Library.
#include "stm32f1xx_hal.h"
// Inisialisasi fungsi ADC
void ADC_Init(void) {
__HAL_RCC_ADC1_CLK_ENABLE();
ADC_HandleTypeDef hadc1;
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.ScanConvMode = DISABLE;
hadc1.Init.ContinuousConvMode = DISABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
HAL_ADC_Init(&hadc1);
}
// Fungsi untuk membaca nilai dari sensor
uint32_t Read_MQ135(void) {
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
return HAL_ADC_GetValue(&hadc1);
}
// Fungsi utama
int main(void) {
HAL_Init();
ADC_Init();
while (1) {
uint32_t gas_value = Read_MQ135();
// Lakukan sesuatu dengan nilai gas
HAL_Delay(1000); // Delay 1 detik
}
}
4. Kalibrasi Sensor
Sensor gas MQ135 memerlukan kalibrasi agar dapat memberikan pembacaan yang akurat. Untuk kalibrasi, Anda bisa menggunakan gas referensi atau data yang diketahui. Ini akan membantu Anda dalam menentukan konversi dari resistansi sensor menjadi konsentrasi gas.
5. Membaca dan Menginterpretasi Data
Setelah mendapatkan nilai dari sensor, Anda perlu menginterpretasikannya. Hal ini bisa dilakukan dengan menggunakan rumus atau grafik yang telah ditentukan dalam datasheet sensor. Nilai yang didapatkan bisa diubah ke dalam format konsentrasi gas, seperti ppm (parts per million).
Tantangan dan Solusi
Tantangan
- Noise pada Sinyal: Sensor analog mungkin mengeluarkan noise, sehingga perlu menggunakan teknik filtering untuk mendapatkan nilai yang stabil.
- Kalibrasi: Proses kalibrasi yang sulit mungkin mempengaruhi akurasi pengukuran.
Solusi
- Gunakan Filter: Implementasikan filter digital seperti filter rata-rata bergerak untuk mereduksi noise.
- Lakukan Kalibrasi Rutin: Kalibrasi harus dilakukan secara berkala, terutama setelah perubahan lingkungan yang signifikan.
Kesimpulan
Sensor gas MQ135 merupakan alat yang efektif untuk memantau kualitas udara, dan dengan penggunaan mikrokontroler STM32, Anda dapat membuat sistem yang canggih dan responsif. Melalui langkah-langkah implementasi yang telah dijelaskan di atas, Anda dapat dengan mudah mengintregasikan sensor ini ke dalam proyek Anda. Dengan demi kesehatan lingkungan dan keselamatan manusia, penggunaan sensor gas seperti MQ135 tentunya sangat berharga.