zhang209a 发表于 2016-6-11 22:28:35

【IntoRobot Atom体验】搭建有意思的人体红外感应灯应用

本帖最后由 董董soul 于 2019-3-12 13:00 编辑

转载自:http://bbs.intorobot.com/thread-852-1-1.html
1.说明
       人体红外感应灯可以在感应到有人经过时自动开灯。
       该设备主要通过红外热释电传感器进行相关数据的采集,然后根据红外触发状态控制灯泡的打开和关闭状态。并可以通过Atom核心板将其接入IntoRobot云平台,通过WEB和手机端APP定制的控件进行远程控制和监控。
2.材料
http://bbs.elecfans.com/data/attachment/forum/201604/07/223313f3tsw1wsz1iuugnw.jpg.thumb.jpg

       说明:Atom Shield扩展板是Atom的配套扩展板,其将5V电源管脚、3.3V电源管脚和GND管脚进行了扩充,其余IO管脚与Atom的管脚一一对应。为方便接线及演示该教程的演示图片均连接使用了扩展板。
      
3.接线方式
       将HC-SR501接入Atom核心板,接线如下:
转载自:http://bbs.intorobot.com/thread-852-1-1.html

http://bbs.elecfans.com/data/attachment/forum/201604/07/223322vjaczri7ccmuam1r.jpg.thumb.jpg

将继电器的模块按照对应管脚接入Atom:

http://bbs.elecfans.com/data/attachment/forum/201604/07/223325aee8f8lsesd8ksgn.jpg.thumb.jpg

4.程序

#include <WidgetHumandetector/WidgetHumandetector.h>
#define PIRPIN D1// D1连接信号输入管脚
#define LEDPIN D0// LED灯来表示有人移动的状态
WidgetHumandetector human = WidgetHumandetector();
void setup(){   
pinMode(PIRPIN, INPUT);         // 设置管脚为输入模式   
pinMode(LEDPIN, OUTPUT); // 监测到人的时候,LED会亮,人离开的时候,LED会灭   
delay(1000);
}

void loop(){    // 当有人进入监测范围,pinPin管脚电平为高,当人离开,电平管脚变为低   
if(digitalRead(PIRPIN))    {      // 把有人状态传输到云平台      
human.displayHumanStatus(1);      
while (digitalRead(PIRPIN))      {            //点亮灯            
digitalWrite(LEDPIN, HIGH);            
delay(500);      
}      
digitalWrite(LEDPIN, LOW);                // 人离开,熄灭LED灯      // 把人离开状态传输到云平台      
human.displayHumanStatus(0);   
}
}
更多实例教程请查看IntoRobot BBS http://bbs.intorobot.com/。可加入QQ群(460095989)与众多创客进行交流。
页: [1]
查看完整版本: 【IntoRobot Atom体验】搭建有意思的人体红外感应灯应用