使用树莓派编写python程序,使用按钮控制的亮灭,单击亮,双击灭
时间: 2023-05-17 07:07:11 浏览: 96
可以使用GPIO库来控制树莓派的GPIO引脚,实现按钮控制的亮灭。以下是一个简单的示例代码:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 设置GPIO引脚
led_pin = 18
button_pin = 17
# 设置GPIO引脚为输出模式
GPIO.setup(led_pin, GPIO.OUT)
# 设置GPIO引脚为输入模式,并启用上拉电阻
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# 定义按钮单击和双击的处理函数
def button_callback(channel):
global last_click_time
click_time = time.time()
if click_time - last_click_time < 0.5:
# 双击
GPIO.output(led_pin, GPIO.LOW)
else:
# 单击
GPIO.output(led_pin, GPIO.HIGH)
last_click_time = click_time
# 注册按钮的事件回调函数
GPIO.add_event_detect(button_pin, GPIO.FALLING, callback=button_callback, bouncetime=200)
# 循环等待事件发生
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
pass
# 清理GPIO资源
GPIO.cleanup()
```
在这个示例代码中,我们使用GPIO库来设置GPIO引脚的模式和状态,并注册按钮的事件回调函数。当按钮被单击时,LED灯会亮起;当按钮被双击时,LED灯会熄灭。注意,为了避免按钮抖动的影响,我们在事件回调函数中使用了一个简单的时间差判断来区分单击和双击。
阅读全文