请选择 进入手机版 | 继续访问电脑版
hot【项目分享】之智能交通灯

结合前几次GPIO的简单了解和学习,今天给大家分享一个GPIO的简单应用:智能交通灯 涉及硬件:开发套件 详细

开启左侧

【项目分享】之智能交通灯

[复制链接]
lhjmy 发表于 2020-4-22 17:20:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本帖最后由 lhjmy 于 2020-4-22 17:23 编辑

777.jpg



结合前几次GPIO的简单了解和学习,今天给大家分享一个GPIO的简单应用:智能交通灯

1.jpg


涉及硬件:开发套件、LED红绿灯
涉及知识:GPIO LED驱动电路


(1)      有了下图这样的红绿灯模块之后,就可以把这个小装置连接到开发板的GPIO接口上。
2.png
3.png

(2)      连接好LED模块和开发板后,就可以打开程序,然后编写一些代码来控制LED了。一个例子,我是用了Python来读取树莓派的CPU使用率,通过RPi.GPIO库来显示红、黄、绿三种LED灯。
(3)      下面的代码是通过读取CPU使用率,通过GPIO库来显示红、黄、绿三种LED灯。


原理

如果CPU负载低于50%,会显示绿灯;在50%到90%之间,显示黄灯;高于90%就会显示红灯。
GREEN = 26
YELLOW = 13
RED = 19

# Pin Setup:
GPIO.setmode(GPIO.BCM) # Broadcom pin-numbering scheme.
GPIO.setwarnings(False)
GPIO.setup(GREEN, GPIO.OUT)
GPIO.setup(YELLOW, GPIO.OUT)
GPIO.setup(RED, GPIO.OUT)

try:
while (1):
cpu_pc = psutil.cpu_percent(interval=2)
print 'CPU: %d%%' % (cpu_pc)
if cpu_pc <= 50:
GPIO.output(RED, False)
GPIO.output(YELLOW, False)
GPIO.output(GREEN, True)
if 50 < cpu_pc < 90:
GPIO.output(GREEN, False)
GPIO.output(RED, False)
GPIO.output(YELLOW, True)
if cpu_pc >=90 :
GPIO.output(GREEN, False)
GPIO.output(YELLOW, False)
GPIO.output(RED, True)


目前没基础的同学可以先了解一下思路,是否能看明白代码逻辑,后期我们学习了GPIO的代码实现,大家可以把这个应用自己实现。有能力的同学可以研究一下自己做一个。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行 更多
广告位
0351-8210788
周一至周日 9:00-18:00
意见反馈:mind@unigress.com
关注我们

扫一扫关注我们

Powered by Discuz! X3.4 Licensed  © 2001-2013 Comsenz Inc.( 晋ICP备12005011 )