Rumus otomatis pembagi tegangan untuk ADC NodeMCU V3 chip ESP8266
gambar skema pembagi tegangan untuk keperluan pembacaan ADC di nodeMCU model chip ESP8266
ESP8266 memiliki satu ADC (Analog-to-Digital Converter) dengan resolusi 10-bit, yang digunakan untuk membaca sinyal analog dan mengonversinya menjadi nilai digital.
1. Karakteristik ADC di ESP8266
- Resolusi: 10-bit (nilai antara 0 - 1023).
- Tegangan Maksimal: 1.0V (tanpa pembagi tegangan).
- Pin ADC: Pin A0 (juga dikenal sebagai T_OUT di beberapa modul).
- Fungsi: Membaca sensor analog seperti LDR, potensiometer, dan sensor suhu.
Jika Anda melihat skema NodeMCU, ADC0 pin pada gambar pinout di atas berfungsi sebagai input ke pembagi tegangan yang dibentuk oleh resistor 220 KΩ dan 100 KΩ dengan output pembagi tegangan yang diberikan ke Pin TOUT SoC ESP8266EX, sehingga NodeMCU dapat mengukur tegangan dari 0V hingga maksimal 3.2V pada pin ADC0 (A0).
2. Konversi Nilai ADC
Karena ADC di ESP8266 memiliki resolusi 10-bit, nilai digital yang diperoleh berkisar antara 0 hingga 1023, yang dihitung dengan rumus:
Dimana:
- = Tegangan yang masuk ke pin A0.
- = Tegangan referensi maksimum (karena sudah ada internal pembagi tegangan maka referensinya menjadi 3.2V).
Jika menggunakan pembagi tegangan untuk tegangan input lebih dari 1V, maka hasil pengukuran perlu dikalibrasi ulang.
Perluasan Tegangan Input (>1V) dengan Pembagi Tegangan dan rumusnya
Karena ADC di nodemcu v3 berbasis ESP8266 sudah ada pembagi tegangan yang semula hanya mendukung tegangan maksimal 1V, setelah ada resistor internal di nodemcu V3 bisa membaca tegangan max 3.3V alhasil kita perlu menggunakan pembagi tegangan jika mau mengukur tegangan >3,3V supaya nodeMCU tidak rusak karena kelebihan tegangan.
Kita akan menggunakan rumus pembagi tegangan untuk menghitung nilai resistor yang sesuai agar tegangan keluaran 3,3V diperoleh dari tegangan masukan 16,6V.
Rumus Pembagi Tegangan
Diketahui:
- dan perlu ditentukan
Gunakan rumus:
Pemilihan Nilai Resistor Standar
Karena nilai resistor tersedia dalam standar E12 atau E24, kita bisa memilih nilai yang mendekati.
Misalnya:
- Jika , maka (bisa pakai 4,1kΩ yang standar).
- Jika , maka (standar E12).
Jadi, kombinasi resistor yang sesuai bisa:
- ,
- ,
Dengan konfigurasi ini, tegangan keluar akan mendekati 3,3V dari 16,6V.
Saat menggunakan ADC (Analog-to-Digital Converter) pada ESP8266, ada beberapa hal penting yang perlu diperhatikan:
1. Jumlah Pin ADC yang Terbatas
- ESP8266 hanya memiliki 1 pin ADC, yaitu A0 (GPIO17).
- Jika butuh lebih banyak ADC, gunakan eksternal ADC seperti ADS1115.
2. Rentang Tegangan Input
- Rentang tegangan asli ADC ESP8266 adalah 0V – 1V (10-bit resolusi).
- Jika tegangan lebih dari 1V, gunakan voltage divider (pembagi tegangan) untuk menurunkannya.
- Jika menggunakan NodeMCU atau Wemos D1 Mini, rentang bisa sampai 0 – 3.3V karena ada resistor pembagi tegangan bawaan.
3. Resolusi ADC (10-bit)
- Hasil pembacaan ADC memiliki resolusi 10-bit (nilai antara 0 – 1023).
- Untuk mendapatkan nilai tegangan: (atau 3.3V jika board memiliki pembagi tegangan bawaan).
4. Gangguan dan Noise
- ADC pada ESP8266 cukup sensitif terhadap noise.
- Untuk mengurangi gangguan:
- Gunakan kapasitor 0.1µF antara A0 dan GND.
- Hindari menghubungkan beban besar ke ESP8266 saat membaca ADC.
- Gunakan pembacaan rata-rata (averaging) untuk mendapatkan hasil yang lebih stabil.
5. Kecepatan Sampling
- ADC ESP8266 tidak terlalu cepat, jadi kurang cocok untuk aplikasi real-time high-speed sampling.
6. Gunakan Mode yang Tepat
- Jika menggunakan Wi-Fi, ADC bisa lebih bising karena aktivitas radio.
- Jika ingin ADC lebih stabil, bisa mencoba deep sleep mode lalu membaca ADC setelah wake-up.
7. Alternatif: Gunakan ADC Eksternal
- Jika butuh lebih banyak channel atau akurasi lebih tinggi, gunakan modul eksternal seperti:
- ADS1115 (16-bit, I2C, 4 channel).
- MCP3008 (10-bit, SPI, 8 channel).
Efisiensi ADC pada ESP8266
ADC pada ESP8266 memiliki resolusi 10-bit, yang berarti dapat menghasilkan 1024 tingkat diskret (0-1023). Namun, ADC ini memiliki beberapa keterbatasan yang memengaruhi efisiensinya:
- Non-linearitas: ADC pada ESP8266 tidak memiliki linieritas sempurna, terutama di ujung rentang tegangan. Ini berarti hasil konversi tidak selalu proporsional dengan tegangan input.
- Akurasi Rendah: ADC bawaan memiliki error hingga ±10% tergantung pada board yang digunakan.
- Rentang Tegangan Terbatas:
- ESP8266 bare chip → 0-1V
- NodeMCU/Wemos D1 Mini → 0-3.3V (karena ada pembagi tegangan)
- Noise Tinggi: Penggunaan WiFi dapat menyebabkan noise yang mengganggu pembacaan ADC.
Kalkulator Pembagi Tegangan mencari R1 dengan nilai R2=1kΩ
Hasil:
Hasil ADC ESP8266:
Catatan :
- cara menggunakannya cukup mudah, masukkan tegangan maksimal yang akan di ukur misalkan 25V maka rumus akan memberikan nilai resistor R1 dan R2 untuk pembagi supaya saat mengukur 25V tegangan keluaran 3,3V.
- Pastikan dikalibrasi nilai tegangannya dengan cara membandingkan dengan voltmeter digital supaya hasil pengukurannya akurat
- Skema gambar R1 dan R2 bisa dilihat diatas.

