欢迎来到天天文库
浏览记录
ID:57297044
大小:1.12 MB
页数:30页
时间:2020-08-10
《模拟量传感器采集课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、模拟传感器采集目录四、实训步骤二、实训内容一、实训目的三、实训原理实训目的(1)掌握CC2530的ADC工作原理(2)掌握模拟量传感器工作原理(3)能实现模拟量传感器采集功能目录四、实训步骤二、实训内容一、实训目的三、实训原理实训内容采用气体传感器、光敏传感器,以及ZigBee模块组成一个模拟量传感器采集系统。以BasicRF无线点对点传输协议为基础,将一块ZigBee模块连接气体传感器模块,另一块ZigBee模块连接光敏传感器模块;将协调器模块的串口连接到电脑,同时需要将ZigBee模块上电,在电脑上打开串口调试软件,设置波特
2、率38400bps、数据位8等参数。使用打火机在气体传感器模块释放气体,通过手机电筒照射光敏传感器模块等操作,当气体传感器检测到不同浓度的气体时,光敏传感器检测到不同光强的光照时,会在电脑的串口调试软件上就显示检测到的气体电压信息与光照电压信息。目录四、实训步骤二、实训内容一、实训目的三、实训原理实训原理本实训需要用到协调器与传感器,传感器负责采集传感数据,把传感数据打包后通过ZigBee网络无线发出去;协调器负责建立网络,接收传感器传来的无线数据,并发送到串口。传感器与协调器连接拓扑图如图6.1所示。其他内容参照实训4、实训5
3、等内容。图6.1连接拓扑图目录四、实训步骤二、实训内容一、实训目的三、实训原理实训步骤第一步,新建工程、配置工程相关设置。具体参照实训3操作。第二步,编写程序。由于程序很长,只能对关键部分的程序进行分析。详细见“实训5模拟器传感器采集/Project”目录包含的源程序文件。1.sensor.c中的main函数voidmain(void){uint16sensor_val;uint16len=0;halBoardInit();//模块相关资源的初始化ConfigRf_Init();//无线收发参数的配置初始化实训步骤halLedS
4、et(1);halLedSet(2);Timer4_Init();//定时器初始化Timer4_On();//打开定时器while(1){APP_SEND_DATA_FLAG=GetSendDataFlag();if(APP_SEND_DATA_FLAG==1)//定时时间到{/*【传感器采集、处理】开始*/#ifdefined(GM_SENDOR)//光敏传感器sensor_val=get_adc();//取模拟电压实训步骤//把采集数据传化成字符串,以便于在串口上显示观察printf_str(pTxData,"光照传感器电压
5、:%d.%02dVr",sensor_val/100,sensor_val%100);#endif#ifdefined(QT_SENDOR)//气体传感器sensor_val=get_adc();//取模拟电压//把采集数据传化成字符串,以便于在串口上显示观察printf_str(pTxData,"气体传感器电压:%d.%02dVr",sensor_val/100,sensor_val%100);#endif实训步骤#ifdefined(QT_SENDOR)//气体传感器sensor_val=get_adc();//
6、取模拟电压//把采集数据传化成字符串,以便于在串口上显示观察printf_str(pTxData,"气体传感器电压:%d.%02dVr",sensor_val/100,sensor_val%100);#endifhalLedToggle(3);//绿灯取反,无线发送指示//把数据通过ZigBee发送出去basicRfSendPacket(SEND_ADDR,pTxData,strlen(pTxData));Timer4_On();//打开定时}/*【传感器采集、处理】结束*/}}实训步骤程序分析:①第14、19行,条件编译
7、,用来选择光敏传感器模块功能与气体传感器模块功能。②第15、20行,get_adc()函数为读取AD转换电压值。③第17、22行,把采集数据按格式连接成字符串写入到pTxData中。④第26行,把采集数据通过ZigBee发送出去,在PC机串口调试终端显示出来。2.collect.c中的关键代码实训步骤voidmain(void){uint16len=0;halBoardInit();//模块相关资源的初始化ConfigRf_Init();//无线收发参数的配置初始化halLedSet(1);halLedSet(2);while(
8、1){if(basicRfPacketIsReady())//查询有没接收到无线信号halLedToggle(4);//红灯取反,无线接收指示//接收无线数len=basicRfReceive(pRxData,MAX_RECV_BUF_LEN,NULL);实训步
此文档下载收益归作者所有