esp32按键按一下点亮第一个灯按第二下点亮第二个灯用python
时间: 2024-11-09 14:30:16 浏览: 34
ESP32是一款嵌入式微控制器,常用于物联网(IoT)项目中,它支持Python等高级语言编程。要实现在Python中控制两个LED灯,每个按键对应点亮一个灯,首先你需要准备ESP32、两个GPIO端口连接到LED灯,并设置好按键中断。
以下是一个简单的示例代码,假设你已经设置了GPIO0和GPIO1分别连接了LED1和LED2,按键连接到了某个IO口中:
```python
import machine
import time
# 定义LED端口
led0 = machine.Pin(0, machine.Pin.OUT) # GPIO0连接LED1
led1 = machine.Pin(1, machine.Pin.OUT) # GPIO1连接LED2
# 定义按键
button = machine.Pin(<你的按键GPIO>, machine.Pin.IN, pull=machine.Pin.PULL_UP)
def led_on(pin):
pin.value(1) # 点亮LED
def led_off(pin):
pin.value(0) # 关闭LED
while True:
if not button.value(): # 按键按下状态
if led0.value() == 0: # 如果LED1未亮
led_on(led0)
else: # 如果LED1已亮,则切换到LED2
led_on(led1)
led_off(led0)
# 如果LED2也亮了,等待一段时间后恢复默认状态
if led1.value() == 0:
time.sleep(1) # 等待1秒
led_on(led0)
else:
led_off(led1)
led_on(led0)
else: # 按键释放
led_off(led0)
led_off(led1) # 两者都关闭
阅读全文