Simulasi LED dan Push Button ESP32 dan MicroPython 1

Assalamualaikum, kembali lagi ke tutorial ESP32, MicroPython dan Wokwi. Pada tutorial ini kita kan menggabungkan project pengendalian LED dengan Project Input Push Button. Di akhir tutorial ini, kita akan menggunakan push button untuk mengendalikan beberapa LED dengan 1 push button dimana tiap LED akan on dan off saat tombol ditekan. Yuk ikuti projectnya

Persiapan Awal

Arahkan browser kamu ke https://wokwi.com/, cari microPython, lalu klik tombol new project dan pilih Micropython on ESP32.

Gambar Rangkaian 1 LED

Kita akan mulai dari pengendalian 1 LED on/off dengan push button. Buatlah rangkaian seperti gambar dibawah ini:

Menulis Program / coding

Sebelum menulis program ini, sebaiknya kita lihat kembali 2 program dari tutorial sebelumnya yaitu simulasi pengendalian LED dan simulasi input tombol supaya kita bisa mengintegrasikan input dan output pada tutorial ini dengan benar. ke dua program sebelumnya saya lampirkan dibawah ini:

Program on/off LED

from machine import Pin
from time import sleep

led = Pin(18, Pin.OUT)

while True:
  led.value(1)
  sleep(1)
  led.value(0)
  sleep(1)

Program input tombol

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)

Perhatikan kedua program diatas dengan seksama, kita akan mengintegrasikan atau menggabungkan baris-baris perintah yang ada di masing-masing program untuk mengendalikan LED dengan tekanan tombol.

Pertama, kita tambahkan 2 modul yang sama-sama digunakan oleh dua program sebelumnya yaitu

from machine import Pin
from time import sleep

Terdapat masing-masing 1 objek yaitu “led” pada program pengendalian LED dan “button” pada input tombol. “led” menjadikan Pin sebagai output dan “button” menjadikan pin sebagai input. Kita tambahkan kedua object ini kedalam program kita dan kita sesuaikan parameter pin sesuai nomor pin yang kita gunakan pada rangkaian. Kali ini saya juga akan menambahkan komentar sebagai catatan. Komentar ini bukan bagian dari program, hanya berfungsi sebagai note saja. Untuk menambahkan komentar, kita mulai dengan memberikan tanda #

from machine import Pin
from time import sleep

led = Pin(16, Pin.OUT) #object pin sebagai output
button = Pin(15, Pin.IN) #object pin sebagai input

Penulisan komentar pada program sebenarnya tidak wajib dilakukan, hanya saja untuk mempermudah pembacaan program maka penulisan komentar ini direkomendasikan untuk sering dikerjakan.

Berikutnya, kita akan membuat lampu LED menjadi on jika tombol ditekan dan off jika tombol dilepas.Dibawah ini adalah gabungan dari 2 program diatas juga. Ketiklah program dibawah ini dan perhatikan hasilnya dengan seksama.

from machine import Pin
from time import sleep

led = Pin(16, Pin.OUT) #object pin sebagai output
button = Pin(15, Pin.IN) #object pin sebagai input

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

JIka rangkaian dan program telah dibuat dengan benar, maka langkah berikutnya adalah memulai simulasi dengan cara menekan tombol start simulation pada panel sebelah kanan. Jika tombol ditekan, LED akan hidup dan sebaliknya jika tombol dilepas LED akan mati

LED ON

LED OFF

Untuk tutorial berikutnya, kita akan mengendalikan 5 buah led dengan 1 buah tombol dimana tiap lampu LED akan hidup satu persatu saat tombol ditekan. Sampai disini dulu, jangan mampir ke tutorial berikutnya.