概述
做一个冰箱灯:打开冰箱门时,能够自动开灯,关上冰箱门后,能够自动关灯。
适合套件: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:以增加一个提醒功能,如果冰箱门开启一段时间后,就发出声音自动报警。需要加入一个“计时”的功能,如果超过一定时间,门还没关,蜂鸣器就会响起来,开始报警!
认识新程序块
“计时器开始”程序块
“计时器开始”程序块位于“美科科技>执行器”选项卡中。
“计时器开始”程序块说明
定义计时器“timer1”从这一刻开始计时。程序中可能用到不只一个计时器,所以为了防止混淆,每个计时器都要有不一样的名字。
- 计时程序块与延时程序块的区别
- 计时程序块:程序一直在运行判断,计时不影响其他程序正常运行,可以同时做好几件事。如:该程序在计时的同时判断碰撞开关是不是处于松开状态,同时判断是否超时。
- 延时程序块:系统运算会停止,程序一直在原地踏步,不能做任何事情。
“超时”程序块
“超时”程序块位于“美科科技>执行器” 选项卡中。
“超时”程序块说明
如果从定时器“timer1”开始直到现在,时间超过2000毫秒,则判断条件成立,可执行下一条程序;如果未超过2000毫秒,则判断条件不成立,不能执行下一条程序。
“重复执行”程序块
“重复执行”程序块位于“美科科技>核心模块” 选项卡中。
“重复执行”程序块说明
当条件成立时,重复执行内部程序;当条件不成立时,不执行内部程序,执行下一步程序。
“重复执行”和“如果”模块的区别
编程思路
判断碰撞开关是否松开,如果碰撞开关是按下状态(关门),则关灯,蜂鸣器关闭;如果碰撞开关是松开状态(开门),则亮灯,超时后蜂鸣器报警。
开始编程
1、冰箱门打开,6号开关松开,LED灯点亮
2、冰箱门打开超时后,蜂鸣器开始报警
定义计时器timer1,开始计时,当碰撞开关松开后,则重复执行内部程序(判断定时器“timer1”计时时间是否超过4000毫秒,如果超过的话,开启蜂鸣器报警),直到碰撞开关被按下后(关门)才结束重复。
3、冰箱门关上后,LED灯熄灭,蜂鸣器关闭
测试结果
程序上传成功后,松开碰撞开关,超过4秒后,看蜂鸣器是否会报警呢?
技术规范
相关案例
Q&A
|