【仿真】按键控制小灯

rzegkly, 创新中国 有你有我
帖子创建于2020年02月16日 基础使用 1083 次浏览 5 个赞


有光明的地方,就有人类文明。

从粗糙的石灯到青铜灯,陶瓷灯到现代的电灯,

灯具的历史变迁打上了深刻的时代烙印,同时也是社会经济和文化的缩影。

有人类文明的地方,也要有掌控板。

今天利用mPython仿真功能分享一盏按键小灯


一、知识库

1、了解机械按键A B

2、掌握使用按键控制RGB灯的方法

3、学会调用掌控板中的图片

二、学一学

1. 按键消抖


按键消抖通常的按键所用开关为机械弹性开关;

当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。

抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。

按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。


2.RGB色彩模式,RGB即是代表红、绿、蓝三个通道的颜色,常见颜色。


三、想一想

如何通过A、B按键控制RGB灯的开关

四、做一做:


1.在左侧找到显示块,获取内置图像块


2.认识内置图片代码的含义


3.在左侧找到输入块,按键输入块


4.在左侧找到RGB灯块,设置灯的开关


5.主程序,显示文字信息



6.子程序,按下按键A开灯,按下按键B关灯,

五、练一练

通过A、B按键控制RGB灯的开关



六、知识拓展

消抖是为了避免在按键按下或是抬起时电平剧烈抖动带来的影响。按键的消抖,可用硬件或软件两种方法。

1.硬件消抖,

在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。


2.软件消抖

如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

一般来说,软件消抖的方法是不断检测按键值,直到按键值稳定。实现方法:假设未按键时输入1,按键后输入为0,抖动时不定。可以做以下检测:检测到按键输入为0之后,延时5ms~10ms,再次检测,如果按键还为0,那么就认为有按键输入。延时的5ms~10ms恰好避开了抖动期。

3 条评论

筱寒

2020年02月17日

有人类文明的地方,也要有掌控板,哈哈,感谢分享

有 1 条回复

rzegkly

2020年02月17日

哈哈,假期里写写,开学后给孩子们讲讲,相互学习

布谷鸟

2020年02月19日

谢谢老师的分享