ESP-32: EXTERNAL SENSORS
Hello semua! Untuk kali ini pada pembahasan ESP-32 kita akan meneksplor sekitar penggunaan eksperiman eksternal sensor. Untuk percobaan ini kita akan menggunakan sensor serial BMP-180 sensors. Sensor ini memiliki beberapa fungsi seperti mengukur tekanan, temperatur, dan ketinggian dari laut.
BMP-180: BAROMETRIC SENSORS
Dengan menggunakan esp-32, sensor BMP-180 bisa kita gunakan untuk membaca tekanan pada lingkungannya. Selain tekanan secara kuantitas, karena tekanan juga memengaruhi tekanan maka BMP-180 juga dapat membaca temperatur sekitar. Selain itu karena tekanan juga dapat digunakan untuk membaca ketinggian, kita juga bisa menentukan ketinggian sensor dari permukaan laut.
WHAT WE NEED
Sebelum kita menyusun rangkaian, ada beberapa komponen dan paket data yang harus kita siapkan. Pertama terdapat komponen-komponen yang harus disiapkan yaitu:
- ESP-32
- Kabel Jumper(yang digunakan male to male)
- BMP-180
Setelah menyiapkan komponen, kita juga harus memasang paket adafruit pada library Arduino kita.
Pertama kita akan masuk pada Menu Scetch > Include Library > Manage Libraries…
Kedua pada search bar kita akan mencari “bmp-085”, kemudian menginstall adafruit BMP085 Library dengan menekan tombol install.
Setelah terinstall dengan terindikasi install yang di grey-out maka kita sudah siap untuk membuat rangkaian skema sensor BMP-180.
SKEMATIK RANGKAIAN: BMP-180
Pertama kita akan memasang ESP-32 pada breadboard.
Kedua kita akan memasang komponen sensor BMP-180 pada rangkaian breadboard kita.
Kemudian kita akan memasang kabel jumper pada rangkaian, pertama kita akan memasang pada pin 3V3 di ESP-32 ke pin VIN pada sensor BMP-180.
Setelah itu kita akan memasang kabel jumper kedua dari pin GND pada ESP-32 ke GND pada sensor BMP-180.
Lalu kita akan memasang kabel jumper selanjutnya pada pin d22 ESP-32 ke SCL pada sensor BMP-180.
Terakhir kita akan memasang kabel ke-empat pada pin d21 ESP-32 ke pin SDA pada sensor BMP-180.
PROGRAM RANGKAIAN
Program yang kita gunakan untuk rangkaian ini dapat kita dapatkan pada menu File > Examples > Adafruit BMP085 Library > BMP085test
Adafruit_BMP085 bmp;
void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {}
}
}
Setup untuk program yang kita gunakan akan mengidentifikasi sensor BMP yang kita gunakan. Kemudian program akan menginisialisasi sensor, dengan apabila sensor tidak terdeteksi pada rangkaian program akan meberi peringatan pada serial monitor.
void loop() {
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
// Calculate altitude assuming 'standard' barometric
// pressure of 1013.25 millibar = 101325 Pascal
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");Serial.print("Pressure at sealevel (calculated) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");// you can get a more precise measurement of altitude
// if you know the current sea level pressure which will
// vary with weather and such. If it is 1015 millibars
// that is equal to 101500 Pascals.
Serial.print("Real altitude = ");
Serial.print(bmp.readAltitude(101500));
Serial.println(" meters");
Serial.println();
delay(500);
}
Program utama pada rangkaian ini adalah membaca nilai yang di deteksi pada program yang sudah terpasang pada sensor BMP-180, dan kemudian melakukan print pada serial monitor meliputi temperatur(dalam Celcius), tekanan(dalam pascal), dan ketinggian(dalam meter dan setara dengan perhitungan setara 101500 pascals).
Berikut video demonstrasi rangkaian BMP-180 dengan pembacaan serial montironya.
KESIMPULAN
Setelah melakukan percobaan dan berhasil dalam membaca reading pada sensor, kita bisa melihat beberapa kegunaan dari sensor eksternal khususnya pada BMP-180. Meskipun terdapat sensor yang sama dengan sensor internal pada ESP-32, terdapat sensor tambahan seperti barometric sensor pada BMP-180 yang bisa kita gunakan untuk fungsi tambahan seperti mengukur ketinggian sensor dari permukaan laut. Meskipun begitu, tidak ada sensor yang tidak kompatible selama rangkaian yang menunjukan fleksibilitas yang terdapat pada ESP-32 itu sendiri.