O acelerômetro está presente em todo smartphone, tablet e videogame portátil. Neste post, são mostrados o funcionamento e como usar um módulo com Arduino.
Como funciona o acelerômetro?
É um MEMS (Sistema microeletromecânico), para aprender mais sobre estes sistemas, clique nos links abaixo.
Fabricação de MEMS (Parte 2)Clique aqui
Dentro do chip, há uma massa móvel presa às molas micrométricas e o movimento da massa é convertido em sinais elétricos. Pode detectar o ângulo de inclinação e acelerações estáticas ou dinâmicas. Aceleração estática produz uma força constante no corpo, como a gravidade. Enquanto a aceleração dinâmica não é uniforme, como por exemplo, vibrações e mudanças de movimento.
Acelerômetro capacitivo
Neste tipo, a massa móvel possui pontas condutoras que formam uma capacitância com placas estacionárias. Quando há uma aceleração, a parte móvel se move e as capacitâncias C1 e C2 mudam de valor.
Acelerômetro piezoelétrico
Quando uma pressão mecânica é exercida em um material piezoelétrico, este gera uma diferença de potencial.
O efeito piezoelétrico é reversível. Uma corrente contínua pode esticar ou comprimir o material, dependendo do sentido. Enquanto a corrente alternada faz o material vibrar. Os materiais piezoelétricos mais usados são o quartzo e o PZT (titanato zirconato de chumbo).
No acelerômetro piezoelétrico, o movimento da massa ligada a uma mola exerce pressão em um disco piezoelétrico e este transmite sinais elétricos para serem processados para medição.
Acelerômetro piezoresistivo
O movimento da massa móvel exerce força sobre um material piezoresistivo, este muda a resistência elétrica que é medida por um extensômetro. Este é um instrumento com uma ponte de Wheatstone que mede a deformação de um material.
Outros tipos de acelerômetros serão assuntos para outro post.
Onde mais os acelerômetros são usados?
- Os acelerômetros são usados em notebooks para proteger os dados no HD de queda. Quando uma queda é detectada, o notebook desliga o disco rígido para não danificar a leitura dos dados.
- É um componente muito importante em foguetes e mísseis, para medir a variação da velocidade e ajudar na navegação inercial.
- Um drone precisa de um acelerômetro para estabilização do voo.
- O sistema de airbag dos automóveis possui um acelerômetro para detectar uma colisão e ativar o airbag.
- Máquinas rotativas usam acelerômetros para detectar vibrações.
O shield acelerômetro ADXL345
O ADXL345 é um acelerômetro capacitivo de 3 eixos com 13 bits de resolução e baixa potência. Pode medir entre ±2g e ±16g, g é a aceleração da gravidade da Terra, cujo valor é 9,81 m/s², e detecta mudanças no ângulo de inclinação menores que 1º. Este chip foi fabricado pela Analog Devices.
Mais informações sobre o chip estão no datasheet em inglês.
Exemplo de projeto de demonstração
O módulo ADXL345 é conectado com a placa Arduino Uno com um protocolo de comunicação I²C. Este será assunto para um futuro post.
Para simplificar o código, abaixe as duas bibliotecas mostradas no vídeo.
No programa abaixo, as 3 primeiras linhas são as bibliotecas que devem ser incluídas. A Wire.h serve para fazer a comunicação em I²C.
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include <Wire.h>
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(); //inicializa a
//biblioteca com a variável accel.
void setup() {
Serial.begin(9600);
if(!accel.begin())
{
Serial.println("No ADXL345 sensor detected.");//Esta mensagem aparece
//quando o sensor não está conectado com SCL e SDA.
while(1);
}
}
void loop() {
sensors_event_t event;//A variável event utiliza a estrutura
//sensors_event_t.
accel.getEvent(&event);//Função que pega dados do acelerômetro.
Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print(" "); //Imprimindo as medições.
Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" ");
Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.print(" ");
Serial.println("m/s^2 ");
delay(500);
}
É possível usar este acelerômetro apenas com a biblioteca Wire.h. Porém, teria que usar os endereços de registradores, que precisam ser explicados em um post dedicado.