/*
* ESP32 Reading Analog Inputs - Potentiometer Example
* Berdasarkan Random Nerd Tutorials ESP32 Course Unit 4
*
* Hardware Connection:
* Potentiometer Pin 1 (VCC) -> ESP32 3.3V
* Potentiometer Pin 2 (Output) -> ESP32 GPIO 34
* Potentiometer Pin 3 (GND) -> ESP32 GND
*/
// ===== KONFIGURASI PIN =====
// Potentiometer terhubung ke GPIO 34 (Analog ADC1_CH6)
const int potPin = 34;
// ===== VARIABEL GLOBAL =====
// Variable untuk menyimpan nilai potentiometer
int potValue = 0;
// ===== FUNGSI SETUP =====
void setup() {
// Inisialisasi komunikasi serial dengan baud rate 115200
Serial.begin(115200);
// Tunggu 1 detik untuk stabilisasi komunikasi serial
delay(1000);
// Pesan pembuka untuk memudahkan debugging
Serial.println("=== ESP32 Analog Input Demo ===");
Serial.println("Putar potentiometer untuk melihat perubahan nilai!");
Serial.println("Range nilai: 0 (0V) hingga 4095 (3.3V)");
Serial.println();
}
// ===== FUNGSI LOOP UTAMA =====
void loop() {
// Membaca nilai potentiometer menggunakan fungsi analogRead()
// Fungsi ini mengembalikan nilai integer antara 0-4095
// yang merepresentasikan tegangan 0V-3.3V
potValue = analogRead(potPin);
// Menampilkan nilai yang dibaca ke Serial Monitor
// Ini membantu kita melihat bagaimana nilai berubah
// saat potentiometer diputar
Serial.println(potValue);
// Tunggu 500 milidetik sebelum pembacaan berikutnya
// Delay ini mencegah spam data dan membuat output mudah dibaca
delay(500);
}