Project #4 ESP32 Sensor - Eksternal/External sensor




Halo, apa kabar semuanya? Perkenalkan kembali saya Muhammad Vito Ibrahim. Pada kesempatan kali ini saya akan mencoba sensor eksternal yang dihubungkan dengan ESP32

Nah , project kali ini juga merangkap sebagai rekam jejak atau laporan saya untuk mata kuliah ( II2260 Sistem Embedded ). Agar lebih detail kali ini saya akan mencoba sensor eksternal tepatnya adalah BMP180 untuk mendeteksi ketinggian, kelembapan, suhu, dsb. Sebelum memulai project, akan dijelaskan terlebih dahulu mengenai perangkat dan komponen yang akan digunakan.


SENSOR EKSTERNAL ESP32

Perangkat dan komponen yang digunakan:

1. Mikrokontroler ESP32 Development Board
2. Arduino IDE
3. Laptop/Desktop dengan USB port
4. Kabel micro usb to USB A ( kabel data/charger biasanya )
5. Breadboard
6. Kabel Jumper ( siapkan ketiga jenis model kabel yaitu F-F, F-M, dan M-M untuk antisipasi)
7. Sensor BMP180

Penjelasan beberapa perangkat dan komponen:

1. Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip IC (Integrated Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu.

2. ESP-32 Development Board adalah adalah mikrokontroler chip dengan rangkaian sistem hemat biaya dan rendah daya pada dilengkapi Wi-Fi yang terintegrasi dan Bluetooth.

3. Arduino IDE (Integrated Development Environment) adalah software yang di gunakan untuk memprogram di arduino, dengan kata lain Arduino IDE sebagai media untuk memprogram board Arduino. Pada kali ini bisa juga digunakan untuk memprogram mikrokontoler lainnya yaitu ESP32 dengan konfigurasi tambahan.

4. Breadboard adalah papan tempat komponen elektronik tanpa harus disolder.

5. Kabel jumper adalah kawat listrik, atau kabel, dengan konektor atau pin di setiap ujungnya, yang biasanya digunakan untuk menghubungkan komponen pada breadboard.

6. BMP180 adalah sensor tekanan barometrik (digital barometric pressure sensor) dan temperatur udara yang berkinerja sangat tinggi yang dapat diaplikasikan pada berbagai perangkat.


Pendahuluan :

Kali ini saya akan mencoba sensor eksternal yang akan dihubungkan dengan ESP32 yaitu sensor tekanan BMP180

Langkah pengerjaan :

a. wiring dan menghubungkan sensor ke ESP32

Proses wiring sensor BMP180 ke ESP32 adalah sebagai berikut :

pin VIN pada BMP180 dihubungkan ke 3.3V pada ESP32
pin GND pada BMP180 dihubungkan ke GND pada ESP32
pin SCL pada BMP180 dihubungkan ke GPIO22 pada ESP32
pin SDA pada BMP180 dihubungkan ke GPIO21 pada ESP32

berikut adalah contoh skemanya :






b. install library BMP180 di ArduinoIDE

Pada interface ArduinoIDE buka sketch > include library > manage library 





Kemudian cari kata kunci BMP180 lalu install, saya menggunakan versi dari adafruit



Setelah install restart ArduinoIDE

c. Gunakan kode berikut yang dapat diakses di ArduinoIDE dengan cara

Buka File > Examples > Adafruit BMP085 Library > BMP085test.


#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Could not find a valid BMP085/BMP180 sensor, check wiring!");
	while (1) {}
  }
}
  
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(102000));
  Serial.println(" meters");
    
  Serial.println();
  delay(500);
}

Penjelasan kode di atas adalah :

kode dimulai dengan mengimpor library pada #include lalu membuat objek yaitu Adafruit_BMP085 yang ditandai dengan kode bmp di belakangnya, kemudia pada setup() kode diinisialisasi pada sensor.


bmp.readTemperature() kode ini membaca suhu
bmp.readPressure( ) kode ini membaca tekanan
bmp.readAltitude( ) kode ini membaca ketinggian, Karena tekanan berubah sesuai ketinggian, maka ketinggian saat ini dapat diperoleh dengan membandingkan tekanan di permukaan laut.

kode membaca sinyal input yang datang dari sensor BMP180

d. Hubungkan ESP32 ke PC atau perangkat lain dengan kabel micro USB lalu compile dan upload

Kemudian buka serial monitor dengan cara tool > serial monitor pada interface ArduinoIDE dan set baud rate pada 9600 sesuai yang dinyatakan pada kode program.



Error dan Troubleshooting :

Pada project kali ini, hampir semua berjalan cukup lancar dan tidak muncul berbagai permasalahan atau error yang rumit atau complicated.

Kompilasi video pengerjaan :


Kesimpulan:

Sensor eksternal mengirimkan data pembacaan ke ESP32. Sensor BMP180 memberikan bacaan suhu, tekanan, ketinggian.

Referensi :

1. randomnerdtutorials.com
2. wikipedia

Terimakasih, sampai jumpa pada project berikutnya!




Posting Komentar

0 Komentar