Prog Shield Accelerometer MMA7660
Det 3 aksede accelerometer kan måle tyngdekraften i et XYZ-koordinatsystem og kan ud fra dette bestemme hvad der er op og ned.
Modulet kan købes ved aliexpress[1]
Software
Softwaren til at hente accelerometer data ligger i denne ZIP-fil. Biblioteket downloades og installeres som beskrevet under Arduinos biblioteker.
Biblioteket indeholder et eksempel der er gennemgået her.
Anvendelsen af softwaren
Som alle andre biblioteker skal der sættes de grundlæggende ting op for at kontakte biblioteket og definere
#include "Wire.h"
#include "MMA7660.h"
Inde i setup() startes den serielle kommunikation, og så skal der sættes gang i Wire-objektet ved hjælp af begin-metoden, og accelerometeret skal initialiseres med init-metoden som vist her:
void setup() {
Serial.begin(9600);
Wire.begin();
// init accelerometer
accel.init();
// wait a while
delay(100);
}
I loop() hentes data fra Accelerometeret med getValues-metoden, og det placerer X, Y og Z værdierne i egenskaberne x, y og z.
Disse værdier printes
void loop() {
// get accelerator data
accel.getValues();
Serial.print("X: ");Serial.print(accel.x, DEC);Serial.print("\t");
Serial.print("Y: ");Serial.print(accel.y, DEC);Serial.print("\t");
Serial.print("Z: ");Serial.println(accel.z, DEC);
delay(500);
}
Test af programmet
Ved at teste programmet får man følgende output:
X: 6 Y: 63 Z: 45 X: 6 Y: 63 Z: 45 X: 5 Y: 0 Z: 44 X: 5 Y: 0 Z: 44 X: 6 Y: 0 Z: 44 X: 6 Y: 0 Z: 44 X: 6 Y: 63 Z: 44 X: 6 Y: 63 Z: 44 X: 6 Y: 63 Z: 45 X: 6 Y: 63 Z: 45 X: 6 Y: 0 Z: 44 X: 6 Y: 0 Z: 44
Værdierne er de rå AD-tal, der stammer fra en 6-bits AD konverter. Tallet skal ganske givet tolkes som en +/- værdi, så det output der kommer fra 0 - 63 skal tolkes som -32 - 31.
Yderligere muligheder i softwaren
Der ligger yderligere muligheder i klassen man kan anvende, hvis man ønsker andre måder at anvende accelerometeret på:
uint8_t isPresent(void);
Hardware
Princippet i accelerometeret er beskrevet i databladet[2]
Layout
Accelerometerets placering på programmerings-shieldet kan ses her:
Accelerometerets placering på programmerings-shieldet