Un vibratore (motorino di vibrazione) è un dispositivo elettromeccanico che crea vibrazioni nei telefoni cellulari per il feedback tattile e le notifiche. Gli smartphone moderni utilizzano due tipi principali di motorini di vibrazione: massa eccentrica rotante (ERM) e attuatori risonanti lineari (LRA). Secondo All About Circuits, 2024, gli attuatori LRA forniscono 3 volte più rapidità di risposta rispetto agli ERM.
Punti chiave
Motorino di vibrazione (vibratore) è un dispositivo elettromeccanico in miniatura che converte energia elettrica in oscillazioni meccaniche per creare vibrazione del corpo dello smartphone. Lo scopo principale del motorino di vibrazione è la notifica tattile di chiamate in arrivo, messaggi e avvisi senza utilizzare un segnale audio. Nei dispositivi moderni, il motorino di vibrazione viene utilizzato anche per il feedback tattile durante l'interazione con lo schermo tattile.
Il primo motorino di vibrazione in un telefono cellulare apparve nel 1992 nel modello Motorola Startac per la notifica silenziosa delle chiamate. Oggi, la vibrazione viene utilizzata non solo per le notifiche ma anche per confermare le azioni dell'utente: pressioni di tasti, scorrimenti, tocchi. Negli smartphone moderni, il motorino di vibrazione fa parte del sistema di feedback tattile insieme a Taptic Engine e attuatori piezoelettrici. La qualità della vibrazione influisce direttamente sulla percezione del dispositivo: una vibrazione precisa e rapida è associata alla qualità premium.
Nell'industria mobile, vengono utilizzati due tipi principali di motorini di vibrazione: ERM (massa eccentrica rotante) con una massa sbilanciata rotante e LRA (attuatore risonante lineare) con movimento lineare del magnete. La scelta del tipo dipende dai requisiti di qualità del feedback tattile, costo e spazio disponibile all'interno del corpo dello smartphone. I dispositivi economici usano più spesso ERM, mentre i dispositivi premium usano LRA.
ERM (Eccentric Rotating Mass) è un motorino di vibrazione classico composto da un motore CC con una massa sbilanciata sull'albero. Quando viene applicata tensione, il rotore inizia a ruotare e la forza centrifuga della massa sbilanciata viene trasmessa al corpo del dispositivo, creando vibrazione. L'ampiezza della vibrazione è regolata dalla tensione (2–5 V), la frequenza dalla velocità di rotazione. I motori ERM sono economici da produrre, ma hanno inerzia: il tempo di accelerazione fino alla velocità operativa è di 20–50 ms e dopo l'arresto altri 10–20 ms di post-effetto inerziale.
LRA (Linear Resonant Actuator) è un motorino di vibrazione in cui un magnete si muove lungo un singolo asse nel campo magnetico di una bobina. Il magnete è sospeso su elementi elastici che garantiscono il ritorno alla posizione originale. L'LRA opera a una frequenza di risonanza (di solito 150–200 Hz), raggiungendo l'ampiezza massima con un consumo energetico minimo. Il tempo di risposta dell'LRA è di 5–15 ms, rendendolo significativamente più reattivo rispetto all'ERM. L'LRA è più compatto dell'ERM con una forza di vibrazione comparabile, rendendolo ideale per dispositivi premium.
| Parametro | ERM | LRA |
|---|---|---|
| Principio | Rotazione di massa sbilanciata | Movimento lineare del magnete |
| Tempo di risposta | 20–50 ms | 5–15 ms |
| Post-effetto | 10–20 ms | 1–3 ms |
| Precisione | Bassa | Alta |
| Costo | Basso | Medio |
Quando si sceglie un motorino di vibrazione per uno smartphone, i produttori considerano diversi parametri chiave: tempo di risposta, precisione del controllo dell'ampiezza, consumo energetico e dimensioni. I motori ERM vincono in costo e facilità di controllo — necessitano solo di tensione CC per funzionare. Gli attuatori LRA richiedono un driver più complesso con generazione di un segnale CA a frequenza di risonanza, ma forniscono 3–4 volte sensazioni tattili più precise.
Secondo la ricerca di Precision Microdrives, gli attuatori LRA consumano il 40–50% in meno di energia rispetto ai motori ERM per creare una vibrazione percettivamente comparabile. Ciò è dovuto alla modalità di funzionamento risonante: l'ampiezza massima viene raggiunta con la potenza di ingresso minima. Allo stesso tempo, i motori ERM possono funzionare in una gamma di frequenze più ampia, creando vibrazioni di diversa intensità semplicemente modificando la tensione.
Il motorino di vibrazione in uno smartphone è controllato tramite un driver che riceve comandi dal processore di base o da un controller di feedback tattile dedicato. Il driver converte i comandi digitali in segnali elettrici: per ERM — tensione CC di un certo livello, per LRA — un segnale CA a frequenza di risonanza con ampiezza regolabile. La tensione di alimentazione dei motorini di vibrazione è solitamente di 2–5 V a 50–200 mA di corrente.
I moderni chipset Snapdragon (Qualcomm) e Dimensity (MediaTek) dispongono di blocchi di controllo vibrazione integrati che supportano modelli tattili personalizzati. Il processore invia al driver una sequenza di comandi che specificano ampiezza, durata e forma d'onda per ogni impulso. Basandosi su una libreria di effetti preimpostati, il sistema può generare vibrazioni per 10–30 diversi tipi di notifiche con caratteristiche di sensazione tattile individuali.
Su iOS, il controllo del motorino di vibrazione avviene tramite Core Haptics con supporto per modelli complessi. Su Android prima della versione 8.0 (API 26), il controllo era limitato: gli sviluppatori potevano solo accendere e spegnere la vibrazione con durata fissa. A partire da Android 8.0, è apparsa la classe VibrationEffect con supporto per forme d'onda composite, effetti ondulatori e ampiezza regolabile.
La vibrazione nelle applicazioni mobili viene utilizzata per diversi scenari: notifiche di eventi (chiamate, messaggi), conferma tattile di azioni (pressioni di pulsanti, commutazione di interruttori), feedback tattile nei giochi e funzionalità di accessibilità per utenti con problemi di udito. Ogni scenario richiede parametri di vibrazione diversi: un impulso breve per la conferma, una vibrazione prolungata per le notifiche.
Una vibrazione configurata correttamente migliora significativamente l'esperienza utente. Una breve risposta tattile quando si preme un pulsante crea una sensazione di interazione fisica e riduce il carico cognitivo. Nei giochi, la vibrazione viene utilizzata per l'immersione: simulazione di spari, collisioni, funzionamento del motore. Secondo Google Material Design, si consiglia di utilizzare vibrazioni di durata 10–40 ms per la conferma tattile e 200–1000 ms per le notifiche, per non irritare l'utente.
Per l'accessibilità, la vibrazione gioca un ruolo chiave: consente agli utenti con disabilità visive di ricevere feedback tattile sugli eventi sullo schermo. TalkBack su Android e VoiceOver su iOS inviano segnali di vibrazione quando si evidenziano elementi dell'interfaccia, si confermano azioni e si ricevono notifiche. I modelli di vibrazione adattivi aiutano a distinguere i tipi di evento senza controllo visivo.
Per lavorare con il motorino di vibrazione su Android, viene utilizzato il servizio di sistema Vibrator, accessibile tramite il metodo getSystemService(). A partire da Android 10 (API 29), è stato aggiunto VibratorManager — un'API unificata per gestire la vibrazione su dispositivi con più motorini di vibrazione. Per la compatibilità con versioni precedenti, gli sviluppatori utilizzano Vibrator direttamente con verifica della disponibilità del metodo 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 supporta due tipi di effetti: createOneShot — un impulso singolo con durata e ampiezza specificate, e createWaveform — un modello d'onda composito con una matrice di temporizzazioni e ampiezze. Quando si utilizza createWaveform, la matrice di temporizzazioni specifica la sequenza di attivazioni e pause, mentre la matrice di ampiezze specifica il livello di vibrazione (0–255) per ogni segmento. Il parametro repeat indica l'indice in cui iniziare la ripetizione del modello (-1 per la riproduzione singola).
Domande frequenti
Gli smartphone moderni utilizzano due tipi principali di motorini di vibrazione: ERM (massa eccentrica rotante) nei dispositivi economici e LRA (attuatori risonanti lineari) nei modelli premium. L'ERM è più economico ma più lento e meno preciso, mentre l'LRA offre sensazioni tattili chiare.
ERM crea vibrazione ruotando una massa sbilanciata, ha un tempo di risposta di 20–50 ms e post-effetto inerziale. LRA muove un magnete linearmente nel campo magnetico di una bobina con un tempo di risposta di 5–15 ms e praticamente senza post-effetto. L'LRA offre sensazioni tattili più precise e variate.
Sì, l'utente può disattivare la vibrazione nelle impostazioni audio e tattili dello smartphone. Su Android, si fa tramite “Suoni e vibrazione” → “Feedback tattile”, su iOS — “Suoni e feedback tattile” → “Feedback tattile di sistema”. La disattivazione si applica a tutte le applicazioni.
Puoi verificare il motorino di vibrazione tramite il menu tecnico: componi *#0*# su Samsung o *#*#6484#*#* su Xiaomi e seleziona il test di vibrazione. Su iPhone: Impostazioni → Accessibilità → Tocco → Vibrazione e attiva “Vibrazione in modalità suoneria”. Se non c'è vibrazione, il motore potrebbe essere difettoso.
Su Android, puoi configurare la vibrazione per singole app tramite Impostazioni → Notifiche → Categorie di notifiche dell'app. Su iOS, la vibrazione si configura tramite “Suoni e feedback tattile” → seleziona il tipo di notifica → “Feedback tattile” con scelta di modelli preimpostati.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche