[3rd Project of Embedded System] ESP32 Sensor: Built in Sensor
Hola, Guys! Kembali lagi dengan proyek menarik lainnya dari Embedded System! Pada proyek kali ini, kita akan bermain dengan sensor-sensor, guys! Sensor apa sih yang Aku maksud ini? Jadi, ESP32 ini sudah cukup canggih hingga memiliki built in sensor, loh!
Sensor yang terintegrasi dengan ESP32 ini ada tiga macam, yaitu touch sensor, hall effect sensor, dan temperature sensor. Dari ketiga sensor tersebut, sayangnya pada blog ini hanya akan dibahas touch sensor dan hall effect sensor saja karena tidak semua ESP32 ini terintegrasi dengan temperature sensor dan ESP32 yang Aku miliki tidak terintegrasi dengan temperature sensor. Namun, jika kalian memiliki ESP32 yang terintegrasi dengan temperature sensor dan tertarik untuk bereksperimen, maka kalian bisa mengunjungi situs ini yang dapat membantu kalian!
Oh benar, sebelum itu Aku mau memberitahu bahwa eksperimen yang akan aku lakukan adalah menyalakan LED menggunakan tangan kita untuk eksperimen touch sensor dan Aku akan memperlihatkan reaksi dari ESP32 untuk eksperimen hall effect sensor. Ya, kalian tidak salah dengar! Pada proyek ini kita akan menggunakan tangan kita sendiri untuk mengimplementasikan touch sensor yang sudah terintegrasi ini! Kalau begitu, tunggu apa lagi? Ayo kita mulai saja proyek ini!
Touch Sensor
Pada bagian pertama ini, Aku akan memberikan hasil eksperimen touch sensorku terlebih dahulu kepada kalian. Silahkan disimak!
Parts Required
Tentu saja untuk memulai proyek ini, kita akan membutuhkan komponen-komponen agar proyek ini dapat berjalan!
- 3 Unit Male to Male Jumper
- ESP32
- LED
- 330 Ohm Resistor
- Breadboard
- Laptop yang sudah terkonfigurasi dengan Arduino IDE
Bagaimana dengan komponen-komponen yang dibutuhkan pada proyek kali ini? Cukup sedikit, bukan?
Illustration for Touch Sensor
Pada bagian ini, kalian akan melihat bagaimana Aku merangkai komponen-komponen yang dibutuhkan tadi agar dapat berfungsi. Ayo disimak gambar di bawah ini!
Skema di atas cukup mudah untuk dibuat, bukan?
Program Details
Tentu saja untuk mengerjakan proyek ini dibutuhkan program yang dapat membantu sistem yang akan kita buat.
Hands On
Analysis
Pertama, dari video dan skema yang sudah Aku buat, terlihat bahwa terdapat kabel yang menggantung begitu saja tidak terhubung ke mana-mana. Kabel tersebut terhubung ke pin nomor 4 di ESP32, namun pada sisi satu lagi tidak disambungkan ke pin mana pun.
Jadi, GPIO 4 atau pin nomor 4 pada ESP32 ini tidak hanya berfungsi sebagai input/output, tetapi berfungsi juga sebagai touch sensor! Inilah alasan lain mengapa pin nomor 4 yang digunakan sebagai touch sensor. Dengan menggunakan GPIO 4 ini, maka ESP32 yang terintegrasi dari touch sensor ini dapat merasakan sentuhan dari tangan kita. Jadi, untuk kalian yang mau coba menggunakan GPIO lain juga akan memiliki efek yang sama dengan GPIO yang Aku gunakan ini. Tapi perlu diperhatikan bahwa GPIO yang bisa digunakan untuk touch sensor hanyalah GPIO yang juga berperan sebagai touch sensor yang dapat dilihat pada gambar di atas.
Kemudian, seperti proyek-proyek sebelumnya, terdapat dua prosedur utama yang ada pada program, yaitu void setup()
dan void loop()
. Di dalam prosedur void setup()
terdapat kode Serial.begin
yang berfungsi untuk menentukan kecepatan transmisi data bits per second (baud) untuk berkomunikasi dengan komputer yang digunakan. Semakin tinggi angka yang digunakan, maka kecepatan transmisi yang dikirim akan semakin tinggi.
Kemudian, touchRead
berfungsi untuk membaca nilai dari sentuhan yang kita berikan yang kemudian di-assign ke touchValue
. Perlu diperhatikan bahwa pada program yang Aku buat itu ada threshold
. threshold
ini berfungsi sebagai batas bawah sebelum LED menyala. Jika batas ini dilewati, maka LED akan menyala. Batas ini akan dilewati jika touch sensor mendeteksi sentuhan manusia.
Dari gambar di atas, dapat terlihat bahwa grafik mengalami kenaikan dan penurunan yang cukup signifikan. Setiap grafik ini mengalami penurunan, berarti touch sensor yang ada pada ESP32 ini mendeteksi sentuhan manusia dan akan menyalakan LED yang sudah terpasang jika nilainya lebih rendah dari 30.
Kode-kode seperti digitalWrite
, pinMode
, dan Serial.println
ini memiliki fungsi yang sama dengan kode-kode pada proyek 1 dan proyek 2 yang Aku kerjakan.
Error Occured
Masalah yang Aku hadapi saat menjalani eksperimen ini adalah saat lampu LED tiba-tiba menyala tanpa aku pegang. Awalnya aku tidak mengerti kenapa hal tersebut bisa terjadi, namun setelah aku mencari informasi mengenai hal ini, ternyata kejadian ini merupakan hal yang cukup wajar!
Masalah tersebut terjadi karena terlalu banyak gangguan terhadap lingkungan sekitar ESP32, sehingga touch sensor bisa mendeteksi sesuatu selain sentuhan manusia dan hal ini dapat memicu touch sensor yang mengira bahwa hal tersebut merupakan sentuhan manusia dan membuat LED menyala.
Hall Effect Sensor
Nah, karena kita sudah menyelesaikan eksperimen kita mengenai touch sensor, sekarang kita akan mencoba untuk bereksperimen mengenai hall effect sensor. Pada bagian ini, kita hanya akan melihat efek dari hall effect sensor jika didekatkan dengan magnet.
Parts Required
Pada eksperimen ini, komponen yang digunakan cukup sedikit.
- Breadboard
- ESP32
- Kabel USB
- Laptop yang terkonfigurasi dengan Arduino IDE
Illustration
Dapat terlihat pada ilustrasi di atas bahwa pada eksperimen ini cukup simpel.
Program Details
Analysis
Dari program yang sudah ditulis di atas, hallRead
adalah fungsi yang baru digunakan. hallRead
ini berfungsi untuk membaca magnet yang ada di dekat ESP32 ini.
Dapat terlihat dari gambar di atas bahwa terjadi penurunan signifikan hingga mencapai -20. Hal ini terjadi karena adanya magnet berkutub utara yang dekat dengan ESP32.
Kemudian, ESP32 juga akan memberikan pembacaan yang berbeda jika kutub yang didekatkan pada ESP32 ini berbeda. Pada sebelumnya, digunakan kutub utara dan menyebabkan pembacaan nilai semakin negatif, namun jika kutub yang didekatkan pada ESP32 ini berkutub selatan, maka pembacaan nilai akan semakin positif.
Dapat terlihat dari gambar di atas bahwa terjadi kenaikan yang signifikan saat kutub selatan didekatkan pada ESP32.
Dari percobaan ini, perlu diperhatikan juga bahwa pembacaan nilai oleh ESP32 ini cenderung fluktuatif. Hal ini disebabkan oleh kondisi lingkungan yang mungkin dipenuhi oleh medan magnet yang menyebabkan ESP32 ini akan mengalami kenaikan dan penurunan yang tidak stabil.
Closing
Yah, cukup sekian untuk proyek 3 yang bereksperimen dengan sensor pada ESP32. Aku yakin kalian juga pasti bisa mencoba apa yang aku lakukan! Oleh karena itu, jangan lupa untuk mengembangkan apa yang sudah Aku coba! Terima kasih sudah membaca tulisan kali ini, tunggu Aku di proyek-proyek selanjutnya, ya. Ciao!