Tutorial Sensor ESP32 BMP180 | Bagaimana Menghubungkan BMP180 dengan ESP32?

Catatan Singkat tentang Sensor BMP180

Kita telah melihat tentang Sensor BMP180 di Tutorial Arduino BMP180. Tapi mari kita rekap beberapa info penting tentang sensor. BMP180 adalah Sensor Tekanan Barometrik Digital dari Bosch. Ini adalah perangkat daya ultra-rendah berdasarkan perangkat MEMS resistif piezo. Ini dapat mengukur tekanan atmosfer dalam kisaran 300 hPa hingga 1100 hPa.

Selain mengukur tekanan, Sensor BMP180 juga dapat mengukur Suhu pada kisaran 00C sampai 650C. Karena BMP180 mengukur tekanan atmosfer, Anda dapat dengan mudah mengurangi ketinggian titik (karena keduanya terkait).

BMP180-Modul-Depan

Sensor BMP180 sebenarnya adalah perangkat kecil dengan dimensi 3.6mm x 3.8mm. Ini tersedia dalam paket LGA 7 pin dan berkomunikasi dengan Mikrokontroler baik melalui I2C atau SPI (hanya satu yang mungkin di sensor akhir).

Poin penting tentang sensor adalah kalibrasinya. Sebuah sensor perlu dikalibrasi dengan benar untuk menghasilkan hasil yang dapat diterima. Untungnya, semua Sensor Tekanan Barometrik Bosch BMP180 telah dikalibrasi dari pabrik sehingga siap digunakan.

Banyak produsen modul dan sensor pihak ketiga mengambil Sensor BMP180 kecil dan merancang Modul kecil, yang sangat cocok untuk Arduino dan Proyek DIY lainnya. Sebagian besar modul yang tersedia saat ini menggunakan I2C. Komunikasi. [ESP32 Projects for Beginners]

Diagram Pin BMP180

Gambar berikut menunjukkan Pin dari Sensor BMP180. Modul telah memberi label pada pin di bagian belakang.

BMP180-Modul-Kembali

Seperti yang Anda lihat, ada empat pin pada Modul BMP180:

Antarmuka ESP32 BMP180

Sekarang kita telah melihat sedikit tentang Sensor Tekanan dan Suhu BMP180, sekarang mari kita lanjutkan dengan memahami bagaimana menghubungkan BMP180 dengan ESP32. Hal pertama yang harus Anda ingat adalah bahwa BMP180 adalah Sensor Digital.

Hal penting berikutnya yang perlu diingat adalah bahwa Sensor BMP180 menggunakan I2C bus untuk komunikasi dengan mikrokontroler. Jika Anda ingat Pinout dari ESP32, default I2Pin C dari ESP32 adalah GPIO 21 (SDA) dan GPIO 22 (SCL). Mereka diberi label sebagai D21 dan D22 masing-masing pada ESP32 DevKit Development Board.

Jadi, kita harus menggunakan pin ini untuk berinteraksi dengan Sensor BMP180.

Komponen yang Diperlukan

  • Papan Pengembangan DevKit ESP32
  • Sensor Tekanan dan Suhu (Modul) BMP180
  • LCD 16×2
  • Modul LCD PCF8574 I2C
  • Papan tempat memotong roti
  • Menghubungkan Kabel
  • Kabel USB Mikro

Diagram Sirkuit

Gambar berikut menunjukkan koneksi antara ESP32 dan BMP180. Modul BMP180 memiliki regulator 3.3V terpasang. Jadi, Anda dapat memberi daya pada papan dengan 5V. Hubungkan VDI dari BMP180 ke VIN dari ESP32 Board. Juga hubungkan pin GND dari BMP180 ke pin GND dari ESP32.

Sekarang, datang ke I2Pin C, sambungkan SDA ke GPIO 21 dari ESP32 (yang ditandai sebagai D21 di Board) dan SCL ke GPIO22 (yang ditandai sebagai D22). Ini menyelesaikan semua koneksi.

ESP32-BMP180-Sirkuit

Mempersiapkan Arduino IDE

Anda perlu mengunduh satu perpustakaan yang terkait dengan Sensor BMP180 sehingga ESP32 dapat berkomunikasi dengan baik dengan Sensor. Buka Alat -> Kelola Perpustakaan … di Arduino IDE.

BMP180-Perpustakaan-1

Di bilah pencarian, masukkan ‘bmp180’ dan instal ‘Adafruit BMP085 Library’ oleh Adafruit.

BMP180-Perpustakaan-2

Menampilkan Tekanan dan Suhu pada Serial Monitor

Setelah membuat koneksi yang tepat dan menginstal perpustakaan yang diperlukan seperti yang disebutkan di atas, sekarang kita akan melihat cara membaca data Tekanan dan Suhu dari Sensor BMP180 menggunakan ESP32 dan menampilkan hasilnya di Serial Monitor.

Kode

Sensor BMP180 menggunakan I2C bus untuk komunikasi dengan Mikrokontroler. Saya menulis kode sederhana yang akan menginisialisasi Sensor BMP180 dan membaca data Tekanan dan Suhu dari sensor.

Untuk melihat hasilnya, saya cukup menggunakan monitor serial untuk mencetak nilai tekanan dalam hPa untuk dan derajat Celcius untuk suhu.

ESP32-BMP180-Gambar-3

Gambar berikut menunjukkan tangkapan layar Serial Monitor, yang terus-menerus mencetak pembacaan tekanan dan suhu setiap 3 detik.

ESP32-BMP180-Serial

ESP32 BMP180 dengan I2C LCD

Menampilkan data tekanan dan suhu dari Sensor BMP180 pada Serial Monitor berguna hanya untuk menguji koneksi dan kode itu sendiri. Untuk membangun aplikasi “Sistem Tertanam” yang praktis, Anda harus menggunakan beberapa jenis modul tampilan (OLED, LCD Karakter 16×2, LCD Nokia 5110, LCD grafis, dll.) untuk melihat pembacaan tekanan dan suhu.

Saya menggunakan Modul Tampilan LCD Karakter 16×2 biasa yang dikombinasikan dengan Modul LCD PCF8574 I2C untuk menampilkan pembacaan tekanan dan suhu dari Antarmuka Sensor ESP32 BMP180.

Saya membuat tutorial khusus tentang cara menggunakan I2C LCD dengan ESP32. Lihat tutorial itu untuk informasi mendalam. Saya juga membahas perpustakaan yang diperlukan yang telah Anda unduh untuk berhasil menghubungkan LCD I2C dengan ESP32 dalam tutorial itu.

CATATAN: Saya juga menjelaskan cara mendapatkan Alamat Budak I2Modul LCD C dalam tutorial itu. Langkah ini sangat penting.

Diagram Sirkuit

Komponen tambahan yang Anda perlukan adalah Layar LCD 16×2 dan Modul LCD I2C (berdasarkan PCF8574). Colokkan Modul LCD I2C di bagian belakang Layar LCD 16×2. Modul LCD I2C hanya membutuhkan empat koneksi (dua di antaranya untuk daya dan dua untuk data).

Semua koneksi yang diperlukan antara Modul LCD ESP32 dan I2C serta antara Sensor Tekanan dan Suhu ESP32 dan BMP180 ditunjukkan dalam diagram rangkaian berikut.

ESP32-BMP180-LCD-Sirkuit

Kode

Kode untuk Antarmuka Sensor ESP32 BMP180 dengan LCD I2C sangat sederhana. Bagian inisialisasi sensor mirip dengan kode sebelumnya. Hanya kode terkait LCD yang ditambahkan.

ESP32-BMP180-Gambar-1

Kesimpulan

Panduan lengkap untuk pemula tentang antarmuka Sensor Tekanan dan Suhu BMP180 dengan ESP32 diimplementasikan di sini. Anda mempelajari beberapa informasi dasar tentang Sensor BMP180, cara kerja Antarmuka Sensor ESP32 BMP180, pustaka yang diperlukan untuk berkomunikasi dengan BMP180, cara menampilkan data tekanan dan suhu pada Output Serial dan juga cara menghubungkan LCD I2C dengan ESP32 dan menampilkan pembacaan tekanan dan suhu.