4246浏览
查看: 4246|回复: 0

菜鸟也玩树莓派(二)——让灯带闪起来

[复制链接]
本帖最后由 且歌且行 于 2019-11-23 00:36 编辑

        丢下一大堆急需完成的工作,傻坐在桌前码一篇心里完全没底的文字。好吧~树莓派,你的蛊惑有效,那我们就一起来试试看吧。
       前几天在群里看到有位老师在秀炫彩的灯带,我心里便艳羡不已,盘算着自己也整一条闪闪烁烁听话的灯带。
       目标:用按钮控制灯带,按一下按钮,灯带便开始按要求闪烁。我希望这条灯带色彩纯净,但亮度和色彩都有所变化,要实现蓝绿红三色从暗到亮的变化。再按一下按钮,灯带便熄灭。
       所用器材:树莓派3B+、扩展板、灯带一条、按钮一个。
菜鸟也玩树莓派(二)——让灯带闪起来图1
       理想很美好,现实往往相当骨感……
       第一步连接器材就让我开始犯难,灯带的两个头该接在哪里呢?后来,在@周建忠老师提供的微课里找到了答案。
菜鸟也玩树莓派(二)——让灯带闪起来图2
       灯带上LED灯的中间都有一个小黑三角,它表示电流的方向,小黑三角起点的那端连接树莓派。
菜鸟也玩树莓派(二)——让灯带闪起来图10
菜鸟也玩树莓派(二)——让灯带闪起来图9
       在起点端电线的位置有字母标识,依次为“+5V”、“OUT”、“GND”,分别表示“电源”、“输出”、“接地”。在扩展板上找到对应的18口连接。
       菜鸟也玩树莓派(二)——让灯带闪起来图3
       连接按钮比较简单,找到对应的25口插上即可。
       第二步,登录古德微平台编程。
       此处,需要解决两个问题。怎样让按钮在“开”与“关”之间切换,而不是只有“按下”与“放开”两种状态?另外,怎样实现灯带亮度的逐渐变化?
       为控制按钮切换,我设置了一个变量“按钮状态”,按一下按钮,“按钮状态”即为“开”,再按一下按钮,“按钮状态”即为“非‘按钮状态’”,就是“不开”(关)。积木块堆叠如下:      
菜鸟也玩树莓派(二)——让灯带闪起来图4
       有老师质疑:为什么等待时间是0.4秒。呵呵~你猜~
       接下来解决第二个问题。
       设置两个变量i和y,i代表灯带上的60个LED灯,y代表256个色阶。那么,让灯带从暗到亮闪蓝色的积木块堆叠如下:
菜鸟也玩树莓派(二)——让灯带闪起来图6

       此处务必注意在“设置灯带第i个灯的颜色为“后,一定要放上“灯带刷新显示”积木块。
       绿色和红色也作如上设置,只是将积木块中“蓝色”后边的“y”变量移到“红色”和“绿色”后即可。
菜鸟也玩树莓派(二)——让灯带闪起来图5
       然后,用“如果……否则……”循环体将积木块连接,“如果”后设置“按钮状态”变量,实现当按钮状态为“开”时让灯带按要求闪烁。在“否则”后面设置灯带颜色均为“0”的积木块,让灯带熄灭。
       最后,在主程序体外套上“重复当‘真’”的循环体,让循环一直有效。在主程序体上面放上灯带初始状态的积木块,如下图:
菜鸟也玩树莓派(二)——让灯带闪起来图7
         完整代码如下图:
菜鸟也玩树莓派(二)——让灯带闪起来图8

        好了,“保存”程序,“运行”,看看效果是否如你所愿~
        运行结果出来,发现关的按钮不灵。这是为什么?你猜,你猜,你猜猜猜~猜对有奖哦~
       其实,按钮有的时候灵,猜猜是在啥时候?
       想让按钮每时每刻都灵,程序应该怎么改?这回菜鸟无法起飞,恳请大咖高手支个小招~
       另外,来来来,让你的灯带也一起闪~看看你的灯带怎么闪~
       @周建忠老师,这是第二篇,漂流瓶是不是可以在我家多住些日子了~嘿嘿~

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail