0

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

Jaime Mota

Deixar uma resposta