Memsic 2125 акселерометр (3D датчик) Memsic 2125 (спецификация: ) — это двуосный акселорометр, способный к измерению ускорения до от -2 до +2 g. У него простой цифровой интерфейс: два штырьковых вывода (один для каждой оси), испускающих импульсы, продолжительность которых соответствует ускорению осей.
Вид компонентов:
Схема:
Pin выводы 5V и GND на Arduino связаны соответственно с 5V и GND выводами Memsic 2125; цифровой pin 2 из Arduino связан с Xout выводом Memsic, так же цифровой pin 3, связан с Y.
Код:
// these constants won't change:
const int xPin = 2; // X output of the accelerometer
const int yPin = 3; // Y output of the accelerometer
void setup() {
// initialize serial communications:
Serial.begin(9600);
// initialize the pins connected to the accelerometer
// as inputs:
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
}
void loop() {
// variables to read the pulse widths:
int pulseX, pulseY;
// variables to contain the resulting accelerations
int accelerationX, accelerationY;
// read pulse from x- and y-axes:
pulseX = pulseIn(xPin,HIGH);
pulseY = pulseIn(yPin,HIGH);
// convert the pulse width into acceleration
// accelerationX and accelerationY are in milli-g's:
// earth's gravity is 1000 milli-g's, or 1g.
accelerationX = ((pulseX / 10) - 500) * 8;
accelerationY = ((pulseY / 10) - 500) * 8;
// print the acceleration
Serial.print(accelerationX);
// print a tab character:
Serial.print("\t");
Serial.print(accelerationY);
Serial.println();
delay(100);
}
комментарии(0)
Комментировать