升级版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
eagler88
老师好,按您的示例,led灯只是闪烁(频率大概是0.2秒),2脚按键不能控制.......
于成
于成
看这个怎么样
冬天
冬天
你好,为什么我用Arduino板,LED灯只是闪烁,不能控制呢
GD
GD回复春秋大仙
我也是一样的效果,请问您解决了吗
驴友花雕
驴友花雕回复春秋大仙
老师好!我是1.5.5版,做了一点小改动就通过了

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