Social Icons

Mostrando postagens com marcador XYZ. Mostrar todas as postagens
Mostrando postagens com marcador XYZ. Mostrar todas as postagens

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