升级版microbit按钮台灯——每次按下按钮,led灯切换亮灭

2018-09-134.9万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用Microbit主控板和扩展板,通过mind+编程软件实现每次按下按钮,LED灯切换亮灭的效果。项目名称为升级版microbit按钮台灯,硬件清单包括Microbit主控板、Microbit扩展板、数据线、按钮和LED小灯。最终效果是每次按下按钮,LED灯切换亮灭。难度等级适合零基础新手和学生学习编程与硬件连接。
我们知道,通过microbit扩展板连接按钮及led灯模块,可以通过简单的程序实现“按钮按下去灯亮、按钮抬起后灯灭”的效果。可是我们现实中的台灯,是不需要持续按着按钮的,按一下灯就会保持亮的状态,再按一下灯灭。那么今天,我来分享一下在没有自锁开关的情况下,如何通过mind+完成“每次按下按钮,led灯切换亮灭”的程序设计。

【设计目标】
1. 每次按下按钮,led灯切换亮灭。

【器件选择】
Microbit主控板;(购买链接)
Microbit扩展版;(购买链接)
数据线;按钮;led小灯;

【编程软件】
Mind+ V1.1.3:下载链接:https://www.mindplus.cc/
【设计步骤】

第一步:硬件连接。
通过USB连接线将Microbit和电脑相连接,将按钮与Microbit的P0号引脚相连接,将led小灯与Microbit的P1号引脚相连接。
升级版microbit按钮台灯——每次按下按钮,led灯切换亮灭图1



第二步:软件编程


1,先搭建出基础架构:判断按钮是否被按下,按下P1输出高电平,否则低电平。

升级版microbit按钮台灯——每次按下按钮,led灯切换亮灭图2

2,要实现每次按下按钮,灯切换亮灭,就需要借助变量,通过变量保存按钮按下的状态。所以我们设置一个变量,并命名“当前状态”。

升级版microbit按钮台灯——每次按下按钮,led灯切换亮灭图3


3,设置变量“当前状态”的值为0,然后在判断按钮是否按下后,再加一步判断“当前状态”的值,如果为0,P1输出高电平,并改变变量值。

升级版microbit按钮台灯——每次按下按钮,led灯切换亮灭图4

4,测试后发现,因为按钮的抖动效应,不能完美的实现功能。可通过等待指令实现按钮消抖,程序就设计完成啦。

升级版microbit按钮台灯——每次按下按钮,led灯切换亮灭图5


实现功能的重点就在于变量模块的灵活使用,大家都试试哈~






创作许可协议

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

评论(13)
三春牛-创客
赞赞赞赞
三春牛-创客
厉害厉害
三春牛-创客
呵呵呵呵
三春牛-创客
哈哈哈哈
三春牛-创客
666666666666
耐撕爸爸
这个帖子算是把难以理解的问题说明白了,尤其是消除抖动使用了等到直到语句
eagler88
老师好,按您的示例,led灯只是闪烁(频率大概是0.2秒),2脚按键不能控制.......
于成
看这个怎么样
冬天
你好,为什么我用Arduino板,LED灯只是闪烁,不能控制呢
GD
我也是一样的效果,请问您解决了吗
驴友花雕
老师好!我是1.5.5版,做了一点小改动就通过了

共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
yinzjchina
有一个问题,长按会闪
春秋大仙
嗯嗯,其实应该在消抖等待时间那里,把等待换成“等待直到非读取数字引脚P0”,就可以了。
gada888
不错的教程
Leven
下面if else中再加上wait,就完美了
hnyzcj
搞定了,哈哈哈哈
冬天
你好,我按照上面的图,做完程序,按键并不能控制灯的开关,灯只是一闪一闪的,为什么能。你做完能按一下松开,灯亮,再按一下松开灯灭吗
- 没有更多了 -