EsploraAccelerometer

Read orientation values from the accelerometer on the Esplora.

Esplora Accelerometer

This sketch shows you how to read the values from the accelerometer. To see it in action, open the Arduino serial monitor on your computer and tilt the board. You'll see the accelerometer values for each axis change as you tilt the board.

Hardware Required

  • Arduino Esplora

Circuit

Only your Arduino Esplora is needed for this example. Connect the Esplora to your computer with a USB cable and open the Arduino's Serial Monitor.

Accelerometer to send data to your computer from the Esplora
Accelerometer to send data to your computer from the Esplora

Code

To send data to your computer, you need to open a serial connection. use Serial.begin() to open a serial port at 9600 baud on the Esplora.

The Esplora.readAccelerometer() function gets the values from the accelerometer. It needs an argument telling it what axis you're reading from: X_AXIS, Y_AXIS, or Z_AXIS. Each axis will give you a value between 0 and 1023.

To send the values to the Serial Monitor, you call Serial.print(). When the Esplora is connected, and the Serial Monitor is open, you should start to see values reported like this twice a second :

1x: 6 y: -128 z: 27
2x: 2 y: -138 z: 19
3x: 9 y: -137 z: 20
1/*
2
3 Esplora Accelerometer
4
5 This sketch shows you how to read the values from the accelerometer.
6
7 To see it in action, open the serial monitor and tilt the board. You'll see
8
9 the accelerometer values for each axis change when you tilt the board
10
11 on that axis.
12
13 Created on 22 Dec 2012
14
15 by Tom Igoe
16
17 This example is in the public domain.
18
19 */
20
21#include <Esplora.h>
22
23void setup() {
24
25 Serial.begin(9600); // initialize serial communications with your computer
26}
27
28void loop() {
29
30 int xAxis = Esplora.readAccelerometer(X_AXIS); // read the X axis
31
32 int yAxis = Esplora.readAccelerometer(Y_AXIS); // read the Y axis
33
34 int zAxis = Esplora.readAccelerometer(Z_AXIS); // read the Z axis
35
36 Serial.print("x: "); // print the label for X
37
38 Serial.print(xAxis); // print the value for the X axis
39
40 Serial.print("\ty: "); // print a tab character, then the label for Y
41
42 Serial.print(yAxis); // print the value for the Y axis
43
44 Serial.print("\tz: "); // print a tab character, then the label for Z
45
46 Serial.println(zAxis); // print the value for the Z axis
47
48 delay(500); // wait half a second (500 milliseconds)
49}

Contribute to Arduino

Join the community and suggest improvements to this article via GitHub. Make sure to read out contribution policy before making your pull request.

Missing something?

Check out our store and get what you need to follow this tutorial.

Suggest Changes

The content on docs.arduino.cc is facilitated through a public GitHub repository. You can read more on how to contribute in the contribution policy.