Cara membaca data analog mengunakan ESP32
Daftar Isi Artikel
kali ini saya akan share bagaimana cara membaca input analog menggunakan ESP32.input analog ini bisa seperti variabel resistor(potensiometer) atau sensor analog ( FLow, Pressure, Temperature, dan level).
Analog input
Membaca sebuah nilai data analog dengan ESP32 berarti kita akan mengukur nilai level tegangan antara 0V sampai 3.3V.nilai dari tegangan ini nanti akan dikonversi menjadi 0 dan 4095 dimana nilai 0 sama dengan nilai 0V dan 4095 sama dengan 3.3V.
Analog Read
Membaca data analog menggunakan ESP32 ini sangat mudah dilakukan yaitu dengan hanya menggunakan fungsi analogRead(), trus didalam kurung kita tulis GPIO mana yang mau kita gunakan untuk membaca data analognya.
berikut ini adalah syntax pemrogramanya :
analogRead(GPIO)
Perlu anda ketahui babwa di ESP32 disediakan 18 channel yang bisa anda gunakan sebagai pin ADC, tapi di modul DEVKIT V1 DOIT ini GPIO yang untuk ADC hanya disediakan 15 pin saja.
berikut ini adalah gambar pin-pin yang bisa anda gunakan untuk membaca data analog.
Contoh Program
pada contoh program kali ini kita akan membaca data analog dari variabel resistor ( Potensiometer).
Peralatan-peralatan yang dibutuhkan :
- ESP32 DOIT DEVKIT VI Board
- Potensiometer
- Breadboard
- Jumper
Code programming
// Potentiometer dihubungkan ke GPIO 34 (Analog ADC1_CH6)
const int potPin = 34;
// variabel untuk menyimpan nilai dari potentiometer
int potValue = 0;
void setup() {
Serial.begin(115200);
delay(1000);
}
void loop() {
// membaca nilai potensiometer
potValue = analogRead(potPin);
Serial.println(potValue);
delay(500);
}
silahkan contek saja program diatas, dan saya akan menjelaskan lebih detil fungsi dari program diatas.
program diatas dimulai dari bagaimana cara menginisialisasi GPIO yang akan dihubungkan dengan potensiometer.dalam contoh kali ini kita menggunakan GPIO 34.
const int potPin = 34;
kemudian setelah itu ada perintah setup(), fungsinya adalah untuk inisialisasi komunikasi serial dengan boudrate 115200
Serial.begin(115200);
kemudian setelah itu ada fungsi loop() dan didalam fungsi loop ini kita akan menggunakan fungsi analogRead().fungsinya adalah kita scanning terus menerus nilai dari input.
potValue = analogRead(potPin);
dan yang terakir adalah kita akan menampilkan data yang kita baca dari potensiometer di layar monitor.
Serial.println(potValue);
hasil dari percobaan
berdasarkan hasil diatas ketika kita tidak merubah variabel potensiometer maka nilainya adalah 0 dan nilai maksimal variabel potensiometer 4095.
demikian tutorial tentang bagaimana membaca data analog menggunakan esp32.untuk materi selanjutnya saya akan membahas tentang sensor hall effect di esp32