Sistem Embedded: Project 4
Project 4: External Sensor ESP32
Okee kembali lagi ke blog aku, kali ini aku akan ingin ngoprek-ngoprek untuk mencoba sensor eksternal yang akan dihubungkan dengan ESP32. Sensor eksternal sendiri adalah sensor yang dipasang diluar boot ESP32, sensor sendiri terdiri dari banyak jenis, seperti BME-280 (baik 4 pin maupun 6 pin), atau BMP-180 atau sensor DHT11/DHT22. Untuk mengukur percepatan gravitasi dan kecepatan gerak, digunakan sensor MPU-6050. Namun dalam percobaan kali ini aku akan mencoba untuk menggunakan DHT 11 dan BMP280.
Untuk alat dan bahan yang dapat digunakan dalam percobaan kali ini yaitu :
- ESP32
- Kabel Jumper Male-to-Female
- Kabel MicroUSB
- BreadBoard
- Sensor DHT11 (3 pin module)
- Sensor BMP280 (6 pin)
- PlatformIO pada VSCode
-- DHT11
DHT11 adalah sebuah sensor yang digunakan untuk mengukur kelembapan dan suhu. Dalam percobaan ini aku menggunakan DHT11 yang telah dilengkapi module sehingga tidak perlu untuk menggunakan resistor 10k Ohm lagi, dimana resistor ini akan berfungsi sebagai pull-up resistor, yang akan memaksa nilai tegangan yang keluar dari kaki DHT11 untuk menjadi 0 atau 1. Hal tersebut dilakukan karena ESP32 sendiri hanya mengenal kedua nilai tersebut.
Untuk design yang dapat dirangkai apabila DHT11 tidak disertai module, maka dapat mengikuti design berikut,
Sedangkan apabila DHT11 sudah include module dapat menggunakan design berikut, dimana pin 3V3 dihubungkan ke tanda (+), pin Ground dihubungkan dengan tanda (-), dan pin D4 dihubungkan dengan tanda out.
Sedangkan untuk program yang dapat di upload ke dalam ESP32,
Namun sebelum mengupload kode program ke dalam ESP32, perlu menambahkan library DHT sensor library dan Adafruit Unified Sensor ke dalam project kita.
Kemudian dapat dilihat hasil yang keluar pada serial monitor PlatformIO pada video berikut.-- BME280, BMP280, BMP180
BME280 adalah salah satu sensor yang dapat mengukur temperatur, tekanan, serta tekanan. Sama seperti sebelumnya, jika kalian membeli BME280 yang kakinya belum dipasang, maka solderlah terlebih dahulu. Mungkin saat teman-teman membeli sensor ini, kalian akan bingung untuk membedakan yang BME280 dan juga BMP280, dimana kedua sensor ini memiliki fungsi yang berbeda. BMP280 hanya dapat mengukur temperatur dan tekanan saja, sedangkan BME280 juga dapat mengukur temperatur, tekanan, dan humidity. Hal tersebut membuat BME280 memiliki harga yang sedikit lebih mahal. Sedangkan untuk BMP180 sendiri hanya memiliki 4 kaki saja, sehingga ukurannya lebih kecil dari BME280 dan BMP280.
Untuk dapat membedakan BME280 dan BMP280, dapat dilihat dari bentuk chipset-nya, dimana BME280 memiliki chipset yang berbentuk persegi, sedangkan BMP280 memiliki chipset yang berbentuk persegi panjang. Namun untuk kali ini, saya hanya menggunakan BME280 karena memiliki sensor yang lebih lengkap.
Sebelum meng-upload program diharuskan untuk menambahkan library BME280 Adafruit Library, dan juga Adafruit Unified Library ke dalam project ini, sama seperti pada DHT11. Untuk kode program yang dapat di upload ke ESP32 yaitu.
Namun saat program telah di upload sistem tidak dapat mendeteksi sensor BME280 saya :(. Tetapi ketika saya mengganti BME280 dengan BMP280 dan BMP180 dengan design alat yang sama seperti pada BME280. Namun ingat tiap sensor memiliki library yang berbeda-beda, jadi perhatikan kodingan berikut.
Namun saat program telah di upload sistem tidak dapat mendeteksi sensor BME280 saya :(. Tetapi ketika saya mengganti BME280 dengan BMP280 dan BMP180 dengan design alat yang sama seperti pada BME280. Namun ingat tiap sensor memiliki library yang berbeda-beda, jadi perhatikan kodingan berikut.
-- Ekxplorasi BMP280 with LED indicator
saya juga mencoba sedikit eksplorasi menambah lampu LED sebagai indikator, dimana ketika sensor BMP280 disentuh maka temperatur yang terbaca tentu akan naik, sehingga akan membuat LED menyala, untuk design yang saya gunakan yaitu : Dan hasilnya seperti berikut,
Kendala :
Selama mencoba kedua sensor diatas saya kebingungan saat ingin mencetak pada serial monitor, sebab saat program di upload dan serial monitor dibuka tulisan yang muncul adalah tulisa aneh seperti ini,
Namun, hal tersebut dikarenakan saya menggunakan monitor_speed = 115200 pada file platformio.ini, dimana harusnya menggunakan nilai yang sama pada serial_begin pada program saya, yaitu 9600.
Saya juga mengalami kendala saat mencoba BME280 diatas, dikarenakan BME280 yang saya gunakan sepertinya di solder dengan tidak hati-hati sehingga sistem tidak dapat mendeteksi sensor tersebut. Pada serial monitor saya tertulis bahwa BME280 tidak dapat dideteksi. Saya juga telah mencoba mengganti BME280 :(.Ketika saya mecari-cari sumber di internet hal itu dimungkinkan karena sensor saya terbakar saat proses penyolderan. Kayaknya penjualnya nggk bisa nyolder T_T
Masalah lain yang sempat saya alami dan merupakan kesalahan bodoh bagi saya yitu saya tertukar saat memasang kabel jumper pada pin SCL dan SDA dari sensor2 diatas sebab pada randomnerd tutorial ternyata menggunakan pin SDI yang mana itu sama dengan SDA, dan SCK yang sama dengan SCL
To Be Continuedd.....
Komentar
Posting Komentar