#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)
'''
$abcdeabcde151015202530fghijfghij