ESP32 adalah sebuah mikrokontroler murah dan hemat energi buatan Espressif Systems yang sudah dilengkapi Wi-Fi dan Bluetooth, sehingga sering dipakai untuk proyek Internet of Things (IoT). IoT adalah perangkat elektronik yang bisa dikendalikan dari jarak jauh lewat jaringan internet.
Penjelasan Lengkap tentang ESP32
Produsen: Espressif Systems (rilis pertama tahun 2016)
Fungsi utama: Mikrokontroler dengan kemampuan wireless (Wi-Fi dan Bluetooth) bawaan, sehingga tidak perlu modul tambahan untuk komunikasi data
Arsitektur CPU:
Tensilica Xtensa LX6 (dual-core atau single-core)
Xtensa LX7 (dual-core)
Versi lain menggunakan prosesor RISC-V
Memori: 520 KB SRAM bawaan, dengan opsi tambahan PSRAM hingga 32 MB tergantung varian
Tegangan kerja: 3.3 V DC
Fitur tambahan: Antenna switch, RF balun, power amplifier, low-noise receiver, filter, dan modul manajemen daya
Keamanan: Mendukung secure boot, flash encryption, dan akselerator kriptografi
Keunggulan ESP32
Konektivitas lengkap: Wi-Fi 802.11 b/g/n dan Bluetooth (Classic + BLE).
Harga terjangkau: Cocok untuk proyek hobi maupun industri.
Fleksibel: Banyak varian modul dan development board tersedia.
Kompatibilitas: Bisa diprogram dengan Arduino IDE, MicroPython, atau ESP-IDF (framework resmi Espressif).
Aplikasi luas: Smart home, sensor IoT, robotik, sistem monitoring, hingga perangkat wearable
PIN OUT ESP32 sumber https://randomnerdtutorials.com/
Secara umum GP IO (kaki pin) ESP32 dapat digunakan sebagai input ataupun output. Tetapi perlu di cermati selain bisa digunakan sebagai input ataupun output, setiap kaki pin mempunyai fungsi kusus. Selain itu ada beberapa kaki pin hanya bisa digunakan untuk input saja dan ada juga kaki pin benyeluarkan sinyal tertentu ketika ESP 32 dinyalakan. Jadi perlu di perhatikan fungsi tiap kaki pin sebelum merakit dan memprogram mikrokontroler ini.
KAKI PIN yang hanya bisa untuk input
GPIO 34 hingga 39 hanya bisa digunakan sebagai input saja. Jika digunakan input menggunakan tombol, maka perlu tambahan komponen resistor tiap kaki pin yang dirangkai pull-down atau pull-up resistor
GPIO 34
GPIO 35
GPIO 36
GPIO 39
KAKI PIN yang bisa mendeteksi sentuhan Jari
ESP32 miliki sensor sentuhan jari, hanya perlu menyentuh kaki PIN atau menambah kabel pada kaki yang mempunyai Capacitive Touch maka ESP32 dapat menerima sebagai inputan. Fungsi ini sangat memudahkan karena dapat menggantikan tombol fisik yang perlu dirangkai dalam uji coba rangkaian dan program.
T0 (GPIO 4)
T1 (GPIO 0)
T2 (GPIO 2)
T3 (GPIO 15)
T4 (GPIO 13)
T5 (GPIO 12)
T6 (GPIO 14)
T7 (GPIO 27)
T8 (GPIO 33)
T9 (GPIO 32)
Analog to Digital Converter (ADC)
ADC artinya mengubah sinyal analog menjadi nilai digital. Sinyal analog disini maksudnya tegangan listrik antara 0 hingga 3,3V. Tegangan 0V akan diubah menjadi nilai 0 dan tegangan 3,3V akan diubah menjadi nilai 4095
Grafik pembacaan ADC ESP32.
sumber gambar: https://lastminuteengineers.com/esp32-basics-adc/
ADC1_CH0 (GPIO 36)
ADC1_CH1 (GPIO 37)
ADC1_CH2 (GPIO 38)
ADC1_CH3 (GPIO 39)
ADC1_CH4 (GPIO 32)
ADC1_CH5 (GPIO 33)
ADC1_CH6 (GPIO 34)
ADC1_CH7 (GPIO 35)
ADC2_CH0 (GPIO 4)
ADC2_CH1 (GPIO 0)
ADC2_CH2 (GPIO 2)
ADC2_CH3 (GPIO 15)
ADC2_CH4 (GPIO 13)
ADC2_CH5 (GPIO 12)
ADC2_CH6 (GPIO 14)
ADC2_CH7 (GPIO 27)
ADC2_CH8 (GPIO 25)
ADC2_CH9 (GPIO 26)
Digital To Analog Converter (DAC)
Mengubah nilai digital 0-255 menjadi sinyal analog. Sinyal analog ini tentu saja tegangan 0V hingga 3,3V. Jika sinyal digital 255 diubah menjadi nilai analog maka tegangan yang keluar adalah 3,3V
DAC1 (GPIO25)
DAC2 (GPIO26)
Pulse With Modulator (PWM)
ESP32 dapat mengendalikan kecepatan motor, nyalakan lampu LED dengan kecerahan tertentu ataupun mengendalikan perangkat lain menggunakan PWM. Hampir semua kaki pin ESP32 dapat digunakan untuk mengeluarkan sinyal PWM kecuali GPIO 34 hingga 39.