Lompat ke konten Lompat ke sidebar Lompat ke footer

ESP32 PART-5. Sensor Sentuh (Touch Sensors)

ESP-32 sudah memiliki fitur sensor sentuh (Touch sensor). Sensor sentuh ini bisa dimanfaatkan untuk mengontrol peralatan listrik atau elektronik. Jika pin Touch sensor dihubungkan kabel panjang dan ujung kabelnya dikupas atau diberi plat logam maka sensor sentuh ini bisa kita jadikan saklar sentuh. Jadi pada saat kita ingin menghidupkan lampu LED maka cukup saja sentuh ujung kabel tersebut. 


Jumlah sensor sentuh yang sudah ada di dalam ESP32 berjumlah 9 buah pin. Adapun rincian Pin-nya adalah : 

 Posisi GPIO touch sensor terlihat pada gambar ini:

 

 


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);

}

 


Pada program di atas kita mencoba membaca nilai touch sensor T4 pada pin D13.

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)"