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.

Board: ESP324 komponen

Komponen yang dipakai

  • ESP32
  • Breadboard (setengah)
  • LED
  • Resistor
  • Potensiometer

Cara kerja

  1. Wiper potensiometer disambungkan ke GPIO13; dayanya diambil dari rel breadboard (3V3 dan GND).
  2. analogRead(GPIO13) menghasilkan nilai 0 sampai 4095 sesuai posisi knob.
  3. Nilai itu dibagi 16 agar masuk rentang PWM 0 sampai 255 untuk analogWrite ke LED GPIO2.
  4. Nilai ADC dan tingkat kecerahan dicetak ke Serial Monitor setiap 200 ms.

Konsep yang dipelajari

ADC 12-bit ESP32 (0 sampai 4095)analogRead dan analogWriteMengubah skala nilai antar rentang

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

Template ESP32 lainnya