Grove - 3-Axis Digital Accelerometer(±1.5g)
Contents |
Introduction
This 3-Asix Digital Accelerometer(±1.5g) is based on Freescale's low power consumption module, MMA7660FC. It features up to 10,000g high shock surviability and configurable Samples per Second rate. For generous applications that don't require too large measurement range, this is a great choice because it's durable, energy saving and cost-efficient.
Model:SEN21853P
Features
- Energy saving power management
- Easy to use I2C interface
- Complete 3-axis sensing
- high shocks survivability 10,000 g
- RoHS/WEEE lead-free compliant
- Excellent temperature stability
Application Ideas
- Orientation detection
- Gesture detection
- Motion detection for games
Specifications
| Item | Min | Typical | Max | Unit |
|---|---|---|---|---|
| Working voltage | 3.0 | 5.0 | 5.5 | V |
| Off Mode Current | 0.4 | μA | ||
| Standby Mode Current | 2 | μA | ||
| Active Mode Current | 47 μA at 1 ODR | μA | ||
| Test Range | ±1.5 | g | ||
| Sensitivity | 21 | LSB/g | ||
Pin definition and Rating
| Pad Type | Pin Status | Description |
|---|---|---|
| GND | Input | Ground port |
| INT | Output | Interrupt/Data Ready |
| SDA | Input and Output | I2C Serial Data |
| SCL | Input | I2C Serial Clock |
| VCC | Input | Designed for 5V(+)supply using IC MIC5205_3.3 for Bluetooth module power supply |
Usage
Here we are going to show you how to get raw data and data measured by "g" from this sensor.
1. Connect this module to the I2C port of Grove - Base Shield via a Grove cable.
- Note:If you want to activate the Interrupt function of this module, you need to connect the INT soldering pad we broke out on the board with a pin of Arduino that's capable of Interrupt Service Routine.
![]()
2. Download the library file: DigitalAccelerometer_MMA7660FC Library; And unzip it into the libraries file of Arduino IDE by the path: ..\arduino-1.0.1\libraries.
3. Open the code directly by the path:File -> Example ->DigitalAccelerometer_MMA7660FC ->MMA7660FC_Demo.
/*****************************************************************************/
// Function: Get the accelemeter of the x/y/z axis.
// Hardware: Grove - 3-Axis Digital Accelerometer(±1.5g)
// Arduino IDE: Arduino-1.0
// Author: FrankieChu
// Date: Jan 10,2013
// Version: v1.0
// by [http://www.seeedstudio.com/ www.seeedstudio.com]
/*******************************************************************************/
#include <Wire.h>
#include "MMA7660.h"
MMA7660 accelemeter;
void setup()
{
accelemeter.init();
Serial.begin(9600);
}
void loop()
{
int8_t x;
int8_t y;
int8_t z;
float ax,ay,az;
accelemeter.getXYZ(&x,&y,&z);
Serial.print("x = ");
Serial.println(x);
Serial.print("y = ");
Serial.println(y);
Serial.print("z = ");
Serial.println(z);
accelemeter.getAcclemeter(&ax,&ay,&az);
Serial.print("ax = ");
Serial.println(ax);
Serial.print("ay = ");
Serial.println(ay);
Serial.print("az = ");
Serial.println(az);
Serial.println("*************");
delay(500);
}
In this program, acceleration infomation are sent from the sensor to Seeeduino via I2C bus and then Seeeduino printed them onto the serial monitor.
3. Upload the code. Please click here if you do not know how to upload.
4. Open the serial monitor to check the result.
The outputs of this sensor consist of two parts: raw data and 3-axis acceleration info converted into the unit of gravity, "g".
Reference
Below are two figures helping you understand the physical meaning of the result.
The first figure is about the direction of each axis:
The second figure gives some examples:
Resources
Datasheet of MMA7660FC.
Grove - 3-Axis Digital Accelerometer Eagle File
DigitalAccelerometer_MMA7660FC Library
Support
If you have questions or other better design ideas, you can go to our forum or wish to discuss.

