2020-2-16 11:51:30 [显示全部楼层]
3583浏览
查看: 3583|回复: 2

[入门教程] 【仿真】掌控板按键控制小灯

[复制链接]

【仿真】掌控板按键控制小灯图15
有光明的地方,就有人类文明。
从粗糙的石灯到青铜灯,陶瓷灯到现代的电灯,
灯具的历史变迁打上了深刻的时代烙印,同时也是社会经济和文化的缩影。
今天利用mPython仿真功能分享一盏按键小灯
【仿真】掌控板按键控制小灯图3
一、知识库
1、了解机械按键A B
2、掌握使用按键控制RGB灯的方法
3、学会调用掌控板中的图片
二、学一学
1. 按键消抖
  【仿真】掌控板按键控制小灯图6
   按键消抖通常的按键所用开关为机械弹性开关;
   当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
   因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。
   抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到。
   按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。
【仿真】掌控板按键控制小灯图7
  2.RGB色彩模式,RGB即是代表红、绿、蓝三个通道的颜色,常见颜色。
【仿真】掌控板按键控制小灯图5
三、想一想
    如何通过A、B按键控制RGB灯的开关
四、做一做:
【仿真】掌控板按键控制小灯图1
1.在左侧找到显示块,获取内置图像块

【仿真】掌控板按键控制小灯图8
2.认识内置图片代码的含义

【仿真】掌控板按键控制小灯图2
3.在左侧找到输入块,按键输入块

【仿真】掌控板按键控制小灯图4
4.在左侧找到RGB灯块,设置灯的开关

【仿真】掌控板按键控制小灯图9
5.主程序,显示文字信息
【仿真】掌控板按键控制小灯图10
【仿真】掌控板按键控制小灯图11
6.子程序,按下按键A开灯,按下按键B关灯,
五、练一练
    通过A、B按键控制RGB灯的开关
【仿真】掌控板按键控制小灯图12【仿真】掌控板按键控制小灯图13

六、知识拓展
    消抖是为了避免在按键按下或是抬起时电平剧烈抖动带来的影响。按键的消抖,可用硬件或软件两种方法。
     1.硬件消抖,
     在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。
【仿真】掌控板按键控制小灯图14
    2.软件消抖
     如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

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

DFrJ5KYVQaH  中级技匠

发表于 2020-2-17 09:59:37

很好,学习中
回复

使用道具 举报

kylinpoet  初级技神

发表于 2020-2-17 22:14:34

这个好,必须支持。
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail