升级版microbit按钮台灯——每次按下按钮,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号引脚相连接。
第二步:软件编程
1,先搭建出基础架构:判断按钮是否被按下,按下P1输出高电平,否则低电平。
2,要实现每次按下按钮,灯切换亮灭,就需要借助变量,通过变量保存按钮按下的状态。所以我们设置一个变量,并命名“当前状态”。
3,设置变量“当前状态”的值为0,然后在判断按钮是否按下后,再加一步判断“当前状态”的值,如果为0,P1输出高电平,并改变变量值。
4,测试后发现,因为按钮的抖动效应,不能完美的实现功能。可通过等待指令实现按钮消抖,程序就设计完成啦。
实现功能的重点就在于变量模块的灵活使用,大家都试试哈~
搞定了,哈哈哈哈 下面if else中再加上wait,就完美了 不错的教程 有一个问题,长按会闪 你好,为什么我用Arduino板,LED灯只是闪烁,不能控制呢 hnyzcj 发表于 2018-9-14 06:19
搞定了,哈哈哈哈
你好,我按照上面的图,做完程序,按键并不能控制灯的开关,灯只是一闪一闪的,为什么能。你做完能按一下松开,灯亮,再按一下松开灯灭吗 冬天 发表于 2019-4-2 15:33
你好,为什么我用Arduino板,LED灯只是闪烁,不能控制呢
程序应该都是一样的,用什么板子都是可以的,您可以再检查以下程序,端口和变量设置是否正确 yinzjchina 发表于 2019-2-9 15:09
有一个问题,长按会闪
嗯嗯,其实应该在消抖等待时间那里,把等待换成“等待直到非读取数字引脚P0”,就可以了。 看这个怎么样 老师好,按您的示例,led灯只是闪烁(频率大概是0.2秒),2脚按键不能控制....... 春秋大仙 发表于 2019-4-8 12:23
程序应该都是一样的,用什么板子都是可以的,您可以再检查以下程序,端口和变量设置是否正确 ...
老师好!我是1.5.5版,做了一点小改动就通过了
这个帖子算是把难以理解的问题说明白了,尤其是消除抖动使用了等到直到语句 春秋大仙 发表于 2019-4-8 12:23
程序应该都是一样的,用什么板子都是可以的,您可以再检查以下程序,端口和变量设置是否正确 ...
我也是一样的效果,请问您解决了吗
666666666666 哈哈哈哈 呵呵呵呵 厉害厉害 赞赞赞赞
页:
[1]