写一段代码GPIO,要求使用两个拨码进行模式选择:模式1:流水灯,模式2:按键检测,用两个LED分别指示按下的按键
时间: 2024-10-20 19:19:40 浏览: 44
在Python中,如果你使用Raspberry Pi GPIO库,你可以编写类似下面的代码。这里假设你有一个树莓派板子,有两个拨码开关(SW0和SW1)控制模式选择,以及两个LED(LED1和LED2)用于反馈按键状态:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义输入的GPIO引脚
SW0 = 4
SW1 = 17
LED1 = 5
LED2 = 6
# 将GPIO设置为输入(对于开关),上拉模式(防止抖动)
GPIO.setup(SW0, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(SW1, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(LED1, GPIO.OUT)
GPIO.setup(LED2, GPIO.OUT)
def switch_mode():
if GPIO.input(SW0): # 模式1
mode = "流水灯"
GPIO.output(LED1, GPIO.HIGH) # 开启LED1
GPIO.output(LED2, GPIO.LOW) # 关闭LED2
elif GPIO.input(SW1): # 模式2
mode = "按键检测"
GPIO.output(LED1, GPIO.LOW) # 关闭LED1
GPIO.output(LED2, GPIO.HIGH) # 开启LED2
else:
print("未设定模式")
return
print(f"当前模式: {mode}")
while True:
switch_mode()
time.sleep(0.5) # 程序每秒检查一次开关状态
# 清理GPIO资源
GPIO.cleanup()
```
阅读全文