冰箱灯

来自Microduino Wikipedia
Zhangfengfeng讨论 | 贡献2017年5月18日 (四) 02:47的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索


概述

Anywhere refrigerator-light.jpg

做一个冰箱灯:打开冰箱门时,能够自动开灯,关上冰箱门后,能够自动关灯。

适合套件:mCookie102,mCookie202,mCookie302,IBC


模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
mCookie-USBTTL 1 程序下载模块
mCookie-Hub 1 传感器转接板
Crash 1 碰撞开关
LED 1 单色灯

其他设备

  • USB数据线*1
  • 传感器连接线*1
  • 传感器外壳*1
  • 乐高或其它固定结构
Anywhere trefrigerator-light-module.jpg


模块搭建

Anywhere refrigerator-light-module—step.jpg
  • 将模块和传感器组装起来:
    • 将红色的核心模块,USB上传模块与绿色的扩展模块吸在一起;
    • 将碰撞开关连接在Hub的6/7管脚;
    • 将红色LED灯连接在Hub的4/5管脚;
    • 将USB连接线一端插入USB上传模块,另一端连接电脑;


编程

编程思路

冰箱门打开时,碰撞开关没有被冰箱门挤压(处于松开状态), LED灯点亮;冰箱门关闭时,碰撞开关被冰箱门挤压(碰撞开关处于按下的状态),LED灯熄灭。

开始编程

1、开门时,碰撞开关“松开”,LED灯点亮
碰撞开关管脚号改为6,状态为松开;数字输出管脚号改为4,状态设为高;

Mixly-ctrl-ttrefrigerator-code1.jpg

2、关门时,碰撞开关“按下”,LED灯熄灭
碰撞开关管脚号改为6,状态为按下;数字输出管脚号改为4,状态设为低;

Mixly-ctrl-ttrefrigerator-code2.jpg

测试结果
程序上传成功后,碰撞开关被一直按下时LED灯一直熄灭(表示关闭冰箱门),松开碰撞开关时,LED灯始终亮(表示打开冰箱门)。

  • Q:有时候我忘了关冰箱门,冰箱里的所有东西就化了,有没有什么办法提醒一下呢?
  • A:可以增加一个提醒功能,如果冰箱门开启一段时间后,就发出声音自动报警。需要加入一个“计时”的功能,如果超过一定时间,门还没关,蜂鸣器就会响起来,开始报警!


使用的程序块

编程思路

判断碰撞开关是否松开,如果碰撞开关是按下状态(关门),则关灯,蜂鸣器关闭;如果碰撞开关是松开状态(开门),则亮灯,超时后蜂鸣器报警。

Mixly-ctrl-timeout-light.jpg

开始编程

1、冰箱门打开,6号开关松开,LED灯点亮

Mixly-ctrl-timeout-light-code1.jpg

2、冰箱门打开超时后,蜂鸣器开始报警
定义计时器timer1,开始计时,当碰撞开关松开后,则重复执行内部程序(判断定时器“timer1”计时时间是否超过4000毫秒,如果超过的话,开启蜂鸣器报警),直到碰撞开关被按下后(关门)才结束重复。

Mixly-ctrl-timeout-light-code2.jpg

3、冰箱门关上后,LED灯熄灭,蜂鸣器关闭

Mixly-ctrl-timeout-light-code3.jpg

测试结果
程序上传成功后,松开碰撞开关,超过4秒后,看蜂鸣器是否会报警呢?

Anywhere refrigerator-light.jpg

技术规范

  • 碰撞开关产品编号:MSDS11
  • 数字信号输入传感器。
  • 详细参考Sensor-Crash/zh

相关案例

Q&A