Vibrátor (vibrační motor) — je elektromechanické zařízení, které vytváří vibrace v mobilních telefonech pro hmatovou zpětnou vazbu a upozornění. V moderních smartphonech se používají dva hlavní typy vibrátorů: excentrické (ERM) a lineární rezonanční akční členy (LRA). Podle údajů All About Circuits, 2024 poskytují LRA akční členy 3krát rychlejší dobu odezvy ve srovnání s ERM.
Hlavní body
Vibrátor (vibrační motor) — je miniaturní elektromechanické zařízení, které přeměňuje elektrickou energii na mechanické kmity pro vytvoření vibrace těla smartphonu. Hlavním účelem vibrátoru je hmatové upozornění uživatele na příchozí hovory, zprávy a oznámení bez použití zvukového signálu. V moderních zařízeních se vibrátor také používá pro hmatovou zpětnou vazbu při interakci s dotykovou obrazovkou.
První vibrátor v mobilním telefonu se objevil v roce 1992 v modelu Motorola Startac pro tiché upozornění na hovory. Dnes se vibrace používají nejen pro oznámení, ale také pro potvrzení akcí uživatele: stisk kláves, přejíždění, dotyky. V moderních smartphonech je vibrátor součástí systému Haptic Feedback spolu s Taptic Engine a piezoelektrickými akčními členy. Kvalita vibrací přímo ovlivňuje vnímání zařízení: přesná a rychlá vibrace je spojována s prémiovostí.
V mobilním průmyslu se používají dva hlavní typy vibrátorů: ERM (Eccentric Rotating Mass) s rotujícím nevyváženým závažím a LRA (Linear Resonant Actuator) s lineárním pohybem magnetu. Volba typu závisí na požadavcích na kvalitu hmatových vjemů, ceně a dostupném místě uvnitř těla smartphonu. V levných zařízeních se častěji používají ERM, v prémiových modelech LRA.
ERM (Eccentric Rotating Mass) — klasický vibrátor sestávající z elektromotoru na stejnosměrný proud s asymetrickým závažím na hřídeli. Při přivedení napětí se rotor začne otáčet a odstředivá síla nevyváženého závaží se přenáší na tělo zařízení, čímž vzniká vibrace. Amplituda vibrace se reguluje napětím (2–5 V), frekvence rychlostí otáčení. ERM jsou levné na výrobu, ale mají setrvačnost: doba zrychlení na provozní rychlost je 20–50 ms, po zastavení dalších 10–20 ms setrvačného doznívání.
LRA (Linear Resonant Actuator) — vibrátor, ve kterém se magnet pohybuje podél jedné osy v magnetickém poli cívky. Magnet je zavěšen na pružných prvcích, které zajišťují návrat do výchozí polohy. LRA pracuje na rezonanční frekvenci (obvykle 150–200 Hz), což umožňuje dosáhnout maximální amplitudy při minimální spotřebě energie. Doba odezvy LRA je 5–15 ms, což jej činí výrazně citlivějším ve srovnání s ERM. LRA je kompaktnější než ERM při srovnatelné síle vibrace, optimální pro prémiová zařízení.
| Parametr | ERM | LRA |
|---|---|---|
| Princip | Otáčení nevyváženého závaží | Lineární pohyb magnetu |
| Doba odezvy | 20–50 ms | 5–15 ms |
| Doznívání | 10–20 ms | 1–3 ms |
| Přesnost | Nízká | Vysoká |
| Cena | Nízká | Střední |
Při výběru vibrátoru pro smartphone výrobci zohledňují několik klíčových parametrů: dobu odezvy, přesnost řízení amplitudy, spotřebu energie a rozměr. ERM motory vítězí cenou a jednoduchostí ovládání — pro provoz stačí přivedení stejnosměrného napětí. LRA akční členy vyžadují složitější budič s generováním střídavého signálu rezonanční frekvence, ale poskytují 3–4krát čistší hmatové vjemy.
Podle výzkumu Precision Microdrives spotřebovávají LRA akční členy o 40–50 % méně energie než ERM motory při vytváření srovnatelné vibrace z hlediska vnímání. To je způsobeno rezonančním režimem provozu: maximální amplitudy je dosaženo při minimálním dodávaném výkonu. Současně mohou ERM motory pracovat v širším frekvenčním rozsahu a vytvářet vibrace různé intenzity jednoduchou změnou napětí.
Vibrátor v smartphonu je řízen přes budič, který přijímá příkazy od hlavního procesoru nebo vyhrazeného řadiče hmatové zpětné vazby. Budič převádí digitální příkazy na elektrické signály: pro ERM — stejnosměrné napětí určité úrovně, pro LRA — střídavý signál rezonanční frekvence s nastavitelnou amplitudou. Napájecí napětí vibrátorů je obvykle 2–5 V při proudu 50–200 mA.
Moderní Snapdragon (Qualcomm) a Dimensity (MediaTek) čipsety mají vestavěné bloky pro řízení vibrací podporující vlastní hmatové vzory. Procesor odesílá budiči sekvenci příkazů s určením amplitudy, trvání a tvaru signálu pro každý impuls. Na základě knihovny přednastavených efektů může systém generovat vibrace pro 10–30 různých typů oznámení s individuálními charakteristikami hmatového vjemu.
Na iOS se ovládání vibrátoru provádí přes Core Haptics s podporou složitých vzorů. Na Androidu před verzí 8.0 (API 26) bylo ovládání omezené: vývojář mohl pouze zapínat a vypínat vibraci s pevnou dobou trvání. Od Androidu 8.0 byla přidána třída VibrationEffect s podporou složených průběhů, vlnitých efektů a nastavitelné amplitudy.
Vibrace v mobilních aplikacích se používá pro několik scénářů: upozornění na události (hovory, zprávy), hmatové potvrzení akcí (stisk tlačítek, přepínání přepínačů), herní hmatová zpětná vazba a speciální funkce pro uživatele s poruchami sluchu. Každý scénář vyžaduje jiné parametry vibrace: krátký impuls pro potvrzení, prodloužená vibrace pro upozornění.
Správně nastavená vibrace výrazně zlepšuje uživatelský zážitek. Krátká hmatová odezva při stisknutí tlačítka vytváří pocit fyzické interakce a snižuje kognitivní zátěž. Ve hrách se vibrace používá pro efekt ponoření: simulace výstřelů, srážek, chodu motoru. Podle Google Material Design se doporučuje používat vibraci o délce 10–40 ms pro hmatové potvrzení a 200–1000 ms pro oznámení, aby nedošlo k podráždění uživatele.
Pro usnadnění přístupu (accessibility) hraje vibrace klíčovou roli: umožňuje uživatelům se zrakovým postižením získávat hmatovou zpětnou vazbu o událostech na obrazovce. TalkBack na Androidu a VoiceOver na iOS vysílají vibrační signály při zvýraznění prvků rozhraní, potvrzení akcí a přijímání oznámení. Adaptivní vibrační vzory pomáhají rozlišovat typy událostí bez vizuální kontroly.
Pro práci s vibrátorem na Androidu se používá systémová služba Vibrator, přístupná prostřednictvím metody getSystemService(). Od Androidu 10 (API 29) byl přidán VibratorManager — jednotné API pro řízení vibrací na zařízeních s více vibrátory. Pro kompatibilitu se staršími verzemi vývojáři používají přímo Vibrator s kontrolou dostupnosti metody 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)
}
}
Třída VibrationEffect podporuje dva typy efektů: createOneShot — jediný impuls s daným trváním a amplitudou, a createWaveform — složený vlnový vzor s polem časování a amplitud. Při použití createWaveform pole časování určuje sekvenci zapnutí a pauz, pole amplitud úroveň vibrace (0–255) pro každý segment. Parametr repeat udává index začátku opakování vzoru (-1 pro jednorázové přehrání).
Často kladené otázky
V moderních smartphonech se používají dva hlavní typy vibrátorů: ERM (excentrické s otáčejícím se závažím) v levných zařízeních a LRA (lineární rezonanční akční členy) v prémiových modelech. ERM jsou levnější, ale pomalejší a méně přesné, LRA poskytují čisté hmatové vjemy.
ERM vytváří vibraci otáčením asymetrického závaží, má dobu odezvy 20–50 ms a setrvačné doznívání. LRA pohybuje magnetem lineárně v magnetickém poli cívky s odezvou 5–15 ms a prakticky bez doznívání. LRA poskytuje čistší a rozmanitější hmatové vjemy.
Ano, uživatel může vypnout vibraci v nastavení zvuku a hmatových signálů smartphonu. Na Androidu se to provádí přes „Zvuky a vibrace" → „Hmatová zpětná vazba", na iOS — „Zvuky a hmatové signály" → „Systémové hmatové signály". Vypnutí se vztahuje na všechny aplikace.
Vibrátor lze zkontrolovat přes inženýrské menu: vytočte *#0*# na Samsungu nebo *#*#6484#*#* na Xiaomi a vyberte test vibrace. Na iPhone: Nastavení → Zpřístupnění → Hmatové signály → zapněte „Hmatové signály v režimu vyzvánění". Pokud vibrace chybí — možná porucha motoru.
Na Androidu lze nastavit vibraci pro jednotlivé aplikace přes Nastavení → Oznámení → Kategorie oznámení aplikace. Na iOS se vibrace konfiguruje přes „Zvuky a hmatové signály" → vyberte typ oznámení → „Hmatové signály" s výběrem přednastaveného vzoru.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také