Como usar acelerómetro de 3 eixos ADXL335 com o Arduino

Neste tutorial, vamos aprender de, forma muito fácil, como usar o acelerómetro de 3 eixos ADXL335 com Arduino. O acelerómetro ADXL335 é um sensor de alta qualidade que inclui uns condensadores de separação na placa para o seu ótimo funcionamento e já que vem preparado para usar em qualquer tipo de projeto com microcontroladores incluindo projetos de robótica.

Este acelerómetro devolve uma tensão proporcional à aceleração detetada pelo sensor, a partir disso podemos intrepretar os sinais facilmente com Arduino ou com um microcontrolador através dos pinos analógicos.

 

Montagem e ligações

Alimenta-se o módulo a partir do pino de 3.3V do Arduino e liga-se o pino GND do sensor a qualquer pino GND do Arduino. Os pinos X,Y e Z do sensor são ligados aos pinos A1, A1 e A3 do Arduino respetivamente, e com isto, já o temos todo preparado para começar o sketch de ensaio.

 

 

Sketch de ensaio

É um sketch de ensaio muito fácil para testar o acelerómetro ADXL335, está comentado linha a linha para que seja mais fácil de entender:

 

//Definimos em 3 constantes os pinos do Arduino que vamos usar para obter as leituras
const int xpino = A1;                  // eixo X do acelerometro
const int ypino = A2;                  // eixo Y do acelerometro
const int zpino = A3;                  // eixo Z do acelerometro

int Pausa = 500;   //Pausa em milisegundos entre leituras

void setup()
{
  //Iniciamos a comunicação serie
  Serial.begin(9600);
  //Nos asseguramos que o conversor analogico-digital tenha a voltagem de referencia a partir do pino AREF
  analogReference(EXTERNAL);
  //Definimos os pinos que vamos usar para obter os valores do acelerometro como entrada (input)
  pinMode(xpin, INPUT);
  pinMode(ypin, INPUT);
  pinMode(zpin, INPUT);
}


void loop()
{
  //Mostramos no monitor serie o valor que obtemos do eixo X
  Serial.print(analogRead(xpin));
  Serial.print("\t"); //Espaçado entre caracteres

  //Pequena pausa
  delay(1); 
  
  //Mostramos no monitor serie o valor que obtemos do eixo Y
  Serial.print(analogRead(ypin));
  Serial.print("\t"); //Espaçado entre caracteres
  
  //Pequena pausa
  delay(1); 

  Serial.print(analogRead(zpin));
  Serial.print("\n"); //Troca de linha

  //Pequena pausa entre leituras definida pela variável "Pausa"
  delay(Pausa);
}

Gostaram deste artigo ? Deixem o vosso comentário no formulário a baixo.

Não se esqueçam de fazer like na nossa página no facebook.

Todos os produtos utilizados neste artigo podem ser encontrados na loja de componentes eletrónicos ElectroFun.

Comments

Comentários

ArduinoPortugal.pt:
Related Post