在机器人的广泛应用中,为了获取各种参数和数据,确定各机器人基站的相对位置是极为重要的。为了安全和节省成本,对传感器网络采用了时延差定位算法和频分复用传输模式,即可获得传感器网络节点的相对位置。定位系统的搭建包括发射和接收两部分,并采用了水声换能器进行电-声转换和声-电转换。通过测试,该定位系统利用测试发射和接收信号之间的时间间隔,得到水下机器人传感器网络的相对位置,且满足一定的定位精度。
上传时间: 2013-10-20
上传用户:hebanlian
为了满足远程防盗报警的需要,提出了一种基于电话网络的多路无线防盗报警系统,并完成系统的软硬件设计。该系统由多路探测器和主机构成,探测器采用热释电红外传感器探测入侵者,并以无线方式发送报警位置编码给主机。主机接收解码探测器信号,并通过电话网络自动拨打报警电话。主机提供人机接口,可设置报警电话号码和录制报警语音,并提供撤防和布防控制。实际应用表明,系统工作稳定,达到设计要求。
上传时间: 2013-12-21
上传用户:mikesering
首先介绍了无线传感器网络的基本拓扑结构与传感器节点的结构,详细说明了基于ZigBee协议栈的无线传感网络的建立过程,包括协调器启动及建立网络、传感器节点启动及加入网络、传感器节点与协调器之间建立绑定以及传感器节点向协调器发送数据的过程。设计了基于ZigBee协议栈的无线传感网络系统。以采集温度信息为例,协调器能够接收到传感器节点发来的数据,并能通过RS232串口,将收到的数据发送给PC机进行显示。实验显示在距离80 m远处,系统仍能保持良好的通信质量。
上传时间: 2013-10-30
上传用户:truth12
针对能量受限的无线传感器网络,该文综合考虑了协作节点数量和调制方式对系统能量有效性的影响,提出一种能量最优的综合优化方法。文中首先给出了在Rayleigh 衰落信道环境下,协作通信系统采用二相相移键控(BPSK)和M 进制正交幅度调制(MQAM)时误码率的闭式表达,同时对协作通信的系统能耗进行了分析。在此基础上,根据能耗最小化原则对协作节点数量和调制方式进行了联合优化。仿真结果表明,与调制方式固定或协作节点数固定的系统相比,该方案能进一步降低协作通信的系统能耗。
上传时间: 2013-11-21
上传用户:angle
四旋翼直升机具有4个呈交叉结构排列的螺旋桨,其独特的构型能够满足复杂环境中的任务需求。文中设计了一种四旋翼直升机飞行控制系统软硬件方案,通过传感器实时采集四旋翼的姿态、高度、位置等信息,采用PID算法设计飞行控制律,以ARM Cortex-M3内核高性能单片机作为主控制器。最后采用CVI开发的地面站软件实现在线数据采集与调参,并通过实际飞行验证了本方案的可行性与稳定性。
上传时间: 2013-11-04
上传用户:cherrytree6
针对传感器网络下多目标跟踪时目标数量不断变化这一复杂情况,文中对多目标的跟踪和特征管理方法进行了研究。该方法由数据关联、多目标跟踪、特征管理,和信息融合所组成。其中未知数量多目标的跟踪和数据关联通过马尔科夫蒙特卡罗数据关联实现。通过信息融合来整合本地信息,获取所有相邻传感器的本地一致性,最终实现特征管理。试验证明,本方法能够在分布式的传感器网络环境下对多目标进行准确有效地跟踪和特征管理。
上传时间: 2013-11-18
上传用户:wangdean1101
1-3 用测量范围为-50~150kPa 的压力传感器测量140kPa 的压力时,传感器测得 示值为142kPa,求该示值的绝对误差、实际相对误差、标称相对误差和引用误差。 解: 已知: 真值L=140kPa 测量值x=142kPa 测量上限=150kPa 测量下限=-50kPa ∴ 绝对误差Δ=x-L=142-140=2(kPa) 实际相对误差= = 1.43% 140 2 ≈ Δ L δ 标称相对误差= = 1.41% 142 2 ≈ Δ x δ 引用误差% -- = 测量上限-测量下限 = 1 150 ( 50) 2 ≈ Δ γ
上传时间: 2013-10-14
上传用户:nanfeicui
DS18B20温度传感器输出显示
上传时间: 2013-10-19
上传用户:moerwang
温湿度传感器 sht11 仿真程序 sbit out =P3^0; //加热口 //sbit input =P1^1;//检测口 //sbit speek =P2^0;//报警 sbit clo =P3^7;//时钟 sbit ST =P3^5;//开始 sbit EOC =P3^6;//成功信号 sbit gwei =P3^4;//个位 sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//报警音 sbit bjled =P0^1;//报警灯 sbit zcled =P0^2;//正常LED int count; uchar xianzhi;//取转换结果 uchar seth;//高时间 uchar setl;//低时间 uchar seth_mi;//高时间 uchar setl_mi;//低时间 bit hlbz;//高低标志 bit clbz; bit spbz; ///定时中断程序/// void t0 (void) interrupt 1 using 0 { TH0=(65536-200)/256;//5ms*200=1000ms=1s TL0=(65536-200)%256; clo=!clo;//产生时钟 if(count>5000) { if(hlbz) { if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;} else seth_mi--; } if(!hlbz) { if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;} else setl_mi--; } count=0; } else count++; } ///////////// ///////延时/////// delay(int i) { while(--i); } ///////显示处理/////// xianshi() { int abcd=0; int i; for (i=0;i<5;i++) { abcd=xianzhi; gwei=1; swei=1; bwei=1; qwei=1; P1=dispcode[abcd/1000]; qwei=0; delay(70); qwei=1; abcd=abcd%1000; P1=dispcode[abcd/100]; bwei=0; delay(70); bwei=1; abcd=abcd%100; P1=dispcode[abcd/10]; swei=0; delay(70); swei=1; abcd=abcd%10; P1=dispcode[abcd]; gwei=0; delay(70); gwei=1; } } doing() { if(xianzhi>100) {bjled=0;speak=1;zcled=1;} else {bjled=1;speak=0;zcled=0;} } void main(void) { seth=60;//h60秒 setl=90;//l90秒 seth_mi=60;//h60秒 setl_mi=90;//l90秒 TMOD=0X01;//定时0 16位工作模式 TH0=(65536-200)/256; TL0=(65536-200)%256; TR0=1; //开始计时 ET0=1; //开定时0中断 EA=1; //开全中断 while(1) { ST=0; _nop_(); ST=1; _nop_(); ST=0; // EOC=0; xianshi(); while(!EOC) { xianshi(); } xianzhi=P2; xianshi(); doing(); } }
上传时间: 2013-11-07
上传用户:我们的船长
用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片HMC5883 三轴磁阻传感器特点(抄自网上): 1,数字量输出:I2C 数字量输出接口,设计使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产使用。 3,精度高:1-2 度,内置12 位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。 4,支持自动校准程序,简化使用步骤,终端产品使用非常方便。 5,内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。 6,功耗低:供电电压1.8V, 功耗睡眠模式-2.5uA 测量模式-0.6mA 连接方法: 只要连接VCC,GND,SDA,SDL 四条线。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接线是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上传时间: 2013-12-16
上传用户:stella2015