ESP32 : BME280 EXTERNAL SENSOR
Haloo semuaa, kembali lagi bersama aku yang akan memberikan kalian tutorial baru nihh, nah, sebelumnya kita sudah membahas tentang Sensor Internal. sekarang aku bakalan memberi tutorial bagaimana cara mengoperasikan sensor External pada ESP32.
Nah, pertama-tama sensor BME280 itu apaan sih??
Module Sensor BME280 merupakan modul sensor yang dapat mengukur data kelembaban, suhu, tekanan barometik yang diakses menggunakan interface I2C.
Sensor ini cukup mudah digunakan dikarenakan tidak memerlukan komponen tambahan lainnya dan mempunyai fitur pre-calibrated.
Sensor BME280 ini merupakan penerus dari sensor BMP180, BMP183 ATAU BMP183 yang diproduksi oleh Bosch.
Tingkat kepresisian dari module sensor ini :
- Kelembaban dari range 0–100% dengan akurasi ± 3%
- tekanan barometrik dari range 300Pa hingga 1100 hPa dengan akurasi absolut ± 1 hPa
- suhu dari range -40 ° C hingga 85 ° C dengan akurasi ± 1,0 ° C
Jadi, udah pada tahu kan kegunaan dari sensor BME280 ini, langsung kita gaskan aja ke bagaimana cara mengoperasikan sensor BME280 ini.
Kita lanjut aja tok ke alat-alat yang akan digunakan. list alat-alat yang akan kita pakai antaralain :
- ESP32
- Kabel USB
- 4 buah Kabel Jumper (kalau aku pake yang male to male)
- sensor BME280
pertama-tama, yang harus kita persiapkan adalah library Adafruit_BME280 dan juga Adafruit Unified Sensor. caranya gimana???. eitss, tenang dulu gan, caranya gampang kok. tinggal buka aplikasi Arduino IDE punya kalian lalu pergi ke Sketch > Include Library > Manage Libraries, nah, dari situ kita tinggal cari aja Adafruit_BME280 dan Adafruit Unified pada kolom search, lalu tinggal install deh. gampang kan, hehe.
setelah itu, kita akan menyambungkan ESP32 dengan sensornya, nah caranya gimana nih??, tenang saja kawan, caranya gampang kok, hanya menyambungkan kabel jumper pada kedua device dengan pengaturan seperti ini :
pastikan jangan salah ya….
rangkaian yang saya hasilkan seperti ini :
oke lanjut yuuk. sekarang aku mau ngejalanin BME280nya nih, untuk ngecek temperatur dan lain-lain.
untuk itu kita akan menggunakan kode yang aku gunakan nih, kodenya seperti ini :
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
/*#include <SPI.h>
#define BME_SCK 18
#define BME_MISO 19
#define BME_MOSI 23
#define BME_CS 5*/
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI
unsigned long delayTime;
void setup() {
Serial.begin(9600);
Serial.println(F("BME280 test"));
bool status;
// default settings
// (you can also pass in a Wire library object like &Wire2)
status = bme.begin(0x76);
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
Serial.println("-- Default Test --");
delayTime = 1000;
Serial.println();
}
void loop() {
printValues();
delay(delayTime);
}
void printValues() {
Serial.print("Temperature = ");
Serial.print(bme.readTemperature());
Serial.println(" *C");
// Convert temperature to Fahrenheit
/*Serial.print("Temperature = ");
Serial.print(1.8 * bme.readTemperature() + 32);
Serial.println(" *F");*/
Serial.print("Pressure = ");
Serial.print(bme.readPressure() / 100.0F);
Serial.println(" hPa");
Serial.print("Approx. Altitude = ");
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(" m");
Serial.print("Humidity = ");
Serial.print(bme.readHumidity());
Serial.println(" %");
Serial.println();
}
jika kita sudah menulis kodenya pada Arduino IDE, kita tinggal upload dan buka serial monitor saja, maka hasilnya akan menjadi seperti ini :
Artikel aku sampai disini aja yaaa, atas perhatiannya saya ucapkan terimakasih
Nama : Gian Denggan Bendjamin
NIM : 18219061
Sumber :https://randomnerdtutorials.com/esp32-bme280-arduino-ide-pressure-temperature-humidity/