null

ADXL335 Accelerometer Arduino Connection Programming

The EVE-ADXL335 is a simple breakout board that allows quick evaluation of the performance of the ADXL335 accelerometer. The ADXL335 is a 3-axis analog-output accelerometer with +-3 g measurement range. The small size 21x16 mm of the breakout board makes it easy to mount the accelerometer to an existing system without the need for additional hardware and with minimal effect on performance of the system and of the accelerometer.

The board measures acceleration with a minimum full-scale range of +-3 g. It can measure the static acceleration of gravity in tilt sensing applications, as well as dynamic acceleration resulting from motion, shock, or vibration.

Key Features

  • 3-axis sensing

  • 10,000 g shock survival

  • Low power - 350 uA (typical)

  • 5V power supply

  • 21x16 mm dimensions

Components Required

1 x ADXL335 5V Triple-axis Accelerometer Breakout

1 x Arduino UNO R3 Clone

5 x 1 Pin Jumper Wire (Male) - Pack of 10

1 x Breadboard - 830 Holes 54mm x 166mm

How MEMS  Works

MEMS (micro-electromechanical system) - A MEMS (micro-electromechanical system) is a miniature machine that has both mechanical and electronic components. The sensor consists of a micro-machined structure on a silicon wafer. The structure is suspended by polysilicon springs which allow it to deflect when subject to acceleration in the X, Y and/or Z axis. Deflection causes a change in capacitance between fixed plates and plates attached to the suspended structure. This change in capacitance on each axis is converted to an output voltage proportional to the acceleration on that axis.

Ratiometric output for the ADXL335, that is approximately 0v at -3G to 3.3v at +3G.

 

EVE-ADXL335 Board

 

Arduino Wiring Connection

  • Connect the GND pin to GND on the Arduino.

  • Connect the VIN pin to the 5v pin on the Arduino.

  • (For 3.3v microprocessors, connect the pin marked 3Vo to the 3.3v supply)

  • Connect X, Y and Z to the analog pins as shown below

Arduino Code for Testing

constint xaxis = A1; // x-axis of the accelerometer
constint yaxis = A2; // y-axis
constint zaxix = A3; // z-axis

voidsetup()
{
Serial.begin(9600);
}

voidloop()
{
int x = analogRead(xaxis); //read data from x-axis
delay(1); //
int y = analogRead(yaxis); //read data from y-axis
delay(1);
int z = analogRead(zaxix); //read data from z-axis

float zero_G = 512.0; //ADC is 0~1023 the zero g output equal to Vs/2
float scale = 102.3; //ADXL335 Sensitivity is 330mv/g
//330 * 1024/3.3/1000
Serial.print(((float)x - 331.5)/65*9.8); //print x value on serial monitor
Serial.print("\t");
Serial.print(((float)y - 329.5)/68.5*9.8); //print y value on serial monitor
Serial.print("\t");
Serial.print(((float)z - 340)/68*9.8); //print z value on serial monitor
Serial.print("\n");
delay(1000); //wait for 1 second
}

Output

 Graph Plotter