Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

Memsic2125

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.

Circuito

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

Código

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);
}