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

Acelerômetro ADXL3xxx

Capture as informações provenientes de um acelerômetro da Analog Devices, série ADXL3xx (ex.: ADXL320, ADXL321, ADXL322, ADXL330) e envie-as a um computador. Os pinos utilizados no Arduino são projetados para ser compatíveis com as placas de prototipagem da Sparkfun. O ADXL3xx fornece a aceleração em cada eixo na forma de uma tensão elétrica entre zero e 5 volts, que é lido por uma entrada analógica do Arduino.

Circuito

Uma placa de prototipagem ADXL322 da Sparkfun inserida nas entradas analógicas de um Arduino

Pinagem para a configuração acima:

Pino da placa de prototipagemSelf-TestZ-AxisY-AxisX-AxisGroundVDD
Pino analógico do Arduino012345

Ou caso esteja a usar somente o acelerômetro:

Pino do ADXL3xxSelf-TestZOutYOutXOutGroundVDD
Pino do ArduinoNenhum
(desconectado)
Analógico 1Analógico 2Analógico 3GND5V

Código

int groundpin = 18;             // pino de entrada analógica 4
int powerpin = 19;              // pino de entrada analógica 5
int xpin = 3;                   // eixo x do acelerômetro
int ypin = 2;                   // eixo y
int zpin = 1;                   // eixo z (disponível só em modelos triaxiais)

void setup()
{
  Serial.begin(9600);

  // Fornecer terra e energia mediante o uso das entradas analógicas
  // como pinos digitais comuns. Isso permite conectar a placa de
  // prototipagem diretamente no Arduino. No caso de se usar os pinos
  // normais GND e 5V do Arduino, pode-se remover as quatro linhas
  // abaixo.
  pinMode(groundPin, OUTPUT);
  pinMode(powerPin, OUTPUT);
  digitalWrite(groundPin, LOW); 
  digitalWrite(powerPin, HIGH);
}

void loop()
{
  Serial.print(analogRead(xpin));
  Serial.print(" ");
  Serial.print(analogRead(ypin));
  Serial.print(" ");
  Serial.print(analogRead(zpin));
  Serial.println();
  delay(1000);
}


Dados

Aqui estão algumas amostras de valores coletadas mediante a inclinação do eixo y de um acelerômetro ADXL322 de 2g a vários ângulos em relação à horizontal. Os valores provavelmente são os mesmos para os outros eixos, com leves variações devidas à sensibilidade do componente. Ao posicionar o eixo paralelamente ao chão (zero graus), a leitura no acelerômetro deve ser por volta de 512, mas os valores para outros ângulos de inclinação serão diferentes dependendo do modelo de acelerômetro.

ÂnguloAceleração ÂnguloAceleração
-90662 0510
-80660 10485
-70654 20455
-60642 30433
-50628 40408
-40610 50390
-30589 60374
-20563 70363
-10537 80357
0510 90355