Olá pessoal, tudo bem com vocês?
Minha dúvida é simples, gostaria de saber se existe alguma forma de saber se meu acelerometro (MMA845X), sem fazer uso de multímetro, pois não possuo um por enquanto.
Tem como usar a IDE pra provar algo do tipo e testar?
Ja tentei rodar o codigo base que vem na biblioteca do sensor, porem o Monitor Serial não me da a leitura dos dados, porem executa o texto inicial que introduz o código.
Acho que tens de explicar melhor o que vês quando corres o código...
#include <Wire.h>
#include <SFE_MMA8452Q.h>
MMA8452Q acelerometro(0x1C);
void setup()
{
Serial.begin(9600);
Serial.println("Teste de comunicacao MMA8452");
acelerometro.init(SCALE_2G, ODR_50);
}
void loop()
{
if (acelerometro.available())
{
acelerometro.read();
printCalculatedAccels();
printAccels();
printOrientation();
Serial.println();
delay(500);
}
}
void printAccels()
{
Serial.print(acelerometro.x, 3);
Serial.print(",");
Serial.print(acelerometro.y, 3);
Serial.print(",");
Serial.print(acelerometro.z, 3);
Serial.print(",");
}
void printCalculatedAccels()
{
Serial.print(acelerometro.cx, 3);
Serial.print(",");
Serial.print(acelerometro.cy, 3);
Serial.print(",");
Serial.print(acelerometro.cz, 3);
Serial.print(",");
}
void printOrientation()
{
byte pl = acelerometro.readPL();
switch (pl)
{
case PORTRAIT_U:
Serial.print("Retrato Para Cima");
break;
case PORTRAIT_D:
Serial.print("Retrato Para Baixo");
break;
case LANDSCAPE_R:
Serial.print("Paisagem Direita");
break;
case LANDSCAPE_L:
Serial.print("Paisagem Esquerda");
break;
case LOCKOUT:
Serial.print("Plano");
break;
}
}
Na execução desse, no monitor serial eu só tenho a saída "Teste de comunicação MMA8452", que está no início do código. As leituras das coordenadas não são reproduzidas, aí estou desconfiado que o acelerômetro esteja estragado, porém não tenho um multímetro no momento pra testar suas conexões.
Tem outra forma de saber?
Como tens o acelerómetro ligado?