用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片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
超声波传感器适用于对大幅的平面进行静止测距。普通的超声波传感器测距范围大概是 2cm~450cm,分辨率3mm(淘宝卖家说的,笔者测试环境没那么好,个人实测比较稳定的 距离10cm~2m 左右,超过此距离就经常有偶然不准确的情况发生了,当然不排除笔者技术 问题。) 测试对象是淘宝上面最便宜的SRF-04 超声波传感器,有四个脚:5v 电源脚(Vcc),触发控制端(Trig),接收端(Echo),地端(GND) 附:SRF 系列超声波传感器参数比较 模块工作原理: 采用IO 触发测距,给至少10us 的高电平信号; 模块自动发送8个40KHz 的方波,自动检测是否有信号返回; 有信号返回,通过IO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340m/s))/2; 电路连接方法 Arduino 程序例子: constintTrigPin = 2; constintEchoPin = 3; floatcm; voidsetup() { Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); } voidloop() { digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(10); digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm cm = (int(cm * 100.0)) / 100.0; //保留两位小数 Serial.print(cm); Serial.print("cm"); Serial.println(); delay(1000); }
上传时间: 2013-10-18
上传用户:星仔
Proteus是Labcenter公司出品的电路分析、实物仿真系统,而Keil是目前世界上最好的51单片机汇编和C语言的集成开发环境。它支持汇编与C的混合编程,同时具备强大的软件仿真和硬件仿真。Proteus能够很方便的和与Keil、Maplab IDE等编译器模拟软件结合。本文我们将介绍如何将这两个软件快速集成起来。
上传时间: 2013-11-20
上传用户:fdmpy
上传一分自己用得顺心的AD10集成库
上传时间: 2013-12-11
上传用户:hullow
ORCAD基本问题的集成束
上传时间: 2013-11-15
上传用户:colinal
各种集成芯片的封装尺寸,学习PCB的必备材料
上传时间: 2013-11-18
上传用户:kristycreasy
Arduino,是一块基于开放源代码的USB接口Simple i/o接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境。 让您可以快速使用Arduino语言与Flash或Processing…等软件,作出互动作品。 Arduino可以使用开发完成的电子元件例如Switch或sensors或其他控制器、LED、步进马达或其他输出装置。Arduino也可以独立运作成为一个可以跟软件沟通的接口,例如说:flash、processing、Max/MSP、VVVV 或其他互动软件…。Arduino开发IDE接口基于开放源代码原,可以让您免费下载使用开发出更多令人惊艳的互动作品。 特色: 1、开放源代码的电路图设计,程序开发接口免费下载,也可依需求自己修改。 2、使用低价格的微处理控制器(ATMEGA8或ATmega128)。可以采用USB接口供电,不需外接电源。也可以使用外部9VDC输入 3、Arduino支持ISP在线烧,可以将新的“bootloader”固件烧入ATmega8或ATmega128芯片。有了bootloader之后,可以通过串口或者USB to Rs232线更新固件。 4、可依据官方提供的Eagle格式PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制。可简单地与传感器,各式各样的电子元件连接(EX:红外线,超音波,热敏电阻,光敏电阻,伺服马达,…等) 5、支持多种互动程序,如:Flash、Max/Msp、VVVV、PD、C、Processing……等 6、应用方面,利用Arduino,突破以往只能使用鼠标,键盘,CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。
标签: Arduino
上传时间: 2013-10-17
上传用户:cuiyashuo
集成元件库的创建
上传时间: 2013-11-23
上传用户:gxm2052
altium_designer_集成库制作
标签: altium_designer 集成库
上传时间: 2015-01-02
上传用户:plsee
针对固定码长Turbo码适应性差的缺点,以LTE为应用背景,提出了一种帧长可配置的Turbo编译码器的FPGA实现方案。该设计可以依据具体的信道环境和速率要求调节信息帧长,平衡译码性能和系统时延。方案采用“自顶向下”的设计思想和“自底而上”的实现方法,对 Turbo编译码系统模块化设计后优化统一,经时序仿真验证后下载配置到Altera公司Stratix III系列的EP3SL150F1152C2N中。测试结果表明,系统运行稳健可靠,并具有良好的移植性;集成化一体设计,为LTE标准下Turbo码 ASIC的开发提供了参考。
上传时间: 2013-10-08
上传用户:回电话#