O Memsic2125 (folha de dados) é um acelerômetro biaxial capaz de medir até mais ou menos 2g. Possui uma interface digital simples: dois pinos, um para cada eixo, que emitem pulsos cuja duração correspondem à aceleração naquele eixo.
O pino de 5V e o de GND no Arduino são conectados aos pinos respectivos no Memsic2125; o pino digital 2 do Arduino é ligado ao pino de saída X e o pino digital 3, ao pino de saída Y
int xpin = 2; int ypin = 3; void setup() { Serial.begin(9600); pinMode(xpin, INPUT); pinMode(ypin, INPUT); } void loop() { int pulseX, pulseY; int accX, accY; // leia os pulsos provenientes dos eixos x e y pulseX = pulseIn(xpin,HIGH); pulseY = pulseIn(ypin,HIGH); // converta a largura do pulso para aceleração // accX e accY estão em mili-g's: a gravidade terrestre é 1000. accX = ((pulseX / 10) - 500) * 8; accY = ((pulseY / 10) - 500) * 8; // imprima a aceleração Serial.print(accX); Serial.print(" "); Serial.print(accY); Serial.println(); delay(100); }