back to top
sábado - 27 / dezembro / 2025

Acelerômetro: como funciona e como usar?

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.

O que são MEMS?Clique aqui

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 capacitivo
(a) é o diagrama de um acelerômetro, mostrando a massa móvel (verde), a viga dobrada que serve como mola (marrom) e as placas fixas (branco). O (b) é a microestrutura. Fonte: (Zhou et al., 2017).

Acelerômetro piezoelétrico

Quando uma pressão mecânica é exercida em um material piezoelétrico, este gera uma diferença de potencial.

material piezoelétrico
Quando uma força F é aplicada sobre o material piezoelétrico, a estrutura cristalina é deformada. Os átomos com eletronegatividades diferentes são deslocados, causando a polarização e formando um dipolo elétrico. Consequentemente, vários dipolos são formados em série e paralelo, criando uma diferença de potencial resultante. Fonte: All about circuits.

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).

estrutura do pzt
A estrutura cristalina do PZT, cada esfera representa um átomo. À direita, a deformação da estrutura quando recebe uma tensão mecânica. Fonte: cts.

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.

acelerômetro piezoresistivo
Uma imagem em 3D de um acelerômetro piezoresistivo com 8 piezoresistores, 2 em cada flexão. Proff mass = massa de prova, supporting frame = suporte e os connection pads são os terminais para fazer a conexão com o resto do circuito. Fonte: (Dutta, 2011).

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

acelerômetro ADXL-345
Este é o módulo usado com o Arduino no projeto deste post. O chip de 14 terminais é o acelerômetro e o outro de 4 terminais é o regulador de tensão.

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.

diagrama de blocos do acelerômetro
Este é o diagrama de blocos do chip. Todo chip acelerômetro deve ter um conversor analógico-digital (ADC) para converter os sinais elétricos do sensor em sinais digitais, que devem passar por um filtro (Digital Filter) para poderem ir à lógica de interrupção e controle (Control and Interrupt Logic). FIFO é uma tecnologia de gerenciamento de memória para minimizar processamento e consumo de potência. Power management = Gerenciamento de energia. Fonte: 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.

acelerômetro ligado ao Arduino
Deve-se ligar os terminais 5V e GND do Arduino com os terminais do módulo de mesmo nome.
Arduino-SCL-SDA
Os terminais SDA e SCL do shield devem ser ligados com os terminais SDA e SCL do Arduino respectivamente.

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);
}
medições do acelerômetro
A tela serial deve aparecer assim.

É 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.

Related Articles

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

- Advertisement -

Últimos posts