辜渝傧

13037102709

027-87870986

新闻动态

您当前的位置:首页 > 新闻动态 > 行业动态 >

物联网技术区||传感控制器的应用之人体红外的探测

发布者:    布时间:2020-09-16 16:45:43    点击量:

       任务描述

       通过编程实现人体红外数据的读取,在节点模块的液晶屏幕上进行显示,对是否有人进行判断,在屏幕上显示“有人”或“无人”信息。
 
       知识引入
      通过单片机的ADC模数转换读取人体红外数据,电路连接图和数据采集方式与光敏传感器相同。生活中人体红外的应用有:防盗报警,感应灯具,红外迎宾仪等。人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。
      红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。
单片机模块的ADC模块的参考电压(VREF)为输入的工作电压Vcc,无专门的ADC参考电压输入端口。单片机内集成的A/D转换,一般都有相应的特殊功能寄存器来设置A/D的使能标志,参考电压,转换频率,通道选择,A/D输入口的属性(模拟量输入还是普通的I/O口),启动,停止控制等。程序中通过配置这些传感器,便能实现AD转换功能了。
  1. 实验电路图
       人体红外模块探测范围大,性能优,可直接接入单片机,原理图如下:
人体红外传感器原理图
图4-9人体红外传感器原理图
      本任务实现需要节点板、slink通信模块、人体红外传感器模块各一个。
       2.关键代码的分析
       此处给出完整的光敏传感器数据获取、显示、发送代码,在后期任务实施的代码书写部分可以直接使用,也可以根据实际需求进行举一反三,修改利用。
#include "WZ01_SN_A_V1.0.h"
#include "Uart3.h"
#include "Delay.h"
/*-源码分析-----------------
以上三个头文件功能描述如下:
WZ01_BR13_A_V1.0.h:设备厂家单片机定义的头文件。
Uart3.h:3号串行口收发以及端口映射的头文件。
Delay.h:  延时函数的头文件。
------------------*/
//设置P10为输入方式
#define Sensor_INIT()       P1M0 &= ~(1<<0);P1M1 |= (1<<0);   //设置P10为输入方式
#define Sensor_switch       P10                             //引脚定义
/*-源码分析-----------------
1.#define Sensor_INIT()  P1M0 &= ~(1<<0);P1M1 |= (1<<0):
P1M0 &= ~(1<<0)等价于任务二代码中的SetBit(P1M0,0)功能。
P1M1 |= (1<<0);等价于任务二代码中的SetBit(P1M1,0)功能。
2.#define Sensor_switch P10:
此处P10引脚接人体红外传感器信号输入,Sensor_switch为0时代表没人,为1时代表有人。
------------------*/
ulong System1MsCnt = 0;             //系统1ms计数器
ulong SystemSecond = 0;
//初始化定时器0
void Timer0Init()
{
    AUXR |= 0x80;                   //定时器0为1T模式
//  AUXR &= 0x7f;                   //定时器0为12T模式
    TMOD = 0x00;                    //设置定时器为模式0(16位自动重装载)
    TL0 = T1MS;                     //初始化计时值
    TH0 = T1MS >> 8;
    TR0 = 1;                        //定时器0开始计时
    ET0 = 1;                        //使能定时器0中断
    EA = 1;
}
  //*定时器0中断服务函数(启动后每1MS进入一次)
void Timer0_ISR() interrupt 1 using 1
{
  static uint counter0=0;
    counter0++;
    System1MsCnt++;
   
    if(System1MsCnt%1000==0)
    {          
//      BUZZER = !BUZZER;
    }
}
//主函数
void main(void)
{
    BUZZER_INIT();  //蜂鸣器初始化
    Uart3Init();    //串口3初始化
    Sensor_INIT();   //人体红外传感器初始化
    LED_INIT();
    OledInit(); //液晶屏初始化
    OledClear();  //液晶屏清屏
    OledDispString(1,1," 人体红外--实验");
    while(1)
    {
        if(Sensor_switch==0)     //无人    直接同过P10端口检测,
        {
            BUZZER_OFF();
            LED3_OFF();           //灯灭  蜂鸣器关
            OledClearHalf(2);
            OledDispString(3,1,"   无人 ");
            Send3String("#var 1 0\r"); 
        }
        else                         //有人
        {
            BUZZER_ON();
            LED3_ON();             //灯亮  蜂鸣器开
            OledClearHalf(2);
            OledDispString(3,1,"   有人 ");
            Send3String("#var 1 1\r");     //通过串口3发送到网关或其他
        }
        DelayMs(500);
    }
}
 
       任务实现
      1. 将无线模块插到节点底板上,注意天线朝左,将人体红外传感器插到节点底板,有白色丝印的角朝右。如图4-8模块人体红外节点所示。
人体红外传感器节点
                            图4-10人体红外传感器节点
      2.连接节点模块电源,为节点底板通电,此时led1灯点亮状态。
      3.在Keil软件打开随书资源中“源代码\项目四\任务3\WZ01_CZ_A_V1.0.uvproj”人体红外工程文件,工程目录如图4-11所示。
                 人体红外工程目录结构
图4-11 人体红外工程目录结构
 
       4.在主程序main.c中编辑前面关键代码分析中的源码,完成后保存。
       5.依据本教材项目二中任务二的操作,进行编译选项的设置。
       6.点击编译按钮,成功编译后,在工程目录下output文件夹中生成了”人体红外实验.hex”可执行文件。
       7.打开STC-ISP软件,将USB-TTL下载器插上电脑(需要安装驱动),依据本教材项目二中任务三中的操作,选择下载器端口号(串口号)和刚刚生成的HEX文件,点击下载编程。
下载器
图4-12 下载器
       下载完毕后,查看运行结果。
       8.查看运行结果
       程序下载完毕。如果有人,OLED 屏幕将显示“有人”,如果没人,OLED 屏幕将显示“无人”。
       任务小结
       本任务通过编程实现人体红外传感器数据的读取,本任务中主要知识点是理解人体红外传感器的工作原理及在程序中对状态判断的实现方法,应重点对Sensor_INIT()、Sensor_switch宏定义的内容理解。
 
 

唯众物联网工程应用实训装置带你快速掌握物联网关键技术

唯众物联网实训室工程应用装置
一、产品名称:物联网工程应用实训装置
二、产品型号和技术规格
1.  产品型号:WZ-IOT-ATP
2.  外型尺寸:
桌面式操作台1个操作台底座1个
3.  电压/功率:220V
4.  配套设备
实训台:
温湿度传感器1个
人体红外监测器1个
高频RFID阅读器1个
光照强度检测器1个
可燃气体监测器1个
RGB三色灯执行器1个
LED显示屏2个
智能语音播放设备1个
继电器1个
 
       物联网教学实训主要用于对物联网核心课程的知识点学习,能够服务于相关课程的实验和实训需求。
       核心课程主要针对学科基础技术的培养,掌握物联网概论,传感器和RFID 等感知设备认知和开发,ZigBee/Wi-Fi/蓝牙等无线网络的配置、维护和开发,物联网互联接入及存储,物联网应用层软件开发,物联网产品整合等基本知识。
       核心课程采用全模块化的实验箱教学产品进行实验,具备优良的教学实验特性:全模块化的设计、开放式的硬件接口、开源的实验代码、完整的教学资源、贴心的售后服务。
       基于ARM Cortex-M4核心的通信网关,支持无线节点模块的双向连接及组网,与配套“可视化编辑器”和“可视化控制器”进行配置和控制。物联网关可以管理不同协议的无线节点模块,并能将多个无线节点模块视作不同设备,将无线节点模块的数据转换为TCP网络通信进行传输,网关同无线节点模块可以互通互联,轻松构建物联网络,共同构成物联应用开发平台。通过本物联网平台,可以迅速降低物联网应用的开发成本和开发时间,开发者即便不会编程,也可以在一两天之内,就迅速使用本平台开发搭建出自己的物联网应用。
       通过电脑PC端可直接以“可见即可得”的方式在此工具上生成不同的设备操作界面,支持指示灯、按键、图片集合、变量视窗、图文链接等五种可视化控件。所有控件的动作都可以直接反应到实际的物联设备(即无线节点模块)上。界面生成后,可以直接导入App使用,而不需要重新编译或安装App。
       通过物联网关、可视化控制器、可视化界面生成器编辑器、万纳模组、物联网传感器/执行器以及配套物联网连件连接件,师生不仅可以完成出基于物联网、远程访问、设备联动等功能的物联网实训项目,还可以迅速开发物联网商业产品\项目,如空气监测仪、电气设备在线监测器等等,并随时实现不同设备间的联动,而这些开发过程,基于本系统的可视化开发工具,可以做到零编程实现物联网应用系统。
       支持家庭常用的各种无线协议(红外、射频),兼容市面绝大多数品牌的空调、电视机、灯光、安防、窗帘等等家电设备,因此可以直接当做一套完备的智能家居系统进行使用,并集成了摄像头功能,可以直接在App中使用摄像头。
       平台所有设备采用模块化、集散化、工业化的设计模式,每个模块都为独立工作单元;模块均接近实际应用系统,能够容纳2-3个学生同时实训,可完成工程项目应用开发系统中硬件设备的安装、布线与调试,完成设备间的无线组网,既具有展示型又具有实操性。能够组建具有行业特色的物联网智能家居实训项目,确保学生可利用设备搭建真实工程项目。
 


上一篇:物联网技术区||传感控制器的应用之光照强度的采集

下一篇:物联网技术区||传感控制器应用之继电器的控制