ESP32 PART-5. Sensor Sentuh (Touch Sensors)
Untuk menggunakan pin Touch Sensors, anda bisa menghubungkan pin touch sensors dengan kabel yang ujungnya dikupas sedikit sehingga tembaganya terlihat. Pada saat tangan menyentuh ujung kabel yg sudah dikupas maka akan terdeteksi perubahan besaran listriknya. Jika ingin mendapatkan hasil lebih baik lagi maka kabel tersebut bisa ditambahkan plat logam yang lebih besar lagi.
Pin
sensor sentuh dibaca menggunakan instruksi berikut :
touchRead(touchSensorPinNumber);
Untuk langkah awal kita bisa membaca nilai
touch sensors melalui serial monitor :
Silahkan ketik program ESP32 di aplikasi
ARDUINO IDE seperti dibawah ini :
/***********************************************
Membaca nilai pin Touch di Serial Monitor
***********************************************/
#define
sensor_sentuh T4 //T4 ada di pin GPIO13
int
nilai_sensor = 9999;
void
setup()
{
Serial.begin
(9600);
}
void
loop ()
{
nilai_sensor
= touchRead(sensor_sentuh); // membaca sensor sentuh
Serial.print("nilai
sensor sentuh = ");
Serial.println(nilai_sensor);
delay
(500);
}
Setelah selesai silahkan di upload
programnya, lalu buka serial monitor. Jangan lupa atur baudrate nya 9600. Dari
hasil serial monitor bisa dilihat pada gambar di bawah ini:
a. Saat Sensor tidak di sentuh tangan
nilainya adalah sekitar 90 - 103
b. Saat sensor disentuh tangan nilainya
berubah menjadi sekitar 20 - 22
Nilai ini bisa berbeda-beda tiap board board ESP32
dev Module, jadi silahkan dicatat nilai perubahan antara di sentuh dan tidak
disentuh hal ini digunakan sebagai referensi saat membuat program selanjutnya.
Setelah mengetahui nilainya maka kita bisa
membuat saklar sentuh dengan menggunakan perintah if. Untuk jelasnya bisa
dilihat program dibawah ini :
/**************************************************
Saklar sentuh (Hendry Kurniawan,S.Pd)
Sensor sentuh T4 (GPIO 13)dan LED Built
in(GPIO 2)
***************************************************/
int
valueRead = 9999;
#define sensor_sentuh T4 //T4 ada di pin GPIO 13
int
LED = 2; //LED Built in GPIO 2
void
setup() {
pinMode(LED,OUTPUT);
// Mengatur mode LED sebagai Output
Serial.begin
(9600);
}
void
loop () {
valueRead =
touchRead(sensor_sentuh);
Serial.print("Value Read = ");
Serial.print(valueRead);
if(valueRead
< 25) {
digitalWrite(LED, HIGH);
Serial.print("(saklar disentuh) ");
Serial.println(" : LAMPU LED HIDUP ");
delay (100);
}
else
{
digitalWrite(LED, LOW);
Serial.print("(saklar tidak
disentuh) ");
Serial.println(" : LAMPU LED MATI");
delay (100);
}
Pada program diatas menggunakan LED built in
yg ada di dalam board
ESP32 dev Module pada GPIO 2. Nilai acuan yang digunakan adalah 25. NIlai
ini bisa diganti-ganti sesuai sensitifitas sensor sentuh masing-masing. Jadi
pada saat sensor disentuh maka nilai yang terbaca < 25 mengakibatkan LED
hidup. Jika nilainya > 25 (sensor tidak tersentuh tangan) maka LED akan
mati.
Program ini juga bisa di lihat pada serial monitor
Untuk pengembangan lebih lanjut agar bisa
digunakan untuk menyalakan peralatan listrik sebenarnya misalnya lampu, pompa
air dll maka bisa menambah modul Driver Relay yang terhubung ke pin GPIO 2.
Itulah penjelasan tentang fitur sensor sentuh yang sudah ada di dalam board ESP32 dev Module, sehingga kita tidak perlu menambah modul lagi untuk sensor sentuh seperti pada Arduino Uno.
Jika anda sudah berhasil maka sebaiknya lanjutkan pada materi ESP32 Part 6 "Sensor Hall Effect" (sensor untuk mendeteksi keberadaan medan magnet).
Silahkan kalau ada yang perlu didiskusikan atau ditanyakan silahkan tulis dalam kolom komentar. Selamat membaca
Posting Komentar untuk "ESP32 PART-5. Sensor Sentuh (Touch Sensors)"