本帖最后由 purplebee 于 2014-9-25 01:43 编辑
(前言和上手请看
这里)
三、系统设计
上一帖提到目标是
能够根据室内情况控制相关设备,以灯为例,可以室内暗并且有人的时候自动开灯,人离开或者室内亮自动关灯
这个系统除了MCU外,还需要一个光传感器(Light Sensor),用来感知光的强度。还需要一个传感器来检测是否有人。一个可以考虑的传感器是红外线动作感测器 (PIR Motion Sensor),这个好处是感应距离长,但对静止的人没法识别;还有一个是使用距离传感器(Proximity Sensor),这个是利用主动红外线探测物体,感应距离稍短,但不限运动还是静止,虽然别的挡在它前面的物体也会探测,但一般室内家具之类的都是固定不动的,如果它前面出现物体挡住,一般是人。
所以最终确定先用光传感器(以下简称lsensor)和距离传感器(以下简称psensor)来实现。
我手头有一个intersil的ISL29021开发板,包含一颗芯片,集成 lsensor和psensor。如图,中间那个U1是lp-sensor,很小,8个pin。支持I2C通信,支持的光线强度范围很大。
lpsensor的内部原理框图:
实际工作的时候,可以设置sensor的阀值,工作时阀值到了会触发一个中断,MCU收到中断后,查询相应的light和proximity的值,根据对应的算法决定是否打开灯光。如果灯支持亮度调节,还可以根据环境光线调整。
系统框图如下,其中左上是MCU通过继电器控制灯。实际实现的时候,我直接利用瑞萨开发板上的LED来演示。
(待续)