2009-07-11 02:34:59 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
ADXL3xx
|
|
|
|
|
|
|
|
Reads an Analog Devices ADXL3xx accelerometer and communicates the
|
|
|
|
acceleration to the computer. The pins used are designed to be easily
|
|
|
|
compatible with the breakout boards from Sparkfun, available from:
|
|
|
|
http://www.sparkfun.com/commerce/categories.php?c=80
|
|
|
|
|
|
|
|
http://www.arduino.cc/en/Tutorial/ADXL3xx
|
|
|
|
|
|
|
|
The circuit:
|
|
|
|
analog 0: accelerometer self test
|
|
|
|
analog 1: z-axis
|
|
|
|
analog 2: y-axis
|
|
|
|
analog 3: x-axis
|
|
|
|
analog 4: ground
|
|
|
|
analog 5: vcc
|
|
|
|
|
|
|
|
created 2 Jul 2008
|
|
|
|
by David A. Mellis
|
2010-09-04 21:47:59 +02:00
|
|
|
modified 4 Sep 2010
|
2009-07-11 02:34:59 +02:00
|
|
|
by Tom Igoe
|
2010-02-24 04:26:59 +01:00
|
|
|
|
|
|
|
This example code is in the public domain.
|
2009-07-11 02:34:59 +02:00
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
// these constants describe the pins. They won't change:
|
2009-09-24 00:21:15 +02:00
|
|
|
const int groundpin = 18; // analog input pin 4 -- ground
|
|
|
|
const int powerpin = 19; // analog input pin 5 -- voltage
|
2010-09-04 21:47:59 +02:00
|
|
|
const int xpin = A3; // x-axis of the accelerometer
|
|
|
|
const int ypin = A2; // y-axis
|
|
|
|
const int zpin = A1; // z-axis (only on 3-axis models)
|
2009-07-11 02:34:59 +02:00
|
|
|
|
|
|
|
void setup()
|
|
|
|
{
|
|
|
|
// initialize the serial communications:
|
|
|
|
Serial.begin(9600);
|
|
|
|
|
|
|
|
// Provide ground and power by using the analog inputs as normal
|
|
|
|
// digital pins. This makes it possible to directly connect the
|
|
|
|
// breakout board to the Arduino. If you use the normal 5V and
|
|
|
|
// GND pins on the Arduino, you can remove these lines.
|
|
|
|
pinMode(groundpin, OUTPUT);
|
|
|
|
pinMode(powerpin, OUTPUT);
|
|
|
|
digitalWrite(groundpin, LOW);
|
|
|
|
digitalWrite(powerpin, HIGH);
|
|
|
|
}
|
|
|
|
|
|
|
|
void loop()
|
|
|
|
{
|
|
|
|
// print the sensor values:
|
|
|
|
Serial.print(analogRead(xpin));
|
|
|
|
// print a tab between values:
|
|
|
|
Serial.print("\t");
|
|
|
|
Serial.print(analogRead(ypin));
|
|
|
|
// print a tab between values:
|
|
|
|
Serial.print("\t");
|
|
|
|
Serial.print(analogRead(zpin));
|
|
|
|
Serial.println();
|
|
|
|
// delay before next reading:
|
|
|
|
delay(100);
|
|
|
|
}
|