Analog I/O
Data analog adalah sinyal listrik berbentuk gelombang kontinu, di mana perubahan besaran fisik (misalnya suhu, cahaya, tekanan) direpresentasikan sebagai perubahan tegangan listrik.
Contoh:
- 0 V = kondisi minimum (misalnya gelap total),
- 3.3 V = kondisi maksimum (misalnya terang penuh),
- Nilai di antaranya (1.2 V, 2.7 V, dst.) merepresentasikan kondisi antara.
Sinyal analog memiliki:
- Amplitudo merupakan tinggi gelombang (tegangan maksimum).
- Frekuensi merupakan jumlah siklus per detik.
- Fase merupakan pergeseran waktu sinyal.
Dalam sistem mikrokontroler, resolusi ADC (Analog to Digital Converter) menentukan seberapa halus perubahan tegangan analog yang dapat diubah menjadi nilai digital. Resolusi diukur dalam satuan bit, di mana semakin besar jumlah bit, semakin banyak jumlah nilai digital yang dapat direpresentasikan. Hal ini berpengaruh langsung pada ketelitian pembacaan sensor. Tabel berikut menunjukkan perbandingan antara resolusi ADC, nilai maksimum yang dihasilkan, rentang output digital, serta besar tegangan per step pada tegangan referensi 3.3 V:
Kemudian, pada ESP32 memiliki 18 channel ADC (Analog to Digital Converter) yang memungkinkan pembacaan berbagai sinyal analog dari sensor secara bersamaan. Channel ini terbagi menjadi dua kelompok utama, yaitu ADC1 dan ADC2.
- ADC1 terdiri dari GPIO32–GPIO39, yang umumnya lebih stabil dan tidak terpengaruh oleh fungsi Wi-Fi.
- ADC2 mencakup GPIO0, GPIO2, GPIO4, GPIO12–GPIO15, dan GPIO25–GPIO27.
Meskipun ADC2 dapat digunakan untuk pembacaan sinyal analog, penggunaannya sering mengalami konflik saat modul Wi-Fi aktif, karena ESP32 menggunakan ADC2 secara internal untuk fungsi Wi-Fi. Akibatnya, pembacaan data sensor melalui ADC2 dapat menjadi tidak stabil atau bahkan gagal.



