Simulasi Input Push Button dengan ESP32 dan MicroPython

Assalamualaikum, Tutorial inii adalah lanjutan dari rangkaian tutorial simulasi ESP32 dan MicroPython dengan menggunakan simulator Wokwi. Pada tutorial ini kita akan memperagakan cara menerima input dari sebuah push button. Input dari push button ini nantinya akan kita manfaatkan untuk mengendalikan beberapa buah LED. Selain itu kita akan mempelajari beberapa fungsi dasar yang biasa digunakan. Langsung saja, yuk kita mulai

Seperti biasa, arahkan browser kamu ke wokwi.com, cari menu MicroPython, klik tombol new project dan pilih MicroPython on ESP32

Membuat Rangkaian

Langkah pertama dalam project ini adalah membuat rangkaian. Buatlah rangkaian pada panel sebelah kanan seperti gambar dibawah ini

Menulis Program / Coding

Supaya pin pada ESP32 bisa di program dan digunakan, maka kita perlu mengimpor class Pin yang terdapat pada modul machine. Class Pin ini berfungsi untuk mengatur fungsi input dan output untuk pin yang akan kita gunakan. Selain itu, kita juga perlu menggunakan modul time untuk mengatur delay waktu. Supaya kita bisa menggunakan ke dua modul tersebut, ketikkan dua baris dibawah ini pada panel sebelah kiri wokwi.

from machine import Pin
from time import sleep

Berikutnya, kita konfigurasikan pin yang akan kita gunakan sebagai input. Buatlah sebuah object bernama “button” yang merujuk pada penggunaan Pin 15 sebagai input (Pin.IN).

from machine import Pin
from time import sleep

button = Pin(15, Pin.IN) 

Sekarang kita masuk ke program utama. ketikkan while True: agar perintah-perintah yang berada dalam indentasi fungsi ini berjalan berulang-ulang (loop) selama mesin hidup.

from machine import Pin
from time import sleep

button = Pin(15, Pin.IN) 

while True:

Ketika kita menekan tombol, ESP32 akan membaca nilai 0 dari rangkaian dan untuk membuktikan bahwa tombol sedang ditekan, kita akan membuat console menampilkan pesan “tombol ditekan”.

Kondisi ini bisa kita tuliskan dalam bentuk perintah ini:

from machine import Pin
from time import sleep

button = Pin(15, Pin.IN, Pin.PULL_UP)

while True:
    if button.value() == 0:
        print("Tombol ditekan")
    if button.value() == 0:
        print("Tombol ditekan")

Dua baris program diatas bermakna jika nilai pada rangkaian button terbaca bernilai 0, maka console akan mencetak tulisan “tombol ditekan”.

untuk membuat kondisi sebaliknya dimana nilai tombol terbaca bernilai 1, maka kita tambahkan else setelah logika if seperti ini:

    else:  
        print("Tombol dilepas")

lalu berikan delay waktu sebesar 0.1 detik dengan perintah sleep

   sleep(0.1)

Sampai disini program telah selesai dibuat. Keseluruhan program yang kia buat akan telihat seperti ini:

from machine import Pin
from time import sleep

button = Pin(15, Pin.IN)

while True:
    if button.value() == 0:  
        print("tombol ditekan")
    else:  
        print("tombol dilepas")
    sleep(0.1)

Hasil

Sampai disini kita sudah bisa mencoba program dan rangkaian yang kita buat dengan menekan tombol start simulation (tombol hijau panel kanan). Jika rangkaian dan coding yang kita buat sudah benar maka console pada bagian bawah panel sebelah kanan akan terlihat seperti ini

Tombol dilepas
Tombol ditekan

Rangkaian ini bisa kita gunakan untuk berbagai keperluan seperti untuk mengaktifkan atau menonaktifkan sensor, menjadikan push button sebagai sensor, dan mengganti nilai dari suatu variabel dan lain sebagainya. Kita kan membahas beberapa penggunaan push button ini pada tulisan berikutnya.