top of page

ESP32 Project 3 : Internal Sensor

  • Writer: K02_Faiza Aqiela Zuma
    K02_Faiza Aqiela Zuma
  • Feb 20, 2022
  • 3 min read

Hello, balik lagi di sini another part of simple project using ESP32. So dalam project kali ini kita akan menggunakan ESP32 board untuk mengetes fungsionalitas dari internal sensor yang ada pada ESP32. Melalui project ini hendaknya kita dapat memahami cara membaca suatu program serta mengerti cara menggunakan Internal Sensor pada ESP32. Pada dasarnya ESP32 memiliki sensor internal bawaan, namun kali ini kita hanya membahasa 3 dari sensor-sensor tersebut yang terdiri dari Touch Sensor, Hall-Effect Sensor, dan temperature Sensor.


Touch Sensor version 1

ree

Sebelum memulai membuat project ini, pastikan kita sudah memenuhi semua prerequisites yang ada dari mulai menyiapkan alat dan bahan yang diperlukan sampai setup ESP32 seperti yang sudah disebutkan di artikel sebelumnya.


Component Required

Berikut ada beberapa yang perlu dipersiapkan:

  • ESP32 Board

  • Arduino IDE

  • Breadboard

  • Jumper wire (male to male)

  • Micro USB cable

Kita disini akan menggunakan internal sensor yang ada dalam ESP32. Sensor akan mengukur jika ESP32 melalui jumper wire itu tersentuh atau tidak. So kita mulai dari Pin mapping dari ESP32 lalu dilanjut dengan kode program dan terakhir bagian penjelasan dari program.


Pin Mapping of ESP32 GPIO pins

Pin mapping dari touch pin dengan melalui GPIO pins. Pin mapping ini untuk ESP32 Devkit DOIT. seperti yang dapat dicek pada gambar pinout di bawah. Devkit support 9 touchpin dari total 10 pin yang ada pada ESP32 WROOM chip. Touch1 tidak tidak ada pada ESP32 versi ini, karena Touch1 berbagi dengan GPIO0 dan tidak tersedia pada board Devkit DOIT. Semua pin dapat dilihat seperti gambar yang ada di bawah.

ree
  • Touch0 >> GPIO4

  • Touch1 >> Not available on Devkit 30 pin version but available on Devkit 36 pin version

  • Touch2 >> GPIO2

  • Touch3 >> GPIO15

  • Touch4 >> GPIO13

  • Touch5 >> GPIO12

  • Touch6 >> GPIO14

  • Touch7 >> GPIO27

  • Touch8 >> GPIO33

  • Touch9 >> GPIO32


Program of touch sensor ESP32

Untuk menulis program touch sensor ini, kita menggunakan fungsi touchRead yang ada pada Arduino IDE.

touchRead(touch_sensor_pin_number) : fungsi ini digunakan untuk membaca value pada touch sensor yang terhubung dengan touchpin. Hanya perlu menulis nama variabel pada touchpin untuk fungsi ini. Misal, jika ingin menggunakan touch pin nol, maka hanya perlu menuliskan pada sensor dengan touchRead(T0).


Berikut ada code simple untuk program dari touch sensor:

int touch_sensor_value=0;
void setup() {
Serial.begin(115200);
Serial.println("Touch sensor tutorial ESP32");
}

void loop() {
touch_sensor_value = touchRead(T0);
Serial.print("Touch0 value is = ");
Serial.println( touch_sensor_value);
delay(1000);
}

Fungsi touchSensor(T0) akan membaca value dari touch sensor yang ada pada GPIO4 dan akan menyimpan value tersebut pada variable_sensor value. Setelah itu serial monitor pertama akan memunculkan string "Touch value is = " kemudian disusul value dari touchsensor yang terbaca. Proses ini akan terus berulang. Saat tidak disentuh dengan jari, dapat dilihat serial monitor akan menampilkan value yang tinggi berbeda dengan saat menyentuh GPIO 4, dapat dilihat jika value akan terus berkurang.

ree

Touch Sensor version 2

komponen yang perlu disiapkan untuk membuat project ini :

  • ESP32 Board

  • Arduino IDE

  • Breadboard

  • Jumper wire (male to male)

  • USB Cable

  • 1 LED

  • 330 Ohm resistor

Pada percobaan kali ini akan dibuat program yang dapat menyalakan LED dengan menyentuh touch sensor pada ESP32.


ree

Program of touch sensor ESP32

ree
ree


Hall-Effect Sensor

Hall-effect sensor internal yang terletak di bagian belakang dari ESP32. Sensor ini akan mendeteksi magnetic field. Semakin besar medan magnet makan value yang di tampilkan akan semakin besar.


Komponen yang kita perlukan untuk melakukan percobaan ini :

  • ESP32 Board

  • Arduino IDE

  • Breadboard

  • USB Cable

  • Magnet (Disini menggunakan smartphone)


Program of Hall-Effect Sensor ESP32

int hall_sensor_value = 0;
void setup()

{
Serial.begin(9600);  // It defines the baud rate of 9600 bits per second to serial monitor
}
void loop()

{
hall_sensor_value = hallRead();
Serial.print("Hall sensor value = ");
Serial.println(hall_sensor_value);
delay(500);
}

Kode di atas termasuk ke simple code, hampir sama seperti kode sebelumnya hanya saja terdapat fungsi hallRead(). Fungsi ini tidak membutuhkan argumen. Fungsi ini membaca value dari hall sensor yang telah tersimpan di ESP32. Hanya perlu menyimpan output dari fungsi hallRead() pada variabel. Dalam kode ini disimpan output voltage dari hall sensor dalam variabel "hall_sensor_value". Kemudian, mengirimkan value-value ini ke serial monitor. Output dari fungsi hallRead() bisa antara positif atau negatif tergantung arah dari magnetic field.

ree

Built-in Temperature Sensor

ESP32 juga memiliki sensor temperatur yang tertanam di dalamnya untuk mengukur suhu dari ESP32 itu sendiri.


Komponen yang diperlukan untuk melakukan percobaan:

  • ESP32 Board

  • Arduino IDE

  • Breadboard

  • USB Cable

Program of Temperature Sensor ESP32


 #ifdef __cplusplus
  extern "C" {
 #endif

  uint8_t temprature_sens_read();

#ifdef __cplusplus
}
#endif

uint8_t temprature_sens_read();

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.print("Temperature: ");
  
  // Convert raw temperature in F to Celsius degrees
  Serial.print((temprature_sens_read() - 32) / 1.8);
  Serial.println(" C");
  delay(1000);
}

Hasil pengukuran akan ditampilkan pada serial monitor

ree

Saya belajar banyak hal melalui hands-on project dengan mengikuti step-step & tutorial serta dengan banyak explore mengenai project. See you on the next project!


FAIZA AQIELA ZUMA

18220059


 
 
 

Comments


Post: Blog2_Post

Subscribe Form

Thanks for submitting!

  • Facebook
  • Instagram
  • LinkedIn

©2021 by Faiz Universe. Proudly created with Wix.com

bottom of page