Pada artikel kali ini akan membahas mengenai pinout dari ESP8266 beserta fungsinya
Chip ESP8266 12-E hadir
dengan 17 pin GPIO. Tidak semua GPIO terekspos di semua board developmentan
ESP8266, beberapa GPIO tidak disarankan untuk digunakan, dan yang lainnya
memiliki fungsi yang sangat spesifik.
Dengan panduan ini, Kalian
akan belajar cara menggunakan GPIO ESP8266 dengan benar dan menghindari
frustrasi berjam-jam dengan menggunakan pin yang paling cocok untuk proyek Kalian.
Pinout Chip ESP8266 12-E
Gambar berikut
mengilustrasikan pinout chip ESP8266 12-E. pakai diagram dibawah ini jika Kalian
menggunakan IC kosongan ESP8266 di proyek Kalian.
Catatan: tidak semua GPIO
dapat diakses di semua board development, tetapi setiap GPIO tertentu bekerja
dengan cara yang sama terlepas dari board developmentan yang Kalian gunakan.
Jika Kalian baru memulai dengan ESP8266, kami sarankan untuk membaca panduan
kami: Memulai dengan ESP8266.
Saat ini, ada berbagai macam
board developmentan dengan chip ESP8266 yang berbeda dalam jumlah GPIO yang
dapat diakses, ukuran, faktor bentuk, dll…
Board ESP8266 yang sering
digunakan adalah ESP8266-12E NodeMCU Kit , ESP-01, dan Wemos D1 Mini. Untuk
perbandingan board ini, Kalian dapat membaca panduan ini: Perbandingan Board
developmentan Wi-Fi ESP8266.
Pinout ESP8266-01
Jika Kalian menggunakan board
ESP8266-01, Kalian dapat menggunakan diagram GPIO berikut sebagai referensi
ESP8266 12-E NodeMCU Kit
Diagram pinout kit ESP8266 12-E NodeMCU ditunjukkan di bawah ini.
Pinout Mini Wemos D1
Gambar berikut menunjukkan
pinout Mini WeMos D1.
Periferal ESP8266
Periferal ESP8266 meliputi:
- 17 GPIO
- SPI
- I2C (diimplementasikan pada perangkat lunak)
- Antarmuka I2S dengan DMA
- UART
- ADC 10-bit
Pin Terbaik untuk Digunakan – ESP8266
Hal yang perlu diperhatikan
dari ESP8266 yaitu nomor GPIO yang tidak sesuai pada silkscreen di label board.
seperti, D0 yang sama dengan GPIO16 dan D1 sama dengan GPIO5.
Tabel berikut menunjukkan
korespondensi antara label pada silkscreen dan nomor GPIO serta pin apa yang
terbaik untuk digunakan dalam proyek Kalian, dan pin mana yang perlu Kalian
waspadai.
Pin yang ditunjukkan dengan
warna hijau boleh digunakan. Yang ditandai dengan warna kuning aman untuk
digunakan, tetapi perlu diperhatikan karena kemungkinan setiap pin memiliki
perilaku yang tidak terprediksi yang paling utama ketika saat boot. Pin yang
disorot dengan warna merah tidak disarankan untuk digunakan sebagai input atau
output.
GPIO terhubung ke Flash Chip
GPIO6 hingga GPIO11 biasanya terhubung ke chip flash di board ESP8266. Pin inilah yang tidak direkomendasikan untuk dipakai.
Pin yang digunakan selama
Boot
ESP8266 dapat dicegah dari boot jika beberapa pin ditarik LOW atau HIGH. Daftar berikut menunjukkan status pin berikut pada BOOT:
- GPIO16: pin tinggi saat BOOT
- GPIO0: kegagalan boot jika ditarik RENDAH
- GPIO2: pin tinggi pada BOOT, boot gagal jika ditarik RENDAH
- GPIO15: kegagalan boot jika ditarik TINGGI
- GPIO3: pin tinggi saat BOOT
- GPIO1: pin tinggi saat BOOT, boot gagal jika ditarik RENDAH
- GPIO10: pin tinggi saat BOOT
- GPIO9: pin tinggi saat BOOT
Pin TINGGI di Boot
Terdapat pin tertentu yang dapat mengeluarkan tegangan 3.3V ketika ESP8266 melakukan booting. Ini mungkin bermasalah jika Kalian memiliki relai atau periferal lain yang terhubung ke GPIO tersebut. GPIO berikut mengeluarkan sinyal TINGGI saat boot:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
Selain itu, GPIO lainnya, kecuali GPIO5 dan GPIO4, dapat mengeluarkan sinyal tegangan rendah saat boot, yang dapat menjadi masalah jika dihubungkan ke transistor atau relai. Kalian dapat membaca artikel ini yang menyelidiki status dan perilaku setiap GPIO saat boot.
GPIO4 dan juga GPIO5 merupakan
GPIO yang direkomendasikan dipakai karena paling aman digunakan ketika kalian ingin
menggunakan relai
Masukan Analog
ESP8266 hanya mendukung pembacaan analog dalam satu GPIO. GPIO tersebut disebut juga dengan ADC0 dan biasanya ditandai pada board sebagai A0.
Tegangan input maksimum pin
ADC0 adalah 0 hingga 1V jika Kalian menggunakan chip kosong ESP8266. Jika Kalian
menggunakan board developmentan seperti kit ESP8266 12-E NodeMCU, rentang input
tegangan adalah 0 hingga 3,3V karena board ini berisi pembagi tegangan
internal.
LED terpasang
Sebagian besar board development ESP8266 memiliki LED bawaan. LED ini biasanya terhubung ke GPIO2LED bekerja dengan logika terbalik. Kirim sinyal TINGGI untuk mematikannya, dan sinyal RENDAH untuk menyalakannya.
Pin RST
Ketika pin RST ditarik LOW,
ESP8266 me-reset. Fungsi dari pin ini sama seperti ketika menekan tombol RESET
on-board.
GPIO0
Ketika GPIO0 ditarik LOW, itu mengatur ESP8266 ke mode bootloader. Ini sama dengan menekan tombol FLASH/BOOT on-board.
GPIO16
GPIO16 dapat digunakan untuk
mengaktifkan ESP8266 dari mode sleep. Untuk mengaktifkan ESP8266 dari mode
sleep, GPIO16 harus terhubung ke pin RST. Pelajari cara memasukkan ESP8266 ke
mode sleep:
I2C
ESP8266 tidak memiliki pin I2C perangkat keras, tetapi dapat diimplementasikan dalam perangkat lunak. Jadi, Kalian dapat menggunakan GPIO apa pun sebagai I2C. Biasanya, GPIO berikut digunakan sebagai pin I2C:
- GPIO5: SCL
- GPIO4: SDA
- SPI
Pin yang digunakan sebagai SPI pada ESP8266 adalah:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
- Pin PWM
ESP8266 memungkinkan PWM
perangkat lunak di semua pin I/O: GPIO0 hingga GPIO15. Sinyal PWM pada ESP8266
memiliki resolusi 10-bit.