TinkerKit 2/3 Axis Accelerometer

SKU
T000020
In stock
$18.95
Reward Points Earning 2points for this item
Applies only to registered customers, may vary when logged in.
-
+
Overview
An accelerometer is a device that measures acceleration.

An accelerometer is a device that measures acceleration. It is very common in consumer electronics such as portable electronic devices and video game controllers to detect movement using accelerometers.

Output: This module outputs 0V to 5V on one of its two signal pins when its G-force is changed (e.g. is moved). The value is approximately 2.5V when there is 0G on the X or Y axis. When you connect this module to the input on an Arduino using the TinkerKit Shield, you can expect to read values between 0 to 1023 while moving the module.

Module description: On the back of the module you can find two signal amplifier and a green LED that signals that the module is correctly powered. The module is based on the LIS344AL by ST Microelectronics, and is a three-axis acceremoter. You can get data about the third axis (referred to as Z) by soldering a header to the thru-hole labeled "Z".

This module is a SENSOR. The connector is an OUTPUT which must be connected to one of the INPUT connectors on the TinkerKit Shield.


Code Example


/*
ᅠDouble Analog input, Double analog output, serial output

ᅠReads from two analog input pins, a T000020 Accelerometer Module connected to I0 and I1, maps the result to a range from 0 to 255
ᅠand uses the result to set the pulsewidth modulation (PWM) on two T010111 LED Modules connected on O0 and O1.
ᅠAlso prints the results to the serial monitor.

ᅠcreated 29 Dec. 2008
ᅠModified 4 Sep 2010
ᅠby Tom Igoe
ᅠmodified 7 dec 2010
ᅠby Davide Gomba

ᅠThis example code is in the public domain.

ᅠ*/


#define O0 11
#define O1 10
#define O2 9
#define O3 6
#define O4 5
#define O5 3
#define I0 A0
#define I1 A1
#define I2 A2
#define I3 A3
#define I4 A4
#define I5 A5

// These constants won't change. ᅠThey're used to give names
// to the pins used:
const int analogInPin1 = I0;// Analog input pin that the Accelerometer's first pin is attached to
const int analogInPin2 = I1;// Analog input pin that the Accelerometer's second pin is attached to

const int analogOutPin1= O0; // Analog output pin that the LED is attached to
const int analogOutPin2= O1; // Analog output pin that the LED is attached to

int sensorValue1 = 0; ᅠ ᅠ ᅠ ᅠ// value read from the Accelerometer's first pin
int sensorValue2 = 0; ᅠ ᅠ ᅠ ᅠ// value read from the Accelerometer's second pin

int outputValue1 = 0; ᅠ ᅠ ᅠ ᅠ// value output to the PWM (analog out)
int outputValue2 = 0; ᅠ ᅠ ᅠ ᅠ// value output to the PWM (analog out)

void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}

void loop() {
// read the both analog in values:
ᅠ sensorValue1 = analogRead(analogInPin1);
ᅠ sensorValue2 = analogRead(analogInPin2);
// map it to the range of the analog out:
ᅠ outputValue1 = map(sensorValue1, 0, 1023, 0, 255);
ᅠ outputValue2 = map(sensorValue2, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin1, outputValue1); ᅠ ᅠ
analogWrite(analogOutPin2, outputValue2);

// print the results to the serial monitor:
Serial.print("accelerometer X = " ); ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ
Serial.print(sensorValue1);
Serial.print("\t accelerometer Y = " ); ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ
Serial.print(sensorValue2); ᅠ ᅠ
Serial.print("\t output 1 = "); ᅠ ᅠ ᅠ
Serial.print(outputValue1);
Serial.print("\t output 2 = "); ᅠ ᅠ ᅠ
Serial.println(outputValue2);

// wait 10 milliseconds before the next loop
// for the analog-to-digital converter to settle
// after the last reading:
delay(10); ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ ᅠ
}

Datasheet LIS344AL