[入门教程]zero玩树莓派4 按钮开灯

2020-04-105259
AI 快速预览详细 收起
本教程介绍了如何使用树莓派4、扩展板、LED模块和数字大按钮模块实现按钮控制LED灯的功能。通过测试代码1-4,逐步展示了按钮状态的检测和LED灯的控制。特别指出并解决了GPIOZero库设置与实际按钮类型相反的问题,确保按钮状态正确显示。适合零基础的新手快速上手,适用于STEM教育场景。
学习过LED模块之后,通常要开始按钮的学习,今天测试了,DF的按钮和ZERO库的兼容性实验,有点不一样。

一、实验目的
按钮控制LED灯的开关


二、实验设备
1.树莓派 *1       https://www.dfrobot.com.cn/goods-1976.html
2.树莓派扩展板*1     https://www.dfrobot.com.cn/goods-2041.html
3.LED模块*1 (gpio17号口) https://www.dfrobot.com.cn/goods-72.html
4.数字大按钮模块 黄色*1 (gpio17号口)   https://www.dfrobot.com.cn/goods-78.html

三、代码实现
测试代码1.用print()命令打印按钮的状态,示例代码库中的代码,意思是按下按钮提示“”Button is pressed“”松开按钮提示“”Button is not pressed“”
但是实际运行效果相反,松开按钮提示“”Button is pressed“”按下按钮提示“”Button is not pressed“”
from gpiozero import Button
button = Button(16)
while True:
    if button.is_pressed:
        print("Button is pressed")  
    else:
        print("Button is not pressed")



[入门教程]zero玩树莓派4  按钮开灯图1


此处查阅了df的wiki,咨询了李工,按钮分为两种类型,一种是按下高电平,松开为低电平;另一种洽洽相反;
ZERO的库设置时可能正好和我用的模块相反;
[入门教程]zero玩树莓派4  按钮开灯图3
[入门教程]zero玩树莓派4  按钮开灯图2


gpiozero 库参考资料
如果您手头有案例中的配件,请测试一下看看效果。
[入门教程]zero玩树莓派4  按钮开灯图4


测试代码2
from gpiozero import Button
from signal import pause
def say_hello():
    print("Hello!")
button = Button(16)
button.when_pressed = say_hello
pause()


[入门教程]zero玩树莓派4  按钮开灯图5


测试代码3
from gpiozero import Button
from signal import pause
def say_hello():
    print("Hello!")
def say_goodbye():
    print("Goodbye!")
button = Button(16)
button.when_pressed = say_hello
button.when_released = say_goodbye
pause()



[入门教程]zero玩树莓派4  按钮开灯图6


测试代码4 按钮控制LED亮灭


from gpiozero import LED, Button
from signal import pause
led = LED(17)
button = Button(16)
button.when_pressed = led.on
button.when_released = led.off
pause()





创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
DFrJ5KYVQaH
DFrJ5KYVQaH
Python来控制树莓派可以更好玩
- 没有更多了 -