Um vibrador (motor de vibração) é um dispositivo eletromecânico que cria vibração em telefones móveis para feedback tátil e notificações. Smartphones modernos usam dois tipos principais de motores de vibração: massa excêntrica rotativa (ERM) e atuadores ressonantes lineares (LRA). De acordo com All About Circuits, 2024, os atuadores LRA fornecem 3 vezes mais rapidez de resposta em comparação com ERM.
Principais pontos
Motor de vibração (vibrador) é um dispositivo eletromecânico em miniatura que converte energia elétrica em oscilações mecânicas para criar vibração no corpo do smartphone. O objetivo principal do motor de vibração é a notificação tátil de chamadas recebidas, mensagens e alertas sem usar um sinal de áudio. Em dispositivos modernos, o motor de vibração também é usado para feedback tátil ao interagir com o ecrã tátil.
O primeiro motor de vibração num telefone móvel apareceu em 1992 no modelo Motorola Startac para notificação silenciosa de chamadas. Hoje, a vibração é usada não apenas para notificações, mas também para confirmar ações do usuário: pressionamento de teclas, deslizes, toques. Em smartphones modernos, o motor de vibração faz parte do sistema de feedback tátil juntamente com o Taptic Engine e atuadores piezoelétricos. A qualidade da vibração afeta diretamente a perceção do dispositivo: vibração precisa e rápida está associada à qualidade premium.
Na indústria móvel, dois tipos principais de motores de vibração são usados: ERM (massa excêntrica rotativa) com uma massa desbalanceada giratória e LRA (atuador ressonante linear) com movimento linear do ímã. A escolha do tipo depende dos requisitos de qualidade do feedback tátil, custo e espaço disponível dentro do corpo do smartphone. Dispositivos económicos geralmente usam ERM, enquanto dispositivos premium usam LRA.
ERM (Eccentric Rotating Mass) é um motor de vibração clássico que consiste num motor DC com uma massa desbalanceada no eixo. Quando a tensão é aplicada, o rotor começa a girar e a força centrífuga da massa desbalanceada é transmitida ao corpo do dispositivo, criando vibração. A amplitude da vibração é regulada pela tensão (2–5 V) e a frequência pela velocidade de rotação. Os motores ERM são baratos de fabricar, mas têm inércia: o tempo de aceleração até à velocidade operacional é de 20–50 ms, e após parar, mais 10–20 ms de efeito posterior inercial.
LRA (Linear Resonant Actuator) é um motor de vibração no qual um ímã se move ao longo de um único eixo no campo magnético de uma bobina. O ímã está suspenso em elementos elásticos que garantem o retorno à posição original. O LRA opera a uma frequência de ressonância (normalmente 150–200 Hz), alcançando a amplitude máxima com consumo mínimo de energia. O tempo de resposta do LRA é de 5–15 ms, tornando-o significativamente mais responsivo em comparação com o ERM. O LRA é mais compacto que o ERM com força de vibração comparável, tornando-o ideal para dispositivos premium.
| Parâmetro | ERM | LRA |
|---|---|---|
| Princípio | Rotação de massa desbalanceada | Movimento linear do ímã |
| Tempo de resposta | 20–50 ms | 5–15 ms |
| Efeito posterior | 10–20 ms | 1–3 ms |
| Precisão | Baixa | Alta |
| Custo | Baixo | Médio |
Ao escolher um motor de vibração para um smartphone, os fabricantes consideram vários parâmetros-chave: tempo de resposta, precisão do controlo de amplitude, consumo de energia e tamanho. Os motores ERM ganham em custo e facilidade de controlo — precisam apenas de tensão DC para operar. Os atuadores LRA requerem um driver mais complexo com geração de sinal AC de frequência de ressonância, mas fornecem 3–4 vezes sensações táteis mais precisas.
De acordo com a pesquisa da Precision Microdrives, os atuadores LRA consomem 40–50% menos energia que os motores ERM ao criar vibração percetivelmente comparável. Isto deve-se ao modo de operação ressonante: a amplitude máxima é alcançada com potência de entrada mínima. Ao mesmo tempo, os motores ERM podem operar numa gama de frequências mais ampla, criando vibração de intensidade variável simplesmente alterando a tensão.
O motor de vibração num smartphone é controlado através de um driver que recebe comandos do processador base ou de um controlador de feedback tátil dedicado. O driver converte comandos digitais em sinais elétricos: para ERM — tensão DC de um certo nível, para LRA — um sinal AC em frequência de ressonância com amplitude ajustável. A tensão de alimentação dos motores de vibração é geralmente de 2–5 V a 50–200 mA de corrente.
Os chipsets Snapdragon modernos (Qualcomm) e Dimensity (MediaTek) possuem blocos de controlo de vibração integrados que suportam padrões hápticos personalizados. O processador envia ao driver uma sequência de comandos especificando amplitude, duração e forma de onda para cada pulso. Com base numa biblioteca de efeitos predefinidos, o sistema pode gerar vibração para 10–30 tipos diferentes de notificações com características de sensação tátil individuais.
No iOS, o controlo do motor de vibração é feito através do Core Haptics com suporte para padrões complexos. No Android antes da versão 8.0 (API 26), o controlo era limitado: os desenvolvedores só podiam ligar e desligar a vibração com duração fixa. A partir do Android 8.0, surgiu a classe VibrationEffect com suporte para formas de onda compostas, efeitos ondulatórios e amplitude ajustável.
A vibração em aplicações móveis é usada para vários cenários: notificações de eventos (chamadas, mensagens), confirmação tátil de ações (pressionamento de botões, alternância de interruptores), feedback tátil em jogos e funcionalidades de acessibilidade para utilizadores com deficiência auditiva. Cada cenário requer parâmetros de vibração diferentes: um pulso curto para confirmação, vibração prolongada para notificações.
Uma vibração configurada corretamente melhora significativamente a experiência do utilizador. Uma resposta tátil curta ao pressionar um botão cria uma sensação de interação física e reduz a carga cognitiva. Em jogos, a vibração é usada para imersão: simular disparos, colisões, funcionamento do motor. De acordo com o Google Material Design, recomenda-se usar vibração de 10–40 ms de duração para confirmação tátil e 200–1000 ms para notificações, para não irritar o utilizador.
Para a acessibilidade, a vibração desempenha um papel fundamental: permite que utilizadores com deficiência visual recebam feedback tátil sobre eventos no ecrã. O TalkBack no Android e o VoiceOver no iOS enviam sinais de vibração ao destacar elementos da interface, confirmar ações e receber notificações. Os padrões de vibração adaptativos ajudam a distinguir tipos de eventos sem controlo visual.
Para trabalhar com o motor de vibração no Android, utiliza-se o serviço de sistema Vibrator, acessível através do método getSystemService(). A partir do Android 10 (API 29), foi adicionado o VibratorManager — uma API unificada para gerir a vibração em dispositivos com múltiplos motores de vibração. Para compatibilidade com versões mais antigas, os desenvolvedores usam o Vibrator diretamente com verificação de disponibilidade do método createOneShot().
import android.os.VibrationEffect
import android.os.Vibrator
import android.os.VibratorManager
import android.content.Context
class VibrationHelper(private val context: Context) {
private val vibrator: Vibrator get() {
return if (Build.VERSION.SDK_INT >= 31) {
val manager = context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE)
as VibratorManager
manager.getDefaultVibrator()
} else {
context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
}
}
fun playShortClick() {
val effect = VibrationEffect.createOneShot(30L, VibrationEffect.DEFAULT_AMPLITUDE)
vibrator.vibrate(effect)
}
fun playWaveform() {
val timings = longArrayOf(0L, 50L, 100L, 50L)
val amplitudes = intArrayOf(128, 255, 64, 255)
val effect = VibrationEffect.createWaveform(timings, amplitudes, -1)
vibrator.vibrate(effect)
}
}
A classe VibrationEffect suporta dois tipos de efeitos: createOneShot — um pulso único com duração e amplitude especificadas, e createWaveform — um padrão de onda composto com uma matriz de temporizações e amplitudes. Ao usar createWaveform, a matriz de temporizações especifica a sequência de ativações e pausas, enquanto a matriz de amplitudes especifica o nível de vibração (0–255) para cada segmento. O parâmetro repeat indica o índice no qual começar a repetir o padrão (-1 para reprodução única).
Perguntas frequentes
Os smartphones modernos usam dois tipos principais de motores de vibração: ERM (massa excêntrica rotativa) em dispositivos económicos e LRA (atuadores ressonantes lineares) em modelos premium. O ERM é mais barato, mas mais lento e menos preciso, enquanto o LRA proporciona sensações táteis claras.
ERM cria vibração girando uma massa desbalanceada, tem tempo de resposta de 20–50 ms e efeito posterior inercial. LRA move um ímã linearmente no campo magnético de uma bobina com tempo de resposta de 5–15 ms e praticamente sem efeito posterior. O LRA proporciona sensações táteis mais precisas e variadas.
Sim, o utilizador pode desligar a vibração nas definições de som e tátil do smartphone. No Android, isto faz-se através de “Sons e vibração” → “Feedback tátil”, no iOS — “Sons e tátil” → “Tátil do sistema”. Desligar aplica-se a todas as aplicações.
Pode verificar o motor de vibração através do menu de engenharia: marque *#0*# no Samsung ou *#*#6484#*#* no Xiaomi e selecione o teste de vibração. No iPhone: Definições → Acessibilidade → Tátil → Vibração e ative “Vibração no modo toque”. Se não houver vibração, o motor pode estar com defeito.
No Android, pode configurar a vibração para aplicações individuais através de Definições → Notificações → Categorias de notificações da aplicação. No iOS, a vibração é configurada através de “Sons e tátil” → selecione o tipo de notificação → “Tátil” com escolha de padrões predefinidos.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também