Cara Membaca Potensiometer di ESP32 (ADC 0–4095) — Simulasi Online
Potensiometer di ESP32 dibaca dengan cara yang mirip Uno, tetapi ADC-nya 12-bit: nilainya 0 sampai 4095, empat kali lebih halus daripada Uno yang 0 sampai 1023. Di template ini nilai putarannya mengatur kecerahan LED di GPIO2.
Komponen yang dipakai
- ESP32
- Breadboard (setengah)
- LED
- Resistor
- Potensiometer
Cara kerja
- Wiper potensiometer disambungkan ke GPIO13; dayanya diambil dari rel breadboard (3V3 dan GND).
- analogRead(GPIO13) menghasilkan nilai 0 sampai 4095 sesuai posisi knob.
- Nilai itu dibagi 16 agar masuk rentang PWM 0 sampai 255 untuk analogWrite ke LED GPIO2.
- Nilai ADC dan tingkat kecerahan dicetak ke Serial Monitor setiap 200 ms.
Konsep yang dipelajari
Kode program
/*
Potensiometer ESP32: wiper dibaca dengan analogRead di GPIO13. ADC ESP32
itu 12-bit, jadi nilainya 0..4095 (Uno hanya 0..1023). Nilai itu diskala
ke 0..255 untuk mengatur cerah LED GPIO2 lewat analogWrite (PWM).
Rangkaian: daya lewat breadboard — 3V3 & GND ESP32 memberi makan rel
+ dan -; potensiometer VCC -> rel +, GND -> rel -, wiper -> GPIO13;
GPIO2 -> LED -> 220 Ohm -> rel -.
Coba: putar knob potensiometer, cerah LED berubah dan nilai ADC tampil
di Serial Monitor.
*/
const int PIN_POT = 13;
const int PIN_LED = 2;
void setup() {
Serial.begin(115200);
pinMode(PIN_LED, OUTPUT);
Serial.println("Putar potensiometer: nilai ADC 0..4095 mengatur cerah LED.");
}
void loop() {
int nilai = analogRead(PIN_POT);
int cerah = nilai / 16;
analogWrite(PIN_LED, cerah);
Serial.print("ADC: ");
Serial.print(nilai);
Serial.print(" cerah LED: ");
Serial.println(cerah);
delay(200);
}