1、实验五 副本实验五 传感器数据采集实验一、实验目的:学习使用CC2430及相应模块采集温湿度、光电、外部压力等信号,并掌握编程方法。二、实验内容:使用CC2430及相应模块采集外部温湿度、光电、外部压力等信号,并进行数模转换通过串口显示出采集的数据。三、实验设备:1、装有IAR开发及调试环境的PC,串口线。2、通用调试器母板,智能三项传感节点模块。3、CC2430/31多功能仿真器,USB线(A型转B型)。四、预备知识:仔细阅读CC2430器件手册关于ADC的说明。见CC2430手册125页五、实验原理及说明:见文档:D:奥克斯驱动光盘 OURS-WSN教学实验指导书.pdf 见奥克斯指导书7
2、2、81、90页六、实验步骤(一)模拟电压转换(1)启动IAR Embedded Workbench,打开工程forj11-1-3avdd.eww; (2)连好实验设备,打开电源,将程序下载到目标板上。改变跳线帽的设置,如图所示,在做完该实验后请务必改回到原来的设置。 注:跳线J3, J4连接为TX-2430连接TX-USB,RX-2430连接RX-USB。(3)重启传感节点模块,按下仿真器复位键,打开串口调试工具。配置好相应设置后。点击“连接(4)调节RP1-2430,可以观察到显示出的数据值在不停的变化。(二)光电信号采集(1)启动IAR Embedded Workbench,打开工程fo
3、rj11-1-3avdd.eww; (2)连好实验设备,改变跳线帽的设置。打开电源,将程序下载到目标板上。 注:跳线J3, J4连接为TX-2430连接TX-USB,RX-2430连接RX-USB。(3)打开串口调试工具。配置好相应设置后。点击“连接”。重启传感节点模块,按下仿真器复位键。(4)用一个物体挡住光照传感器的光线,可以观察到显示出的数据在不停的变化。(该实验将光的变化通过电压值显示出来,变化范围在0v-3.3v)(三)压力实验(1)启动IAR Embedded Workbench,打开工程forj11-1-3avdd.eww; (2)连好实验设备,改变跳线帽的设置。接通电源,将程序
4、下载到目标板上,如图所示。 注:跳线J3, J4连接为TX-2430连接TX-USB,RX-2430连接RX-USB。 (3)打开串口调试工具,对压力传感器施压,发现串口调试工具中的数据在不停变化。(该实验将压力的变化通过电压值显示出来,变化范围在0v-3.3v)(四)温湿度传感器实验(1)启动IAR Embedded Workbench,打开工程f2430-r.eww; (2)连好实验设备,打开电源,将程序下载到目标板上。改变跳线帽的设置,如图所示,在做完该实验后请务必改回到原来的设置。 注:跳线J3, J4连接为TX-2430连接TX-USB,RX-2430连接RX-USB。(3)重启传感
5、节点模块,按下仿真器复位键,打开串口调试工具。配置好相应设置后。点击“连接(4)改变不同的温湿度,可以观察到显示出的数 据在不停的变化。(五)修改程序(1)友好提示输出语句(2)将每采集20个数据,并进行平均之后再显示。七、实验报告撰写每小组交一份实验报告,电子版 于下课前或下一次实验前上交;附实验报告模板物联网技术导论实验报告小组成员:张建飞,陈礼万报告撰写人:张建飞实验题目:传感器数据采集实验实验目的:学习使用CC2430及相应模块采集温湿度、光电、外部压力等信号,并掌握编程方法。实验内容及步骤:修改温湿度实验后的main函数:void main() value humi_val,temp
6、_val; unsigned char error,checksum; initUART(); P1INP |= 0xC0; begin = 0; s_connectionreset(); float ta20 = 0.0; float th20 = 0.0; while(1) int i = 0; for(i = 0;i 20;i+) error=0; error+=s_measure(unsigned char*) &humi_val.i,&checksum,5); d1=d6;d2=d7; error+=s_measure(unsigned char*) &temp_val.i,&che
7、cksum,3); d3=d6;d4=d7; if(error!=0) s_connectionreset(); else humi_val.f=(float)humi_val.i; temp_val.f=(float)temp_val.i; humi_val.f=d1*256+d2; temp_val.f=d3*256+d4; calc_sth11(&humi_val.f,&temp_val.f); thi = humi_val.f; tai = temp_val.f; printf(温度是:temp = %5.1fC;湿度是:humi = %5.1f%n,temp_val.f,humi_val.f); Wait(150); if(i = 19) i = 0; int j =0; float te = 0.0; float he = 0.0; for(j = 0;j 20;j+) te += taj; he += thj; te /= 20.0; he /= 20.0; printf(20次的平均值:温度是:temp = %5.1fC;湿度是:humi = %5.1f%n,te,he); 实验完成的程序及实现的效果:电压传感器效果图:实验心得体会:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1