“DIY小台灯”的版本间的差异
(创建页面,内容为“{| style="width: 1000px;" |- | ==概述== 600px|center 制作一个小台灯,学会用开关控制台灯的亮灭。 适合套...”) |
|||
第82行: | 第82行: | ||
<br> | <br> | ||
Q:为什么我感觉开关有时很灵活,有时又不受控制呢? | Q:为什么我感觉开关有时很灵活,有时又不受控制呢? | ||
+ | <br> | ||
A:这是因为核心模块的思考速度非常快,当你按下碰撞开关的一瞬间,程序判断开关一直在被按下,因此就不断循环了成百上千次,在那一瞬间,LED灯其实点亮熄灭了很多次,只是人眼无法分辨而已,所以你就会感觉它不受控制。 | A:这是因为核心模块的思考速度非常快,当你按下碰撞开关的一瞬间,程序判断开关一直在被按下,因此就不断循环了成百上千次,在那一瞬间,LED灯其实点亮熄灭了很多次,只是人眼无法分辨而已,所以你就会感觉它不受控制。 | ||
+ | <br> | ||
Q:哦,明白了,是不是我将程序设置成等待碰撞开关按下,再等待碰撞开关松开,就可以了呢? | Q:哦,明白了,是不是我将程序设置成等待碰撞开关按下,再等待碰撞开关松开,就可以了呢? | ||
+ | <br> | ||
A:那可以试一试! | A:那可以试一试! | ||
<br> | <br> | ||
第91行: | 第94行: | ||
<br> | <br> | ||
Q:感觉开关还是不受控制? | Q:感觉开关还是不受控制? | ||
+ | <br> | ||
A:这是因为“碰撞开关”属于机械按键,在按下或松开的一瞬间,内部金属片会多次震动,所以程序中会检测到碰撞开关被多次按下和松开,程序也会不断循环下去,起始在这个过程中LED灯已经点亮熄灭很多次,致死肉眼分辨不出而已。 | A:这是因为“碰撞开关”属于机械按键,在按下或松开的一瞬间,内部金属片会多次震动,所以程序中会检测到碰撞开关被多次按下和松开,程序也会不断循环下去,起始在这个过程中LED灯已经点亮熄灭很多次,致死肉眼分辨不出而已。 | ||
+ | <br> | ||
Q:那有什么办法可以让开关稳定控制吗? | Q:那有什么办法可以让开关稳定控制吗? | ||
+ | <br> | ||
A:其实,我们只需要加上一个“延时”功能就可以解决这个机械抖动的问题,在按下开关的时候,延时100毫秒(让程序暂停运行100毫秒),用于等待碰撞开关内部震动平息,消除碰撞开关的频繁抖动。 | A:其实,我们只需要加上一个“延时”功能就可以解决这个机械抖动的问题,在按下开关的时候,延时100毫秒(让程序暂停运行100毫秒),用于等待碰撞开关内部震动平息,消除碰撞开关的频繁抖动。 | ||
+ | <br> | ||
'''编程思路:''' | '''编程思路:''' | ||
+ | <br> | ||
开关每次按下和松开时,都增加延时程序块,用于等待碰撞开关内部震动平息,让开关能稳定控制LED灯。 | 开关每次按下和松开时,都增加延时程序块,用于等待碰撞开关内部震动平息,让开关能稳定控制LED灯。 | ||
[[File:mixly-ctrl1-table-lamp.jpg|600px|center]] | [[File:mixly-ctrl1-table-lamp.jpg|600px|center]] | ||
'''开始编程''' | '''开始编程''' | ||
+ | <br> | ||
1、开关按下和松开时都增加延时,等待碰撞开关内部震动平息,按下再松开开关后,LED灯点亮。 | 1、开关按下和松开时都增加延时,等待碰撞开关内部震动平息,按下再松开开关后,LED灯点亮。 | ||
[[File:mixly-ctrl4-table-lamp-code4.jpg|600px|center]] | [[File:mixly-ctrl4-table-lamp-code4.jpg|600px|center]] | ||
第104行: | 第113行: | ||
[[File:mixly-ctrl4-table-lamp-code5.jpg|600px|center]] | [[File:mixly-ctrl4-table-lamp-code5.jpg|600px|center]] | ||
'''测试结果:''' | '''测试结果:''' | ||
+ | <br> | ||
按下再松开碰撞开关,LED灯点亮;再按下并松开碰撞开关,LED灯熄灭,如此循环,不断点亮熄灭。这样我们就可以用碰撞开关稳定的控制小台灯的亮灭啦! | 按下再松开碰撞开关,LED灯点亮;再按下并松开碰撞开关,LED灯熄灭,如此循环,不断点亮熄灭。这样我们就可以用碰撞开关稳定的控制小台灯的亮灭啦! | ||
<br> | <br> |
2016年9月22日 (四) 07:17的版本
概述制作一个小台灯,学会用开关控制台灯的亮灭。 适合套件:mCookie102,mCookie202,mCookie302,IBC
模块清单模块
其他设备
模块搭建
编程认识新程序块"等待"程序块
"等待"程序块说明
"碰撞开关"程序块
“碰撞”开关程序块说明
编程思路按下碰撞开关,LED灯点亮;再按一下碰撞开关,LED灯熄灭。 开始编程1、按下碰撞开关,LED灯点亮
2、按下碰撞开关,LED灯熄灭
测试结果:
编程思路:
开始编程
2、开关按下和松开时都增加延时,等待碰撞开关内部震动平息,按下再松开开关后,LED灯熄灭。 测试结果:
技术规范
相关案例Q&A |