arduino教程系列41-Arduino Uno + MMA7361三轴加速度传感器演示实验

1、简介:

三轴加速度传感器是一种可以对物体运动过程中的加速度进行测量的电子设备,典型互动应用中的加速度传感器可以用来对物体的姿态或者运动方向进行检测,比如WII游戏机和iPhone手机中的经典应用。

Arduino三轴加速度传感器采用Freescale(飞思卡尔)公司生产的高性价比微型电容式三轴加速度传感器MMA7361芯片,对于普通的互动应用来讲应该是种不错的选择,可以应用到摩托车和汽车放倒报警、遥控航模、游戏手柄、人形机器人跌倒检测、硬盘冲击保护、倾斜度测量等场合。

MMA7361采用信号调理、单极低通滤波器和温度补偿技术,提供±1.5g/6g两个量程,用户可在这2个灵敏度中选择。该器件带有低通滤波并已做0g补偿,提供休眠模式,因而是电池供电的无线数据采集的理想之选。

具有电源指示灯,方便观察工作情况;±1.5g /6g两个量程可通过开关任意切换;预留排针焊接孔,客户可自行焊接排针,可通过多彩跳线连接插到Mini面包板上进行实验。

3个PH2.0插座配合模拟传感器连接线,可轻松连接到Aduino传感器扩展板上,可制作倾角、运动、姿态相关的互动作品



2、规格:

供电电压:3.3~8V

数据接口:模拟电压输出 兼容Arduino

可选灵敏度,±1.5g/6g,通过开关选择

低功耗,工作时电流为400μA,休眠模式下为3μA

高灵敏度,在1.5g量程下为800mV/g

低通滤波器具有内部信号调理功能

设计稳定,防震能力强

模块尺寸:25x27mm



3、引脚定义俯视图

搜索.jpg

2012-6-7 14:50 上传
(16.96 KB)


引脚定义.jpg

2012-6-7 14:50 上传
(102.96 KB)



此模块和MMA7360相比,在性能和性价比上完全是可以取代的,现在的应用领域也是摒弃了MMA7660而选择了MMA7361的这个模块。4、MMA7361典型的外围连接电路图

一般接法电路.jpg

2012-6-7 14:50 上传
(24.98 KB)



5、在1G时MMA7361模块放置的各种位置的三轴输出数字图

看输出的形象图.jpg

2012-6-7 14:50 上传
(92.13 KB)



8、了解一下次实验时所用到的模块:

所用的模块.jpg

2012-6-7 14:50 上传
(20.29 KB)



9、Arduino 与 MMA7361硬件连接情况

250px-Mma7361_pin.jpg

2012-6-7 14:50 上传
(12.43 KB)


500px-Mma7361_2.jpg

2012-6-7 14:50 上传
(21.57 KB)



10、硬件连接完成以后我们开始编译代码进行测试了。这些烧写步骤相信入门的爱好者都会的了。我们提供的代码只供您测试使用,需其他的功能请自行编写!

代码一:

#include <AcceleroMMA7361.h>
AcceleroMMA7361 accelero;
int x;
int y;
int z;
void setup()
{
 Serial.begin(9600);
 accelero.begin(13, 12, 11, 10, A0, A1, A2);
 accelero.setARefVoltage(3.3); //sets the AREF voltage to 3.3V
 accelero.setSensitivity(LOW); //sets the sensitivity to +/-6G
 accelero.calibrate();
}
void loop()
{
 x = accelero.getXRaw();
 y = accelero.getYRaw();
 z = accelero.getZRaw();
 Serial.print("\nx: ");
 Serial.print(x);
 Serial.print("\ty: ");
 Serial.print(y);
 Serial.print("\tz: ");
 Serial.print(z);
 delay(500); //(make it readable)
}

代码二:

void setup() 
{ 
  Serial.begin(19200); // 19200 bps
}
void loop() 
{
  int x,y,z;
  x=analogRead(0);
  y=analogRead(1);
  z=analogRead(2);
  Serial.print("x= ");
  Serial.print(x ,DEC);
  Serial.print(',');
  Serial.print("y= ");
  Serial.print(y ,DEC);
  Serial.print(',');
  Serial.print("z= ");
  Serial.println(z ,DEC);
  delay(100);
}

结果是这样子的(示例结果仅供参考,谢谢)!

MMA7361结果.jpg

2012-6-7 14:50 上传
(38.53 KB)





下面介绍一下电容式传感器工作原理:

  电容式传感器也常常被人们称为电容式物位计,电容式物位计的电容检测元件是根据圆筒形电容器原理进行工作的,电容器由两个绝缘的同轴圆柱极板内电极和外电极组成,在两筒之间充以介电常数为e的电解质时,两圆筒间的电容量为C=2∏eL/lnD/d,式中L为两筒相互重合部分的长度;D为外筒电极的直径;d为内筒电极的直径;e为中间介质的电介常数。在实际测量中D、d、e是基本不变的,故测得C即可知道液位的高低,这也是电容式传感器具有使用方便,结构简单和灵敏度高,价格便宜等特点的原因之一。



网盘下载http://pan.baidu.com/s/1dExdYV3
库文件: MMA7361 library.zip (7.65 KB)

via - 极客工坊

标签: Arduino教程