INTERNAL SENSOR ESP32

     Pada percobaan kali ini, dijelaskan mengenai sensor internal pada ESP32. Dalam ESP32 umumnya terdapat 3 jenis sensor internal. Sensor pada ESP32 yaitu Touch Sensor (sensor yang bekerja karena sentuhan), Half Effect Sensor (sensor yang bekerja karena medan magnet), dan Temperature Sensor (sensor yang bekerja karena suhu internal ESP32 namun tidak semua ESP32 memiliki sensor ini). Namun, pada percobaan ini hanya menggunakan 2 jenis sensor yaitu Touch Sensor dan Half Effect Sensor.

Touch Sensor

    Percobaan ESP32 menggunakan Touch Sensor bertujuan untuk menyalakan lampu LED ketika terkena sentuhan. Percobaan ini mengikuti panduan pada https://randomnerdtutorials.com/esp32-touch-pins-arduino-ide/. Komponen dan perangkat yang digunakan :






4. PC / Laptop
5. Breadboard ( yang saya gunakan 830 point)

6. Jumper Wires (yang saya gunakan Male to Male) sebanyak 4 buah


7.Resistor 330 Ω 1 buah
9. Lampu LED (saya gunakan merah)


Langkah - langkah pengerjaan :

Skema yang digunakan dalam pembuatan touch sensor membutuhkan LED sebanyak 1 buah. Berikut adalah skema diagram yang digunakan
 
1. GND menuju kutub negatif.
2. D4 menjadi input touch sensor.
3. RX2 menuju salah satu kaki resistor.
4. Salah satu kaki resistor lain menuju LED dengan kaki yang panjang.
5. LED dengan kaki yang pendek diarahkan menuju kutub negatif.

Kode program yang digunakan pada aplikasi Arduino IDE untuk touch sensor dan penjelasannya sebagai berikut 

// set pin numbers
const int touchPin = 4; 
const int ledPin = 16;

// change with your threshold value
const int threshold = 20;
// variable for storing the touch pin value 
int touchValue;

void setup(){
  Serial.begin(115200);
  delay(1000); // give me time to bring up serial monitor
  // initialize the LED pin as an output:
  pinMode (ledPin, OUTPUT);
}

void loop(){
  // read the state of the pushbutton value:
  touchValue = touchRead(touchPin);
  Serial.print(touchValue);
  // check if the touchValue is below the threshold
  // if it is, set ledPin to HIGH
  if(touchValue < threshold){
    // turn LED on
    digitalWrite(ledPin, HIGH);
    Serial.println(" - LED on");
  }
  else{
    // turn LED off
    digitalWrite(ledPin, LOW);
    Serial.println(" - LED off");
  }
  delay(500);
}

Langkah pertama dalam kode tersebut adalah mendefinisikan nomor pin GPIO yang akan digunakan
input touch sensor = 4
LED = 16
threshold sebagai nilai pembatas dan touchValue sebagai variabel untuk menyimpan nilai touch pin.
Artinya menggunakan GPIO 4 untuk input touch sensor dan GPIO 16 untuk LED. Definisi variabel dalam kode tersebut bertujuan untuk mempermudah agar tidak perlu menyebutkan nomor pin GPIO secara berulang dan memudahkan apabila ingin mengganti GPIO.




Pada bagian setup, akan menjalankan program dengan nomor baud 115200 dan delay selama 1000. Kemudian menginisialisasi LED sebagai outputnya.


Pada bagian loop menggunakan if statement untuk cek ketika nilai touchValue lebih kecil dari threshold maka LED akan menyala dengan tulisan pada monitor " - LED on". Artinya ketika touchValue lebih kecil dari threshold berarti terdapat input sentuhan sehingga LED menyala. Sedangkan pada else statement apabila tidak ada input sentuhan maka LED akan padam dengan nilai touchValue lebih besar dari thresholdnya. 


Langkah selanjutnya rangkai semua komponen seperti gambar berikut :


Untuk melihat touch sensor saat mendapat sentuhan dan saat tidak ada sentuhan dapat diakses dengan serial monitor dari tools. Dengan cara mengakses Tools > Serial Monitor. Berikut hasil serial monitor pada percobaan saya. 




Berikut video hasil percobaan :



Terdapat hambatan yang saya alami ketika percobaan ini yaitu LED tidak menyala. Setelah saya cek ternyata LED saya yang rusak /  tidak berfungsi.

Half Effect Sensor

Percobaan half effect sensor pada ESP32 bertujuan mengetahui adanya medan magnet pada sensor sehingga output voltagenya juga semakin besar dengan diketahui menggunakan plotter dan monitor. Komponen dan perangkat yang digunakan :



5. Magnet

Langkah - langkah pengerjaan :

Skema diagram yang digunakan hanya menyambungkan USB ke ESP32 lalu disambungkan ke PC/Laptop. Kemudian, tempelkan magnet pada sensor. Sensor terletak pada gambar berikut


Kode program yang digunakan pada aplikasi Arduino IDE untuk touch sensor dan penjelasannya sebagai berikut 
Berikut hasil percobaan ketika dicek menggunakan monitor dan plotter  :



Video hasil percobaan :


Pada percobaan ini saya tidak menemui hambatan. 



















Komentar

Postingan populer dari blog ini

LED Blinking ESP32

ESP32 WITH DATA VISUALIZATION

ESP32 WITH WI-FI COMMUNICATION