#Lab9_GPIO_MultiButton_Toggle.py

# 1 ประกาศ/เรียกใช้โมดูล
from machine import Pin
import time

# 2 ประกาศตัวแปร/สร้างตัวแปรต่างๆ
led_red = Pin(23, Pin.OUT) # Pin.OUT กำหนดให้ขานี้เป็นขาแสดงผล
led_yellow = Pin(22, Pin.OUT) # Pin.OUT กำหนดให้ขานี้เป็นขาแสดงผล
led_green = Pin(21, Pin.OUT) # Pin.OUT กำหนดให้ขานี้เป็นขาแสดงผล

button_red = Pin(5, Pin.IN) # Pin.IN กำหนดให้ขานี้เป็นขารับค่า
button_yellow = Pin(18, Pin.IN) # Pin.IN กำหนดให้ขานี้เป็นขารับค่า
button_green = Pin(19, Pin.IN) # Pin.IN กำหนดให้ขานี้เป็นขารับค่า

toggle_red = 0
toggle_yellow = 0
toggle_green = 0
while True:
    status_red = button_red.value() # อ่านค่าสถานะ 1/0
    status_yellow = button_yellow.value() # อ่านค่าสถานะ 1/0
    status_green = button_green.value() # อ่านค่าสถานะ 1/0
    print("สถานะปุ่มกดสีแดง: ", status_red)
    print("สถานะปุ่มกดสีแดง: ", status_yellow)
    print("สถานะปุ่มกดสีแดง: ", status_green)

    if button_red.value() == 1:
        if toggle_red == 0:
            led_red.on()
            toggle_red = 1
        else:
            led_red.off()
            toggle_red = 0

    if button_yellow.value() == 1:
        if toggle_yellow == 0:
            led_yellow.on()
            toggle_yellow = 1
        else:
            led_yellow.off()
            toggle_yellow = 0
    
    if button_green.value() == 1:
        if toggle_green == 0:
            led_green.on()
            toggle_green = 1
        else:
            led_green.off()
            toggle_green = 0