mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-12 06:54:24 +01:00
43 lines
752 B
Plaintext
43 lines
752 B
Plaintext
// Memsic2125
|
|
|
|
#define X 2
|
|
#define Y 3
|
|
|
|
int dx = 0;
|
|
int dy = 0;
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(9600);
|
|
pinMode(X, INPUT);
|
|
pinMode(Y, INPUT);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
int pulseX, pulseY;
|
|
int accX, accY;
|
|
|
|
// wait for previous pulse to end
|
|
while (digitalRead(X) == HIGH) {}
|
|
// read pulse from x-axis
|
|
pulseX = pulseIn(X,HIGH);
|
|
|
|
// wait for previous pulse to end
|
|
while (digitalRead(Y) == HIGH) {}
|
|
// read pulse from y-axis
|
|
pulseY = pulseIn(Y,HIGH);
|
|
|
|
// convert the pulse width into acceleration
|
|
// accX and accY are in milli-g's: earth's gravity is 1000.
|
|
accX = ((pulseX / 10) - 500) * 8;
|
|
accY = ((pulseY / 10) - 500) * 8;
|
|
|
|
Serial.print(accX);
|
|
Serial.print(" ");
|
|
Serial.print(accY);
|
|
Serial.println();
|
|
|
|
delay(100);
|
|
}
|