_SKU_DFR0143_MMA7361三轴加速度传感器 - jimaobian/DFRobotWikiCn GitHub Wiki

MMA7361三轴加速度传感器(Arduino兼容)(SKU: DFR0143)

概述

MMA7361三轴加速度传感器是替代停产的MMA7260三轴加速度传感器,三轴加速度传感器是一种可以对物体运动过程中的加速度进行测量的电子设备,典型互动应用中的加速度传感器可以用来对物体的姿态或者运动方向进行检测,比如WII游戏机和iPhone手机中的经典应用。 MMA7361三轴加速度传感器芯片,对于普通的互动应用来讲应该是种不错的选择,可以应用到摩托车和汽车放倒报警、遥控航模、游戏手柄、人形机器人跌倒检测、硬盘冲击保护、倾斜度测量等场合。 MMA7361和MMA7260一样采用信号调理、单极低通滤波器和温度补偿技术,单只提供±1.5g /6g两个量程,用户可通过开关选择这2个灵敏度。该器件带有低通滤波并已做0g补偿,提供休眠模式,因而是电池供电的无线数据采集的理想之选。

性能描述

  1. 供电电压:3.3-8V
  2. 可选灵敏度,±1.5g/6g;通过拨码开关选择。
  3. 低功耗,工作时电流为400μA,休眠模式下为3μA;
  4. 高灵敏度,在1.5g量程下为800 mV/g;
  5. 低通滤波器具有内部信号调理功能;
  6. 设计稳定,防震能力强。
  7. 模块尺寸:23X26mm

用户指南

这里是一个教程说明如何使用它。我们已经为你提供了可供选择的示例程序用来处理这三轴加速度计陀螺仪。我们可以测量装置和重力方向的三轴之间的角度。平面的位置是在三维空间中唯一地描述。 另外,我们提供了一些常用的三轴加速度传感器数据处理的方法:How to Use a Three-Axis Accelerometer for Tilt Sensing.

模拟输出程度

g-选择 g-范围 灵敏度
0 1.5g 800mV/g
1 6g 206mV/g

根据以上操作你可以按照自身的需求来设置重量监测的范围,和灵敏度。

  1. 模拟值读取(x)-->(2)vol_x(v) 我们设置MMA的工作电压5v,通过在1024的串口监测下显示出来,所以我们应该将模拟电压。vol_x=analog_x*5/1024. connection diagram for Romeo connection diagram for Romeo 2. vol_x-->add_x(v) 当轴是水平的,它是1.65v.so我们需要减去这个量得到增加add_x=vol_x-1.65重量。
  2. add_x-->g_x 我们选择 g-range 1.5g for MMA.G-范围表,its is 800mv/g.So we just need to make a division.g_x=add_x/0.8.
  3. g_x-->degree 这是轴的重量是一G时的影响。就是说,每个轴的数量(G)是1G的一个重要组成部分。所以我们可以用反三角函数求解它。 Degree_x=asin(g_x) *180.0/PI.

注意事项:不是每一个轴在水平位置都能精确的显示为1.65,所以我们需要对它进行补偿调整,但是这也是有一个范围的。

引脚定义

MMA7361_5.jpg

MMA7361三轴加速度传感器的测试

最简单的调试方法是把MMA7361三轴加速度传感器的输出端连接到Arduino的模拟输入端上。程序的编写也比较简单。由于传感器输出与重力方向成Sin关系,用Arcsin求角度,所以为你提供了参考代码,你只需要按照上述提示将硬件连好,再将为你提供的示例代码下载到主控板里,通过串口监视器你就可以观察三轴角度的变化了。

MMA7361_7.jpg

Arduino测试代码

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);
}

Micropython测试代码

from machine import ADC,Pin
import time

x_adc=ADC(Pin(36))
y_adc=ADC(Pin(39))
z_adc=ADC(Pin(34))

while True:
  print("x=",x_adc.read())
  print("y=",y_adc.read())
  print("z=",z_adc.read())
  time.sleep_ms(50)

Mind+(基于Scratch3.0)图形化编程

1、下载及安装软件。下载地址:http://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装 2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程 3、“扩展”中选择“主控板”中的“Arduino Uno”,“传感器”中加载“三轴加速度传感器”。 详细教程:Mind+基础wiki教程-加载扩展库流程 4、进行编程,程序如下图: 5、菜单“连接设备”,“上传到设备” 6、程序上传完毕后,打开串口即可看到数据输出。详细教程:Mind+基础wiki教程-串口打印

结果

打开串口监视器,将波特率调整到9600,晃动三轴加速度传感器,在串口中可以查看对应的XYZ值。

File:nextredirectltr.png购买 MMA7361三轴加速度传感器(Arduino兼容)(SKU: DFR0143)