Thumbnail

MMA7455 Accelerometer

I2C accelerometer for EZ-B robots, supplies IMU/acceleration data over the I2C interface.

How to add the MMA7455 Accelerometer robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the I2C category tab.
  5. Press the MMA7455 Accelerometer icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the MMA7455 Accelerometer robot skill.


How to use the MMA7455 Accelerometer robot skill

The MMA7455 Accelerometer is a small sensor that measures movement and tilt. It connects to an EZ-B controller using I2C (a common “two-wire” communication method used by many sensors). Once connected, ARC can read the sensor values so your robot can detect things like:

  • Tilt (leaning left/right or forward/back)
  • Motion (changes in acceleration when the robot starts/stops or is bumped)
  • Vibration or impacts (small jolts depending on how the sensor is mounted)

What You Need

  • An EZ-B model that supports I2C
  • An MMA7455 accelerometer module
  • Jumper wires (and optionally a breadboard)
  • The Synthiam ARC software with the MMA7455 Accelerometer skill/control added to your project

Understanding I2C (Very Beginner Friendly)

I2C is a way for a controller (the EZ-B) to talk to sensors using two main signal wires:

  • SDA = data line (the information being sent)
  • SCL = clock line (keeps communication in sync)

Most I2C devices also require: VCC (power) and GND (ground). After wiring these connections, ARC can request readings from the MMA7455.


Basic Wiring (Concept)

Your MMA7455 board will typically have pins labeled similar to the following. Connect them to the EZ-B I2C pins:

Accelerometer Pin Connects To What It Does
VCC (or 3.3V/5V) EZ-B Power (match voltage requirement) Powers the sensor
GND EZ-B GND Completes the circuit (ground)
SDA EZ-B I2C SDA Data line
SCL EZ-B I2C SCL Clock line

After wiring, connect to your EZ-B in ARC, then add the MMA7455 Accelerometer skill/control to your project. The control will read the sensor over I2C and display values for the axes.


How It Works

The MMA7455 measures acceleration on up to three axes: X (left/right), Y (forward/back), and Z (up/down). When the sensor is sitting still, it still “feels” gravity, which is why you can use it to detect tilt.

As you tip or move the sensor, the values change. ARC reads these values over I2C so your robot can: trigger actions when it is tilted, detect bumps, or respond to motion in scripts.

Interested in how IMU-style sensors work in general? This article explains the concepts in a beginner-friendly way: https://www.starlino.com/imu_guide.html.


Beginner Troubleshooting

  • No readings / not changing: double-check SDA/SCL are on the correct I2C pins and GND is connected.
  • Strange values: confirm the sensor is powered with the correct voltage and the wiring is not loose.
  • Values seem “backwards”: the axis direction depends on how the board is mounted. Rotate the sensor and watch which axis changes.
  • Robot behaves jittery: add a small “deadband” (ignore tiny changes) or average a few readings in your script.

Video


ARC Pro

Upgrade to ARC Pro

Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming

#1  

@Athena Could you please provide the pin connections from the MMA7455 to the EZ-B. Thanks

Author Avatar
PRO
Canada
#2  

Certainly! To connect the MMA7455 accelerometer to the EZ-B, you'll need to make the following connections:

  1. VCC: Connect the VCC pin of the MMA7455 to one of the EZ-B's power pins (VCC). This will typically be a 3.3V or 5V output, depending on your EZ-B model and configuration.

  2. GND: Connect the GND pin of the MMA7455 to one of the EZ-B's ground pins (GND).

  3. SDA (Serial Data Line): Connect the SDA pin of the MMA7455 to one of the EZ-B's I2C data pins. The EZ-B v4, for example, has dedicated SDA and SCL pins for I2C communication.

  4. SCL (Serial Clock Line): Connect the SCL pin of the MMA7455 to one of the EZ-B's I2C clock pins.

  5. INT (Interrupt): The INT pin is optional and is used if you want the accelerometer to signal the EZ-B when certain events occur, such as motion detection or threshold crossing. If you choose to use the interrupt feature, connect the INT pin to one of the EZ-B's digital input pins.

Here's a general guide for the connections:

MMA7455 Pin -> EZ-B Pin
VCC         -> VCC (3.3V or 5V, check your sensor specifications)
GND         -> GND
SDA         -> SDA (I2C Data)
SCL         -> SCL (I2C Clock)
INT         -> Digital Input (optional for interrupts)

After making the physical connections, you'll need to configure the MMA7455 in ARC using an I2C interface skill. You'll need to know the I2C address of the MMA7455, which you can find in the sensor's datasheet. Once you have the I2C interface skill added to your ARC project, you can use it to communicate with the MMA7455 and read acceleration data.

Remember to ensure that the power levels are compatible between the EZ-B and the MMA7455, and always consult the datasheet of your specific MMA7455 module for any specific wiring instructions or voltage requirements.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#3  

@Athena continuing on same conversation could you please provide the pin names of each pin for the I2C connector on the EZ-B with picture so I can connect proper pins together.

Author Avatar
PRO
Canada
#4  

The EZ-B v4 controller has a dedicated I2C port that is clearly labeled on the board. The I2C port includes four pins, which are typically labeled as follows:

  1. SDA (Serial Data Line)
  2. SCL (Serial Clock Line)
  3. VCC (Power)
  4. GND (Ground)

Here is a description of each pin:

  • SDA (Serial Data Line): This is the data line for I2C communication.
  • SCL (Serial Clock Line): This is the clock line for I2C communication.
  • VCC (Power): This supplies power to the I2C device. Depending on your EZ-B v4, this will either be 3.3V or 5V. You must ensure that the voltage matches the requirements of the MMA7455 accelerometer.
  • GND (Ground): This is the common ground for both the EZ-B and the I2C device.

Unfortunately, I cannot provide a picture directly in this conversation. However, you can easily find the I2C port on the EZ-B v4 board as it is clearly marked. Look for a 4-pin connector labeled with 'I2C' on the board itself. The pin labels (SDA, SCL, VCC, GND) are typically next to the pins on the board or in the documentation/manual that came with the EZ-B v4.

For visual reference and to ensure you are connecting the pins correctly, please refer to the EZ-B v4 datasheet or the user manual, which will have diagrams of the board. You can find this information on the Synthiam website or directly through this link to the EZ-B v4 datasheet: https://synthiam.com/Support/Hardware/EZ-B-v4

Remember to power off the EZ-B v4 before making any connections to avoid damage to the board or the accelerometer. Once you have made the connections, you can power on the EZ-B and use the ARC software to interact with the MMA7455 accelerometer through the I2C interface.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.