#Lab17_GPIO_Toggle_Button Debounce.py
# ปุ่มกดดับปล่อยติด
# 1 ประกาศ/เรียกใช้โมดูล
from machine import Pin
import time
# 2 ประกาศตัวแปร/สร้างตัวแปรต่างๆ
led0 = Pin(23, Pin.OUT)
led1 = Pin(22, Pin.OUT)
button0 = Pin(21, Pin.IN, Pin.PULL_DOWN)
toggle0 = 0
# 3 เช็คสถานะสวิตช์ และ led
button0.value()
led0.value()
# Function debounce
def wait_pin_change(pin):
cur_value = pin.value()
active = 0
while active < 20 :
if pin.value() != cur_value:
active += 1 # active = active + 1
else :
active = 0
time.sleep_ms(1)
# 3 คำสั่ง/การควบคุม การอ่าน
while True:
wait_pin_change(button0)
Button0_status = button0.value()
print("สถานะปุ่มกด0", Button0_status, ' : ', "สถานะ LED0", led0.value())
time.sleep(0.2)
if Button0_status == 1:
if toggle0 == 0:
led0.on()
toggle0 = 1
print("LED0 ON")
else:
led0.off()
toggle0 = 0
print("LED0 OFF")
time.sleep(0.05)
print("....")
'''
if Button1_status == 1:
if toggle1 == 0:
led1.on()
toggle1 = 1
print("LED1 ON")
else:
led1.off()
toggle1 = 0
print("LED1 OFF")
time.sleep(0.05)
'''