[Micropython 2] Kontrol Device Dari Luar Menggunakan Push Button


Contoh Sambungan

Bismillah

Pada seri yang telah lalu, kita dapat mengontrol internal led menggunakan program. Untuk mendefinisikan bahwa kita yang akan mengontrol maka kita menggunakan Pin.OUT. Sehingga, kita dapat mengubah value menjadi 1 dan led akan menyala, ketika kita ubah menjadi 0, led akan mati.

Lalu, bagaimana caranya kita menerima perintah dari dunia luar? Sebagai contoh dengan menggunakan push button? Ketika kita tekan push button, maka led akan menyala. Ketika kita lepas push buttonnya led akan mati?

Micropython punya konstanta Pin.IN. Dengan memasukkannya sebagai argumen kedua sebagain ganti dari Pin.OUT, kita dapat mendapatkan value dari push button tersebut, apakah value nya adalah 1 atau 0.

Parts

Saya asumsikan bahwa kamu punya raspberry pi pico dan membeli paket getting started with raspberry pi pico. Sehingga kamu sudah punya pico, breadboard, beberapa kabel jumper dan juga push button.

Kalau belum, ini yang kamu butuhkan

Part toko rentang harga
Raspberry pi pico w Tokopedia 1, Tokopedia 2, Tokopedia 3 Rp 180.000,-
Breadbord Tokopedia 1, Tokopedia 2 Rp 10.000,-
Push button Tokopedia 1, Tokopedia 2, Tokopedia 3 Rp 1.000,-
kabel jumper male to male Tokopedia 1, Tokopedia 2 Rp 12.000,-

Skema

Perhatikan, push button memiliki 4 kaki. Bagian yang saya beri tanda saling terkoneksi. Jadi, kita butuh sambungkan salah satu, dari yang depan ke pin 3v3 (Power). Dan salah satu dari yang belakang ke Pin 15.

Push Button

Pin yang perlu disambung

Pin yang perlu dihubungkan

Contoh sambungan Contoh Sambungan

Mendapatkan State Tekan

Asumsi saya, kamu sudah menginstall mpremote sebagaimana yang telah dijelaskan pada artikel sebelumnya. Ketik mpremote di terminal dan enter.

Selanjutnya, ketik kode di bawah ini:

from machine import Pin
import time

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

while True:
    print(button.value())
    time.sleep(0.5)

Kode diatas sangatlah simple. Yang kita lakukan adalah membaca pin 15 sebagai masukan.

Kemudian kita melakukan infinite loop untuk melihat value dari button.

Terakhir, kita melakukan sleep selama 0.5 detik.

Kamu akan melihat value adalah 0 ketika kondisi button tidak kamu tekan. dan 1 ketika button kamu tekan.

Kontrol Led dengan Button

from machine import Pin
import time

button = Pin(15, Pin.IN, Pin.PULL_DOWN)
led = Pin("LED", Pin.OUT) # atau ganti "LED" dengan 25 kalau menggunakan pico biasa

while True:
    if button.value() == 1:
        led.toggle()
    time.sleep(0.5)

Semua hampir sama seperti sebelumnya, hanya saja kali ini kita menyalakan atau mematikan led menggunakan push button. Tekanan pertama berarti menyalakan. Kemudian tekanan selanjutnya berarti mematikan. Dan begitu seterusnya

Penutup

class Pin bisa kita gunakan untuk mengatur dan bisa juga kita gunakan untuk menerima perintah. Argumen pertama adalah ID dari pin, dan yang kedua adalah state dia mau jadi apa, input atau output.

Tugas untuk kamu:

  1. Buat ketika button kamu tekan, led menyala. Ketika button kamu lepas, led mati.

Selamat mencoba.