esp32一个按键按第一下点亮第一个灯按第二下点亮第二个灯按第三下点亮第三个灯用python
时间: 2024-11-09 08:30:27 浏览: 11
在ESP32单片机上通过Python控制LED灯,你可以使用GPIO模块来实现这个功能。首先,你需要初始化三个LED和一个按键,然后设置按键中断处理程序。这里是一个简单的示例:
```python
import machine
import time
# 初始化LEDs
led0 = machine.Pin(2, machine.Pin.OUT) # 第一个LED连接到GPIO2
led1 = machine.Pin(4, machine.Pin.OUT) # 第二个LED连接到GPIO4
led2 = machine.Pin(15, machine.Pin.OUT) # 第三个LED连接到GPIO15
# 初始化按键
button = machine.Button(machine.Pin(0)) # 按键连接到GPIO0
def led_on(pin):
pin.value(1)
print(f"LED {pin} is on")
def led_off(pin):
pin.value(0)
print(f"LED {pin} is off")
def button_handler(pin):
if not button.value():
for i in range(3):
led_on(i+1) # 按键按下,依次点亮LED
time.sleep(1) # 等待一下再切换下一个LED
led_off(i+1) # 关闭当前点亮的LED
# 设置按键中断
button.irq(trigger=machine.Pin.IRQ_FALLING, handler=button_handler)
while True:
pass # 循环等待按键事件
```
在这个例子中,当你按下按键时,它会触发中断函数`button_handler`,该函数会检查按键状态并相应地控制LEDs。注意实际操作中需要根据硬件连接调整GPIO脚编号。
阅读全文