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 : 

Touch 0 (GPIO 4)

Touch 2 (GPIO 2)

Touch 3 (GPIO 15)

Touch 4 (GPIO 13)

Touch 5 (GPIO 12)

Touch 6 (GPIO 14)

Touch 7 (GPIO 27)

Touch 8 (GPIO 33)

Touch 9 (GPIO 32).


touch sensor esp32



 Untuk jelasnya bisa di lihat pada gambar dibawah ini:

 

 

sensor sentuh esp32


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

}

 

program sensor sentuh esp32


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

 

sensor sentuh esp32

program sensor sentuh esp32

b. Saat sensor disentuh tangan nilainya berubah menjadi sekitar 20 - 22

 

sensor sentuh esp32

 

program sensor sentuh esp32


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 nomor_pin_sensor_sentuh T4 //T4 ada di pin GPIO 13

int LED_BUILTIN = 2;  //LED Built in GPIO 2

 

void setup() {

pinMode(LED_BUILTIN,OUTPUT); // Mengatur mode LED sebagai Output

Serial.begin (9600);

}

 

void loop () {

  valueRead = touchRead(nomor_pin_sensor_sentuh);

  Serial.print("Value Read = ");

  Serial.print(valueRead);

if(valueRead < 25) {

  digitalWrite(LED_BUILTIN, HIGH);

  Serial.print("(saklar disentuh)  ");

  Serial.println(" : LED ON");

  delay (100);

  }

else {

  digitalWrite(LED_BUILTIN, LOW);

  Serial.print("(saklar tidak disentuh)  ");

  Serial.println(" : LED OFF");

  delay (100);

  }

 

 

program sensor sentuh esp32


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


program sensor sentuh esp32


program sensor sentuh esp32

 


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. 


Silahkan kalau ada yang perlu didiskusikan atau ditanyakan silahkan tulis dalam kolom komentar. Terimakasih.


Untuk memahami dasar-dasar ESP32 klik : Hardware ESP32

2 komentar untuk "ESP32 PART-5. Sensor Sentuh (Touch Sensors)"

  1. pak jenis2 sensor sentuh itu ada berapa dan fungsinya apa?

    BalasHapus
    Balasan
    1. ada 2 jenis sensor sentuh yaitu sensor sentuh kapasitif dan sensor sentuh resistif. Fungsinya untuk mendeteksi perubahan besaran listrik saat di sentuh dengan tangan dan hasil perubahan tadi diolah dalam program sehingga bisa digunakan sesuai kepentingan. misalnya sensor sentuh digunakan untuk menghidup dan mematikan lampu, sepeda motor, dll

      Hapus