Kali ini kita akan membuat sebuah project suhu monitoring. Hasil pembacaan Sensor Lingkungan BME680 dengan menggunakan NodeMCU ESP8266. Bagaimana caranya? yuk kita simak.
Sudah pernah menggunakan sensor Enviromental?
BME680 Enviromental Sensor merupakan sensor yang dapat membaca 4 hal yaitu suhuu, kelembaban, tekanan udara, dan Gas Volatile Organic Compounds (VOC) (seperti Ethanol) dan karbon monoksida. Sensor sudah seperti 4 in 1, sangat multifungsi. Sensor ini sering digunakan untuk monitoring kualitas udara. Sensor ini menggunakan teknologi MEMS, berukuran kecil dan membutuhkan konsumsi daya yang rendah. Penggunaan sensor ini dapat dikembangkan menjadi pemantauan lingkungan, otomatisasi dan kontrol rumah, dan dapat juga dijadikan sebagai perangkat IoT.
Berikut ini spesifikasi dari BME680 Enviromental Sensor.
Tegangan Masukan: 3.3V – 5.5V
Arus Operasi: 5mA (25mA dalam Pengukuran VOC)
Communication IInterface: I2C (dapat digunakan di 3.3V/5V) atau SPI (port non-I2C lainnya hanya mendukung 3.3V)
Alamat I2C Default: 0x76
Rentang Pengukuran Suhu: -40 – + 85
Presisi Pengukuran Suhu: ± 1,0 (0 – 65 )
Rentang Pengukuran Kelembaban: 0 – 100%r.H.
Presisi Pengukuran Kelembaban: ±3%r.H. (20-80% r.H.,25℃)
Rentang Pengukuran Tekanan Atmosfer: 300 – 1100 hPa
Presisi Pengukuran Tekanan Atmosfer: ± 0.6 hPa (300-1100 hPa, 0 ~ 65 )
Kisaran IAQ (Kualitas Udara Dalam Ruangan): 0~500 (semakin besar, semakin buruk)
Dimensi: 18×15.6(mm) /0.71×0.61(inci)
Nah langsung saja nih kita mulai buat project untuk menampilkan Suhu, Kelembaban, Tekanan Udara,dan Gas dengan Menggunakan LCD dan Sensor BME680.
Alat dan Bahan
Alat dan bahan untuk project ini adalah sebagai berikut.
- Software Arduino IDE
- NodeMCU ESP8266 1
- BME680 Enviromental Sensor 1
- LCD 1
- I2C LCD 1
- Projectboard 1
- Kabel jumper Secukupnya
Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO
Rangkaian
Susun device di atas menjadi rangkaian seperti berikut. Pastikan semua terhubung dengan baik.
Keterangan:
SCL BME680 dengan GPIO 14 (D5) NodeMCU ESP8266
SDA BME680 dengan GPIO 13 (D7) NodeMCU ESP8266
SDO BME680 dengan GPIO 12 (D6) NodeMCU ESP8266
CS BME680 dengan GPIO 15 (D8) NodeMCU ESP8266
SCL I2C dengan GPIO 5 (D1) NodeMCU ESP8266
SDA I2C dengan GPIO 4 (D2) NodeMCU ESP8266
baca juga: Mengakses 6 Sensor Warna TCS34725 dengan Multiplexer TCA9548A
Program
Tahap selanjutnya adalah penulisan program pada Arduino IDE. Buatlah program seperti berikut. Perhatikan keterangan (comment) untuk memahami program dengan baik.
Jangan lupa untuk memasukkan terlebih dahulu library Adafruit Sensor dan Adafruit BME680.
//Menampilkan hasil bacaan sensor BME680 di LCD#include #include #include #include “Adafruit_BME680.h” #includeLiquidCrystal_I2C lcd(0x27,16,2); #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 10#define SEALEVELPRESSURE_HPA (1013.25)Adafruit_BME680 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);void setup() { Serial.begin(9600); lcd.init(); lcd.backlight(); while (!Serial); Serial.println(F(“BME680 async test”)); if (!bme.begin()) { // Set up oversampling and filter initialization void loop() { delay(50); Serial.print(F(“Temperatur = “)); Serial.print(F(“Tekanan = “)); Serial.print(F(“Kelembaban = “)); Serial.print(F(“Gas = “)); lcd.clear(); lcd.clear(); lcd.clear(); lcd.clear(); [/code] |
baca juga: Membuat Tampilan Temperatur dan Jam Analog dengan OLED 128×64
Upload program di atas. Jika Sudah, maka akan ditampilkan di LCD hasil bacaan dari sensor Enviromental. Selain itu, kita juga bisa melihat hasil bacaannya di serial monitor.
Nah teman-teman bisa coba ya.
Jika sudah bisa, kita bisa lanjutkan dengan mengirimkan data ini ke Blynk untuk IoT. Bagaimana? mau mencoba? Yuk dicoba, pasti bisa.
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!