Apa Itu Potensiometer? Pembacaan Analog dan Kendali dengan Arduino
Apa itu potensiometer, bagaimana cara kerjanya, dan bagaimana menghubungkannya ke Arduino? Pot linear vs logaritmik, kode B10K, membaca dengan analogRead, dan contoh mengatur kecerahan LED.
Potensiometer adalah resistor yang bisa diatur, hambatannya berubah ketika porosnya diputar. Kenop volume radio, peredup lampu, dan stik kontroler game semuanya adalah potensiometer. Di proyek Arduino, ini cara paling mudah untuk mendapatkan nilai dari pengguna: kamu memutar kenop dan Arduino membaca angka antara 0 dan 1023.

Bagaimana cara kerja potensiometer?
Di dalamnya ada jalur resistif berbentuk busur dan sebuah wiper yang bergeser di sepanjang jalur itu. Hambatan antara dua kaki luar tetap (misalnya 10 kΩ). Kaki tengah terhubung ke wiper; ketika porosnya diputar, wiper bergerak di sepanjang jalur dan hambatan ke masing-masing kaki luar berubah. Beri 5 V dan GND di kaki luar, dan kamu akan mendapatkan tegangan antara 0 dan 5 V di kaki tengah. Dengan kata lain, potensiometer adalah pembagi tegangan yang bisa diatur.
Jenis-jenis potensiometer
| Jenis | Bentuknya | Dipakai untuk |
|---|---|---|
| Pot putar | Berporos, 3 kaki | Mengatur volume, kecerahan, kecepatan |
| Trimpot (trimmer) | Kecil, diatur dengan obeng | Nilai yang diatur sekali lalu dibiarkan (seperti kontras LCD) |
| Pot geser | Bergeser di jalur lurus | Mixer dan panel kendali |
| Joystick | Dua pot dalam satu | Kendali dua sumbu (X dan Y) |
Menghubungkan potensiometer ke Arduino
- Hubungkan satu kaki luar ke 5V dan kaki luar lainnya ke GND (kalau ditukar, arahnya saja yang terbalik).
- Hubungkan kaki tengah ke input analog, misalnya A0.
- Hubungkan LED dengan resistor 220 Ω ke pin 9 yang mendukung PWM.
- Upload kode di bawah dan buka Serial Monitor; memutar kenop akan mengubah nilai dan kecerahan LED.
1const int POT_PIN = A0; // potansiyometre orta bacak / pot wiper
2const int LED_PIN = 9; // PWM pini / PWM pin
3
4void setup() {
5 pinMode(LED_PIN, OUTPUT); // LED çıkış / LED output
6 Serial.begin(9600); // seri monitör / serial monitor
7}
8
9void loop() {
10 int raw = analogRead(POT_PIN); // 0–1023 oku / read 0–1023
11 int brightness = map(raw, 0, 1023, 0, 255); // PWM'e çevir / scale to PWM
12 analogWrite(LED_PIN, brightness); // parlaklık / brightness
13 Serial.println(raw); // değeri yaz / print value
14 delay(20);
15}Fungsi map() mengubah nilai dari satu rentang ke rentang lain, misalnya mengubah pembacaan 0–1023 menjadi nilai PWM 0–255 atau sudut servo 0–180. Untuk melihat konsep pembagi tegangan dalam angka, pakai kalkulator pembagi tegangan.
Rentang pembacaan analog per board
| Board | Resolusi | Rentang | Fungsi |
|---|---|---|---|
| Arduino Uno / Nano | 10 bit | 0–1023 | analogRead() |
| ESP32 | 12 bit | 0–4095 | analogRead() |
| Raspberry Pi Pico | 12 bit (diskalakan ke 16 bit) | 0–65535 | ADC.read_u16() |
Kesalahan umum
- Menghubungkan kaki tengah langsung ke 5V atau GND: di ujung putarannya, ini membuat hubungan singkat dan bisa membakar pot. Daya selalu masuk ke kaki luar.
- Nilai yang naik-turun: pembacaan bisa bergoyang beberapa angka. Ambil rata-rata beberapa pembacaan atau abaikan perubahan kecil.
- Memakai pot logaritmik: pada pot tipe A, nilainya berubah lambat di awal dan cepat di akhir; pakai tipe B untuk kendali linear.
- Menghubungkannya ke pin digital: potensiometer memberi nilai analog, jadi harus masuk ke input analog seperti A0–A5.
Cara mengatur sudut servo dengan potensiometer ada di Apa Itu Motor Servo?, dan dasar-dasar hambatan ada di Apa Itu Resistor?.
Pertanyaan umum
Potensiometer bernilai berapa yang sebaiknya kubeli untuk Arduino?
Pot linear 10 kΩ (B10K) adalah pilihan paling umum. Nilai dari 1 kΩ sampai 100 kΩ juga bisa; nilai yang sangat kecil menarik arus lebih besar dan nilai yang sangat besar bisa terbaca berderau.
Bagaimana membedakan kaki-kaki potensiometer?
Ketika dipegang dengan poros menghadap ke arahmu, kaki tengahnya adalah wiper. Urutan kaki luar hanya menentukan ke arah mana kamu memutar agar nilainya naik.
Kenapa pembacaannya tidak pernah tepat 0 atau 1023?
Hambatan kontak di ujung-ujungnya dan toleransi produksi bisa menggeser nilai ekstremnya beberapa angka. Menyisakan margin 5–10 angka di kodemu akan mengatasinya.
Apakah joystick dan potensiometer itu sama?
Joystick berisi dua potensiometer yang saling tegak lurus dan biasanya sebuah tombol. Setiap sumbu dibaca di input analognya sendiri.
Proyek untuk dibuat setelah membaca ini
Lihat semua proyek
Menggerakkan Motor Servo dengan Potensiometer
Ketika kamu memutar kenop potensiometer, lengan motor servo ikut berputar: satu ujung kenop berarti nol derajat, ujung lainnya berarti setengah putaran. Arduino terus membaca posisi kenop dan servo la

Kendali Kecerahan LED dengan Potensiometer ESP32 (Analog → PWM)
Di proyek ini, kita mengendalikan kecerahan LED secara analog memakai potensiometer. Pin ADC ESP32 membaca tegangan 0-3,3V dari potensiometer, lalu nilai ini diubah menjadi sinyal PWM (Pulse Width Modulation) dan dikirim ke LED. Hasilnya, ketika kamu memutar potensiometer, LED perlahan menerang dan meredup. Dengan Arduino Core 3.0+, analogWrite() bisa langsung dipakai; di ESP32-S2/S3, resolusi ADC tetap 12-bit.

LED Berjalan dengan Kecepatan yang Bisa Diatur
Enam LED menyala satu demi satu, sehingga cahayanya seolah berlari dari satu ujung ke ujung lainnya. Putar kenop potensiometer dan kecepatan larinya langsung berubah: ke satu arah cahayanya melesat, k

Efek LED Knight Rider dengan Kecepatan yang Bisa Diatur
Cahaya berlari dari satu ujung enam LED ke ujung lainnya, berbalik, lalu berlari kembali. Putar kenop potensiometer dan kamu langsung mengubah kecepatan larinya: dengan kenop di satu ujung cahayanya h

Kendali LED dengan Joystick
Dorong tuas kecil joystick sampai mentok ke arah mana pun dan LED untuk arah itu menyala: ada empat warna berbeda untuk kanan, kiri, atas, dan bawah. Lepaskan tuasnya, ia kembali ke tengah dan semua L

Lampu Pencampur Warna ESP32 (3 Potensiometer + LED RGB + OLED)
Lampu pencampur warna pintar: campur warna apa pun dengan memutar tiga potensiometer di ESP32! Ketika potensiometer merah, hijau, dan biru diputar, LED RGB katoda bersama berubah warna secara real-time. OLED SSD1306 menampilkan nilai setiap warna dalam rentang 0–255, bar pengisi, dan kode warna web HEX (seperti #FF8040). Studio warna mini yang mengajarkan teori warna RGB, pembacaan ADC, pengaturan kecerahan dengan PWM, dan desain layar I2C sekaligus.

Voltmeter Digital dengan Layar LCD
Cari tahu berapa tegangan yang diberikan baterai atau adaptor daya dengan alat ukur buatanmu sendiri. Pembagi dari dua resistor menurunkan tegangan tinggi ke tingkat yang bisa dibaca board, dan Arduin
Artikel lainnya
Aplikasi BlueGrays
Rakit rangkaian ini langkah demi langkah di ponselmu
Skema pengkabelan, kode, dan daftar komponen dalam satu layar. 200+ proyek Arduino, ESP32, dan Pico siap dibuat.
Pindai dengan ponselmu
Arahkan kamera ke kode ini dan toko aplikasi di ponselmu akan terbuka.
atau buka toko aplikasi

