Belajar ESP32 dengan MicroPython: #3 Mengakses GPIO Pada ESP32
Pada artikel kali ini, embeddednesia akan menunjukkan kepada pembaca bagaimana mengakses GPIO ESP32, menggunakan MicroPython. Pembaca diasumsikan telah membaca tutorial sebelumnya yang membahas tentang ESP32 dan MicroPython. Jika belum, direkomendasikan untuk mengunjungi tautan berikut sebelum melanjutkan keseluruhan artikel ini
Baca Juga:
- Prasyarat Perangkat Keras
- Development Board ESP32
Development Board yang kompatibel dengan artikel kali ini dan dapat dibeli di TOKO BEY. Salah satu jenisnya adalah ESP32S DevKit DOIT dengan kaki – kaki pin berjumlah 38 seperti berikut
Development board lainnya, yang sedikit berbeda namun memiliki diagram pin yang sama adalah sebagai berikut
Pembaca dapat membeli modul ESP32 melalui TOKO BEY dengan mengakses halaman pembelian di tautan berikut. Jika pembaca merasa tulisan ini bermanfaat, pembaca dapat berterimakasih dengan membeli produk di TOKO BEY
- Paket Starter Kit Elektronika Dasar
Untuk membuat rangkaian elektronika, pembaca memerlukan breadboard untuk menancapkan komponen berikut modul power supply, juga komponen wajib elektronika dasar seperti jumper, resistor dan juga led. Anda dapat membeli paket Starter Kit Elektronika Dasar seperti berikut di TOKO BEY.
Pembaca dapat membeli modul ESP32 melalui TOKO BEY dengan mengakses halaman pembelian di tautan berikut. Jika pembaca merasa tulisan ini bermanfaat, pembaca dapat berterimakasih dengan membeli produk di TOKO BEY
- Prasyarat Perangkat Lunak
Pada artikel ini, diasumsikan ESP32 telah di-flashing dengan firmware MicroPython dan software dependensi sebagaimana dibahas pada Belajar ESP32 Dengan Micropython : #1 Setup Environment
- Rangkaian Elektronika
Rangkaian elektronika yang disusun untuk tulisan ini adalah sebagai berikut
Perhatikan bahwa Pin GPIO4 dihubungkan dengan push button yang terhubung dengan 3.3 volt, dan resistor 10kOhm sebagai resistor pullup. Artinya, saat push button ditekan, 3.3 volt (logika 1) akan terhubung dengan pin GPIO4. Sedangkan kala push button dilepas, sambungan ke 3.3 volt pun terputus dan Pin GPIO4 akan terhubung dengan GND.
Resistor 10 kOhm berfungsi sebagai resistor pullup untuk menghindari hubung singkat, yang diakibatkan kondisi floating dari GPIO5
- Program / Source Code
Berikut adalah source code program yang akan di-download ke dalam ESP32
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from machine import Pin | |
from time import sleep | |
led = Pin(2, Pin.OUT) | |
button = Pin(4, Pin.IN) | |
while True: | |
led.value(button.value()) | |
sleep(0.1) |
Pada baris 4, variabel led
didefiniskan sebagai penampung dari GPIO2 yang telah diatur sebagai output, sedangkan pada baris 5, variabel button
adalah GPIO4 yang diatur sebagai input. Mulai baris ke 7 hingga ke 9 adalah blok superloop, dimana program akan melakukan looping tak terhingga, sehingga baris ke 8 hingga ke 9 yang akan terus dijalankan berulang – ulang,
Program pada superloop, akan membaca masukan pada variabel button. Statement pada baris ke-8 berarti nilai apapun dari button
(button.value
) akan dimunculkan kedalam tampilan led
(led.value
). Sedangkan statement sleep
pada baris ke-9 akan memberikan jeda beberapa milisekon.
- Running Program
Setelah aplikasi di-download ke dalam ESP32, dan program dijalankan, maka led akan menyala setiap push button ditekan. Ketika push button dilepas, led akan padam.