[Micropython 2] Kontrol Device Dari Luar Menggunakan Push Button
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.
Pin yang perlu disambung
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:
- Buat ketika button kamu tekan, led menyala. Ketika button kamu lepas, led mati.
Selamat mencoba.