概述
做一个冰箱灯:打开冰箱门时,能够自动开灯,关上冰箱门后,能够自动关灯。
适合套件:mCookie102,mCookie202,mCookie302,IBC
模块清单
模块
其他设备
- USB数据线*1
- 传感器连接线*1
- 传感器外壳*1
- 乐高或其它固定结构
模块搭建
- 将模块和传感器组装起来:
- 将红色的核心模块,USB上传模块与绿色的扩展模块吸在一起;
- 将碰撞开关连接在Hub的6/7管脚;
- 将红色LED灯连接在Hub的4/5管脚;
- 将USB连接线一端插入USB上传模块,另一端连接电脑;
编程
编程思路
冰箱门打开时,碰撞开关没有被冰箱门挤压(处于松开状态), LED灯点亮;冰箱门关闭时,碰撞开关被冰箱门挤压(碰撞开关处于按下的状态),LED灯熄灭。
开始编程
1、开门时,碰撞开关“松开”,LED灯点亮
碰撞开关管脚号改为6,状态为松开;数字输出管脚号改为4,状态设为高;
2、关门时,碰撞开关“按下”,LED灯熄灭
碰撞开关管脚号改为6,状态为按下;数字输出管脚号改为4,状态设为低;
测试结果
程序上传成功后,碰撞开关被一直按下时LED灯一直熄灭(表示关闭冰箱门),松开碰撞开关时,LED灯始终亮(表示打开冰箱门)。
- Q:有时候我忘了关冰箱门,冰箱里的所有东西就化了,有没有什么办法提醒一下呢?
- A:可以增加一个提醒功能,如果冰箱门开启一段时间后,就发出声音自动报警。需要加入一个“计时”的功能,如果超过一定时间,门还没关,蜂鸣器就会响起来,开始报警!
使用的程序块
编程思路
判断碰撞开关是否松开,如果碰撞开关是按下状态(关门),则关灯,蜂鸣器关闭;如果碰撞开关是松开状态(开门),则亮灯,超时后蜂鸣器报警。
开始编程
1、冰箱门打开,6号开关松开,LED灯点亮
2、冰箱门打开超时后,蜂鸣器开始报警
定义计时器timer1,开始计时,当碰撞开关松开后,则重复执行内部程序(判断定时器“timer1”计时时间是否超过4000毫秒,如果超过的话,开启蜂鸣器报警),直到碰撞开关被按下后(关门)才结束重复。
3、冰箱门关上后,LED灯熄灭,蜂鸣器关闭
测试结果
程序上传成功后,松开碰撞开关,超过4秒后,看蜂鸣器是否会报警呢?
技术规范
相关案例
Q&A
|