Social Icons

Usando um Acelerômetro ADXL3xx

Neste exemplo veremos como usar um Acelerômetro analógico da série ADXL3xx (exemplos: ADXL320, ADXL321, ADXL322, ADXL330) e comunica a aceleração para o computador. Os pinos usados foram desenhados para serem facilmente compatíveis com as placas Sparkfun. O dispositivo ADXL3xx  potencia a aceleração em cada eixo com uma tensão análoga entre 0 e 5 volts, que é lida por uma entrada analógica do Arduino.


Um ADXL322 em uma placa Sparkfun inserido nos pinos de entrada analógica de um Arduino.


Tabela de pinos para a configuração acima:

Pinos da Placa Auto-Teste Eixo-Z Eixo-Y Eixo-X Terra VDD
Pinos de entrada analógica do Arduino 0 1 2 3 4 5

Ou, se você está usando somente o acelerômetro:

Pino ADXL3xx Auto-Teste Saída-Z Saída-Y Saída-X Terra VDD
Pino Arduino Nenhum (não conectado) Entrada Analógica 1 Entrada Analógica 2 Entrada Analógica 3 GND 5V

Código

int groundpin = 18;             // analog input pin 4
int powerpin = 19;              // analog input pin 5
int xpin = 3;                   // x-axis of the accelerometer
int ypin = 2;                   // y-axis
int zpin = 1;                   // z-axis (only on 3-axis models)

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

  // Provide ground and power by using the analog inputs as normal
  // digital pins.  This makes it possible to directly connect the
  // breakout board to the Arduino.  If you use the normal 5V and
  // GND pins on the Arduino, you can remove these lines.
  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

Básicamente ele fica atualizando a tela com a leitura do acelerômetro...
Aqui apresentamos algumas leituras coletadas por um acelerômetro posicionando o eixo Y de um dispositivo ADXL322 2g a vários ângulos do chão. Os valores devem ser os mesmos para outros eixos, mas podem variar de acordo com a sensibilidade do dispositivo. Com o eixo horizontal (por exemplo paralelo ao chão 0º) a leitura do acelerômetro deveria ser ao redor de 512, mas os valores para outros ângulos serão diferentes para cada dispositivo (exemplo de um ADXL302 5g).

Ângulo -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90
Aceleração 662 660 654 642 628 610 589 563 537 510 485 455 433 408 390 374 363 357 355


O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.
Esta obra está licenciada sob uma Licença Creative Commons.
Creative Commons License

Nenhum comentário:

Postar um comentário