from machine import Pin
import time

LED1 = Pin(2, Pin.OUT)  # 构建 LED1 对象,开始熄灭
LED2 = Pin(4, Pin.OUT)  # 构建 LED2 对象,开始熄灭
LED3 = Pin(15, Pin.OUT)  # 构建 LED3 对象,开始熄灭
LED4 = Pin(5, Pin.OUT)  # 构建 LED4 对象,开始熄灭

KEY1 = Pin(35, Pin.IN, Pin.PULL_UP)  # 构建 KEY1 对象
KEY2 = Pin(32, Pin.IN, Pin.PULL_UP)  # 构建 KEY2 对象
KEY3 = Pin(33, Pin.IN, Pin.PULL_UP)  # 构建 KEY3 对象
KEY4 = Pin(25, Pin.IN, Pin.PULL_UP)  # 构建 KEY4 对象

state1 = 0  # LED1 引脚状态
state2 = 0  # LED2 引脚状态
state3 = 0  # LED3 引脚状态
state4 = 0  # LED4 引脚状态

while True:
    if not KEY1.value():  # 按键1被按下
        time.sleep_ms(9)  # 消除抖动
        if not KEY1.value():  # 确认按键1被按下
            state1 = not state1  # 使用 not 语句而非~语句
            LED1.value(state1)  # LED1 状态翻转
            while not KEY1.value():  # 检测按键1是否松开
                pass

    if not KEY2.value():  # 按键2被按下
        time.sleep_ms(9)  # 消除抖动
        if not KEY2.value():  # 确认按键2被按下
            state2 = not state2  # 使用 not 语句而非~语句
            LED2.value(state2)  # LED2 状态翻转
            while not KEY2.value():  # 检测按键2是否松开
                pass

    if not KEY3.value():  # 按键3被按下
        time.sleep_ms(9)  # 消除抖动
        if not KEY3.value():  # 确认按键3被按下
            state3 = not state3  # 使用 not 语句而非~语句
            LED3.value(state3)  # LED3 状态翻转
            while not KEY3.value():  # 检测按键3是否松开
                pass

    if not KEY4.value():  # 按键4被按下
        time.sleep_ms(9)  # 消除抖动
        if not KEY4.value():  # 确认按键4被按下
            state4 = not state4  # 使用 not 语句而非~语句
            LED4.value(state4)  # LED4 状态翻转
            while not KEY4.value():  # 检测按键4是否松开
                pass
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
led1:A
led1:C
r1:1
r1:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2