Penjelasan
Pin GPIO ESP8266 atau General Purpose Input Output merupakan pin yang digunakan sebagai penghubung ke device module lain.
Pada artikel sebelumya sudah dibahas bagaimana cara memprogram atau mengakses NodeMCU, wemos d1 mini menggunakan Arduino IDE.
Untuk artikel ini, akan dibahas lebih detail untuk penggunaan GPIO yang banyak digunakan untuk proyek – proyek IOT.
Dikarenakan ada beberapa pin yang tidak direkomendasikan untuk digunakan karena memiliki fungsi yang spesifik.
Sehingga apabila kamu memiliki proyek menggunakan module ini, artikel ini sangatlah berguna untukmu.
Dikarenakan dapat menjadi refrensi kamu serta menghindari timbulnya masalah dalam penggunaaan pin yang cocok.
Saya pun pernah mengalami hal tersebut dan itu sangat menjengkelkan karena dikira proyek tidak berhasil, dalam kenyataannya hanya salah pada penggunaan pin I/O-nya.
Untuk tipe Module ESP8266 yang banyak dijual dipasaran :
- ESP-01
- ESP8266 12F
- NodeMCU ESP8266
- Wemos D1
- Wemos D1 mini dsb
Contoh yang akan dibahas detail yaitu pada WEMOS D1 Mini
Dari gambar tersebut dapat didetailkan wemos d1 mini memiliki :
- Total 11
- SPI (Serial Parallel Interface)
- I2C (Inter-Integrated Circuit)
- I2S (Inter-IC Sound)
- UART (universal asynchronous receiver-transmitter)
- 10-bit ADC (Analog Digital Coverter)
Satu hal yang terpenting yaitu bahwa antara GPIO dengan nama pin yang tertera di module berbeda, misalnya pada D1 berkorespondensi pada GPIO5, dan lain sebagainya.
Berikut terdapat tabel mana saja pin GPIO yang dapat dijadikan refrensi dalam pembuatan proyek IOT, untuk mengurangi tingkat kegagalan yang membuat kita frustasi.
GPIO6 ke GPIO11 biasanya terhubung ke chip flash di papan ESP8266. Jadi, pin ini tidak disarankan untuk digunakan.
Pin HIGH saat Boot
Ada pin tertentu yang menghasilkan sinyal 3.3V saat ESP8266 proses booting. Ada kemungkinan permasalahan yang timbul jika menghubungkan device lain seperti relay ke GPIO tersebut.
Berikut iniGPIO menghasilkan sinyal HIGH saat boot:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
GPIO4 dan GPIO5 merupakan GPIO yang paling aman digunakan jika ingin koneksikan dengan device relay.
[irp]
GPIO ESP8266 khusus pada Wemos D1 mini
Input Analog
Untuk semua tipe ESP8266 hanya mendukung 1 GPIO pembacaan input tegangan analog. GPIO tersebut yaitu ADC0 (analog Digital Converter) atau disilkscreen module tertuliskan A0.
Rata-rata input tegangan untuk module ESP8266 yaitu dirange 0 – 3,3v.
SPI
Pin yang digunakan sebagai SPI antara lain
- GPIO12 : MOSI
- GPIO13 : MISO
- GPIO14 : SCLK
- GPIO15 : CS
I2C
Pada modul ESP8266 tidak memiliki pin I2C perangkat keras, tetapi dapat diakalin pada programnya sehingga dapat menggunakan pin io apa pun sebagai I2C.
Akan tetapi secara umum, pin io yang digunakan sebagai pin I2C
- GPIO5 : SCL
- GPIO4 : SDA
Pin PWM
ESP8266 memungkinkan PWM perangkat lunak di semua pin I / O: GPIO0 hingga GPIO16. Sinyal PWM pada ESP8266 memiliki resolusi 10-bit.
Pin Interupsi
ESP8266 mendukung interupsi dalam pin apa pun, kecuali GPIO16.