Un vibreur (moteur de vibration) est un dispositif électromécanique qui crée des vibrations dans les téléphones mobiles pour le retour haptique et les notifications. Les smartphones modernes utilisent deux principaux types de moteurs de vibration : la masse excentrique rotative (ERM) et les actionneurs résonants linéaires (LRA). Selon All About Circuits, 2024, les actionneurs LRA offrent 3 fois plus de rapidité de réponse par rapport aux ERM.
Points clés
Moteur de vibration (vibreur) est un dispositif électromécanique miniature qui convertit l'énergie électrique en oscillations mécaniques pour créer des vibrations du corps du smartphone. Le but principal du moteur de vibration est la notification tactile des appels entrants, messages et alertes sans utiliser de signal audio. Dans les appareils modernes, le moteur de vibration est également utilisé pour le retour haptique lors de l'interaction avec l'écran tactile.
Le premier moteur de vibration dans un téléphone mobile est apparu en 1992 dans le modèle Motorola Startac pour la notification silencieuse d'appels. Aujourd'hui, la vibration est utilisée non seulement pour les notifications mais aussi pour confirmer les actions de l'utilisateur : pressions de touches, balayages, touches. Dans les smartphones modernes, le moteur de vibration fait partie du système de retour haptique avec le Taptic Engine et les actionneurs piézoélectriques. La qualité de la vibration affecte directement la perception de l'appareil : une vibration précise et rapide est associée à la qualité premium.
Dans l'industrie mobile, deux types principaux de moteurs de vibration sont utilisés : ERM (masse excentrique rotative) avec une masse déséquilibrée rotative et LRA (actionneur résonant linéaire) avec mouvement linéaire de l'aimant. Le choix du type dépend des exigences de qualité du retour haptique, du coût et de l'espace disponible à l'intérieur du corps du smartphone. Les appareils économiques utilisent plus souvent ERM, tandis que les appareils premium utilisent LRA.
ERM (Eccentric Rotating Mass) est un moteur de vibration classique composé d'un moteur CC avec une masse déséquilibrée sur l'arbre. Lorsque la tension est appliquée, le rotor commence à tourner et la force centrifuge de la masse déséquilibrée est transmise au corps de l'appareil, créant une vibration. L'amplitude de la vibration est régulée par la tension (2 à 5 V), la fréquence par la vitesse de rotation. Les moteurs ERM sont bon marché à fabriquer, mais ont une inertie : le temps d'accélération à la vitesse de fonctionnement est de 20 à 50 ms, et après l'arrêt, encore 10 à 20 ms de rémanence inertielle.
LRA (Linear Resonant Actuator) est un moteur de vibration dans lequel un aimant se déplace le long d'un seul axe dans le champ magnétique d'une bobine. L'aimant est suspendu sur des éléments élastiques qui assurent le retour à la position d'origine. Le LRA fonctionne à une fréquence de résonance (généralement 150 à 200 Hz), atteignant une amplitude maximale avec une consommation d'énergie minimale. Le temps de réponse du LRA est de 5 à 15 ms, ce qui le rend considérablement plus réactif par rapport à l'ERM. Le LRA est plus compact que l'ERM avec une force de vibration comparable, ce qui le rend idéal pour les appareils premium.
| Paramètre | ERM | LRA |
|---|---|---|
| Principe | Rotation de masse déséquilibrée | Mouvement linéaire de l'aimant |
| Temps de réponse | 20 à 50 ms | 5 à 15 ms |
| Rémanence | 10 à 20 ms | 1 à 3 ms |
| Précision | Faible | Élevée |
| Coût | Faible | Moyen |
Lors du choix d'un moteur de vibration pour un smartphone, les fabricants considèrent plusieurs paramètres clés : temps de réponse, précision du contrôle d'amplitude, consommation d'énergie et taille. Les moteurs ERM l'emportent en coût et en facilité de contrôle — ils nécessitent seulement une tension CC pour fonctionner. Les actionneurs LRA nécessitent un pilote plus complexe avec génération d'un signal CA à fréquence de résonance, mais offrent 3 à 4 fois des sensations haptiques plus précises.
Selon les recherches de Precision Microdrives, les actionneurs LRA consomment 40 à 50 % moins d'énergie que les moteurs ERM pour créer une vibration comparable en perception. Cela est dû au mode de fonctionnement résonant : l'amplitude maximale est atteinte avec une puissance d'entrée minimale. En même temps, les moteurs ERM peuvent fonctionner dans une plage de fréquences plus large, créant une vibration d'intensité variable simplement en changeant la tension.
Le moteur de vibration dans un smartphone est contrôlé via un pilote qui reçoit des commandes du processeur de base ou d'un contrôleur de retour haptique dédié. Le pilote convertit les commandes numériques en signaux électriques : pour ERM — tension CC d'un certain niveau, pour LRA — un signal CA à fréquence de résonance avec amplitude réglable. La tension d'alimentation des moteurs de vibration est généralement de 2 à 5 V avec un courant de 50 à 200 mA.
Les chipset Snapdragon modernes (Qualcomm) et Dimensity (MediaTek) disposent de blocs de contrôle de vibration intégrés qui prennent en charge les motifs haptiques personnalisés. Le processeur envoie au pilote une séquence de commandes spécifiant l'amplitude, la durée et la forme d'onde pour chaque impulsion. Basé sur une bibliothèque d'effets prédéfinis, le système peut générer des vibrations pour 10 à 30 différents types de notifications avec des caractéristiques de sensation haptique individuelles.
Sur iOS, le contrôle du moteur de vibration s'effectue via Core Haptics avec prise en charge de motifs complexes. Sur Android avant la version 8.0 (API 26), le contrôle était limité : les développeurs ne pouvaient qu'activer et désactiver la vibration avec une durée fixe. À partir d'Android 8.0, la classe VibrationEffect est apparue avec prise en charge des formes d'onde composites, des effets ondulatoires et de l'amplitude réglable.
La vibration dans les applications mobiles est utilisée pour plusieurs scénarios : notifications d'événements (appels, messages), confirmation tactile d'actions (pressions de boutons, basculement d'interrupteurs), retour haptique dans les jeux et fonctionnalités d'accessibilité pour les utilisateurs malentendants. Chaque scénario nécessite des paramètres de vibration différents : une impulsion courte pour la confirmation, une vibration prolongée pour les notifications.
Une vibration correctement configurée améliore considérablement l'expérience utilisateur. Une réponse tactile courte lors de la pression d'un bouton crée une sensation d'interaction physique et réduit la charge cognitive. Dans les jeux, la vibration est utilisée pour l'immersion : simulation de tirs, collisions, fonctionnement du moteur. Selon Google Material Design, il est recommandé d'utiliser une vibration de 10 à 40 ms pour la confirmation tactile et de 200 à 1000 ms pour les notifications, afin de ne pas irriter l'utilisateur.
Pour l'accessibilité, la vibration joue un rôle clé : elle permet aux utilisateurs malvoyants de recevoir un retour tactile sur les événements à l'écran. TalkBack sur Android et VoiceOver sur iOS envoient des signaux de vibration lors de la mise en évidence d'éléments d'interface, de la confirmation d'actions et de la réception de notifications. Les motifs de vibration adaptatifs aident à distinguer les types d'événements sans contrôle visuel.
Pour travailler avec le moteur de vibration sur Android, le service système Vibrator est utilisé, accessible via la méthode getSystemService(). À partir d'Android 10 (API 29), VibratorManager a été ajouté — une API unifiée pour gérer la vibration sur les appareils avec plusieurs moteurs de vibration. Pour la compatibilité avec les versions plus anciennes, les développeurs utilisent Vibrator directement avec vérification de la disponibilité de la méthode 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)
}
}
La classe VibrationEffect prend en charge deux types d'effets : createOneShot — une impulsion unique avec une durée et une amplitude spécifiées, et createWaveform — un motif d'onde composite avec un tableau de temporisations et d'amplitudes. Lors de l'utilisation de createWaveform, le tableau de temporisations spécifie la séquence d'activations et de pauses, tandis que le tableau d'amplitudes spécifie le niveau de vibration (0 à 255) pour chaque segment. Le paramètre repeat indique l'index auquel commencer la répétition du motif (-1 pour une lecture unique).
Foire aux questions
Les smartphones modernes utilisent deux principaux types de moteurs de vibration : ERM (masse excentrique rotative) dans les appareils économiques et LRA (actionneurs résonants linéaires) dans les modèles premium. L'ERM est moins cher mais plus lent et moins précis, tandis que le LRA offre des sensations haptiques claires.
ERM crée une vibration en faisant tourner une masse déséquilibrée, a un temps de réponse de 20 à 50 ms et une rémanence inertielle. LRA déplace un aimant linéairement dans le champ magnétique d'une bobine avec un temps de réponse de 5 à 15 ms et pratiquement sans rémanence. Le LRA offre des sensations haptiques plus précises et variées.
Oui, l'utilisateur peut désactiver la vibration dans les paramètres son et tactile du smartphone. Sur Android, cela se fait via « Sons et vibration » → « Retour haptique », sur iOS — « Sons et tactile » → « Tactile système ». La désactivation s'applique à toutes les applications.
Vous pouvez vérifier le moteur de vibration via le menu ingénierie : composez *#0*# sur Samsung ou *#*#6484#*#* sur Xiaomi et sélectionnez le test de vibration. Sur iPhone : Réglages → Accessibilité → Toucher → Vibration et activez « Vibration en mode sonnerie ». S'il n'y a pas de vibration, le moteur pourrait être défectueux.
Sur Android, vous pouvez configurer la vibration pour des applications individuelles via Réglages → Notifications → Catégories de notifications de l'application. Sur iOS, la vibration se configure via « Sons et tactile » → sélectionnez le type de notification → « Tactile » avec choix de motifs prédéfinis.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi