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