zero玩树莓派3 流水灯

2020-04-085789
AI 快速预览详细 收起
本教程介绍了如何使用树莓派3和gpiozero库制作LED流水灯。首先,准备树莓派3、树莓派扩展板和三个LED模块,并将LED模块连接到扩展板的16-17-18号端口。然后,通过编写Python代码,利用gpiozero库的LED类和TrafficLights类,实现LED灯依次点亮的效果。代码示例包括顺序执行和for循环精简版本,适合初学者和STEM教育场景。
铁打的营盘流水的灯,今天学习了LED流水灯,分享一下过程。
一、教学目标



利用gpiozero库的 LED类和TrafficLights类制作流水灯效果


二、实验设备


1.树莓派 *1       https://www.dfrobot.com.cn/goods-1976.html
2.树莓派扩展板*1     https://www.dfrobot.com.cn/goods-2041.html
3.LED模块*3   https://www.dfrobot.com.cn/goods-72.html


LED模块连接扩展板的16-17-18号端口


zero玩树莓派3 流水灯图5

zero玩树莓派3 流水灯图4


三、代码实现


1.LED类(16-17-18端口,顺序执行)
from gpiozero import LED
from time import sleep
led1 = LED(16)
led2 = LED(17)
led3 = LED(18)
led1.off()
led2.off()
led3.off()


while True:
    sleep(1)
    led1.on()
    sleep(1)
    led1.off()
    sleep(1)
    led2.on()
    sleep(1)
    led2.off()
    sleep(1)
    led3.on()
    sleep(1)
    led3.off()

zero玩树莓派3 流水灯图1


2.LED类(16-17-18端口,for循环执行,精简代码)
from gpiozero import LED
from time import sleep
ledn=[16,17,18]
while True:
        for i in ledn:
                led=LED(i)
                led.on()
                sleep(1)
                led.off()
                sleep(1)

zero玩树莓派3 流水灯图2


3.gpiozero库的TrafficLights类


from gpiozero import TrafficLights
from time import sleep
lights = TrafficLights(16, 17, 18)


lights.red.off()
lights.amber.off()
lights.green.off()


while True:
   
    sleep(1)
    lights.amber.off()
    lights.red.on()
    sleep(1)
    lights.red.off()
    lights.amber.on()
    sleep(1)
    lights.amber.off()
    lights.green.on()
    sleep(1)
    lights.green.off()



zero玩树莓派3 流水灯图3

四、运行视频





创作许可协议

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

评论(1)
pATAq
pATAq
很好的教程,感谢分享
- 没有更多了 -