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