A vibrátor (rezgőmotor) — egy elektromechanikus eszköz, amely rezgést hoz létre a mobiltelefonokban a tapintási visszajelzés és értesítések számára. A modern okostelefonokban a vibrátorok két fő típusát alkalmazzák: excentrikus (ERM) és lineáris rezonáns aktuátorokat (LRA). A All About Circuits, 2024 adatai szerint az LRA-aktuátorok 3-szor gyorsabb válaszidőt biztosítanak az ERM-hez képest.
Főbb pontok
Vibrátor (rezgőmotor) — egy miniatűr elektromechanikus eszköz, amely az elektromos energiát mechanikus rezgésekké alakítja az okostelefon házának rezgésének létrehozásához. A vibrátor fő célja — a felhasználó tapintási értesítése bejövő hívásokról, üzenetekről és értesítésekről hangjelzés használata nélkül. A modern eszközökben a vibrátort a tapintási képernyővel való interakció során is használják tapintási visszajelzésre.
Az első vibrátor egy mobiltelefonban 1992-ben jelent meg a Motorola Startac modellben a hívások néma jelzésére. Ma a rezgést nemcsak értesítésekre, hanem a felhasználói műveletek megerősítésére is használják: billentyűlenyomások, húzások, érintések. A modern okostelefonokban a vibrátor a Haptic Feedback rendszer része a Taptic Engine és a piezoelektromos aktuátorok mellett. A rezgés minősége közvetlenül befolyásolja az eszköz érzékelését: a pontos és gyors rezgés prémium érzethez társul.
A mobiliparban a vibrátorok két fő típusát használják: ERM (Eccentric Rotating Mass) forgó kiegyensúlyozatlan súllyal és LRA (Linear Resonant Actuator) a mágnes lineáris mozgatásával. A típus kiválasztása a tapintási érzetek minőségére, költségére és az okostelefon házában rendelkezésre álló helyre vonatkozó követelményektől függ. A költségvetési eszközökben gyakrabban használnak ERM-et, a prémium modellekben LRA-t.
ERM (Eccentric Rotating Mass) — klasszikus vibrátor, amely egy egyenáramú elektromos motorból áll, a tengelyen aszimmetrikus súllyal. Feszültség alkalmazásakor a forgórész forogni kezd, és a kiegyensúlyozatlan súly centrifugális ereje átadódik az eszköz házának, rezgést hozva létre. A rezgés amplitúdója feszültséggel (2–5 V), frekvenciája a forgási sebességgel szabályozható. Az ERM olcsó a gyártása, de tehetetlenséggel rendelkezik: a munkasebességre gyorsulás ideje 20–50 ms, megállás után további 10–20 ms tehetetlenségi utórezgés.
LRA (Linear Resonant Actuator) — vibrátor, amelyben a mágnes egy tengely mentén mozog a tekercs mágneses mezőjében. A mágnes rugalmas elemekre van felfüggesztve, amelyek biztosítják a visszatérést a kiindulási helyzetbe. Az LRA rezonanciafrekvencián (általában 150–200 Hz) működik, ami lehetővé teszi a maximális amplitúdó elérését minimális energiafogyasztás mellett. Az LRA válaszideje 5–15 ms, ami jelentősen érzékenyebbé teszi az ERM-hez képest. Az LRA kompaktabb, mint az ERM összehasonlítható rezgési erő mellett, optimális a prémium eszközökhöz.
| Paraméter | ERM | LRA |
|---|---|---|
| Elv | Kiegyensúlyozatlan súly forgatása | Mágnes lineáris mozgása |
| Válaszidő | 20–50 ms | 5–15 ms |
| Utórezgés | 10–20 ms | 1–3 ms |
| Pontosság | Alacsony | Magas |
| Költség | Alacsony | Közepes |
A vibrátor kiválasztásakor az okostelefonhoz a gyártók több kulcsfontosságú paramétert vesznek figyelembe: válaszidő, amplitúdószabályozás pontossága, energiafogyasztás és méret. Az ERM-motorok a költség és a vezérlés egyszerűsége terén nyernek — a működéshez elég állandó feszültséget kapcsolni. Az LRA-aktuátorok összetettebb meghajtót igényelnek váltakozó jel generálásával a rezonanciafrekvencián, de 3–4-szer tisztább tapintási érzetet biztosítanak.
A Precision Microdrives kutatása szerint az LRA-aktuátorok 40–50%-kal kevesebb energiát fogyasztanak, mint az ERM-motorok az érzékelésben összehasonlítható rezgés létrehozásakor. Ez a rezonáns működési módnak köszönhető: a maximális amplitúdó minimális betáplált teljesítmény mellett érhető el. Ugyanakkor az ERM-motorok szélesebb frekvenciatartományban működhetnek, különböző intenzitású rezgést hozva létre egyszerű feszültségváltoztatással.
A vibrátort az okostelefonban egy meghajtó vezérli, amely parancsokat kap a főprocesszortól vagy egy dedikált tapintási visszajelzés-vezérlőtől. A meghajtó a digitális parancsokat elektromos jelekké alakítja: ERM esetén — meghatározott szintű állandó feszültség, LRA esetén — változó amplitúdójú rezonanciafrekvenciás váltakozó jel. A vibrátorok tápfeszültsége általában 2–5 V 50–200 mA áram mellett.
A modern Snapdragon (Qualcomm) és Dimensity (MediaTek) chipsetek beépített rezgésvezérlő blokkokkal rendelkeznek, amelyek támogatják az egyedi tapintási mintákat. A processzor parancssorozatot küld a meghajtónak, megadva az amplitúdót, időtartamot és jelalakot minden impulzushoz. Az előre beállított effektusok könyvtára alapján a rendszer 10–30 különböző típusú értesítéshez képes rezgést generálni egyedi tapintási érzet jellemzőkkel.
iOS-en a vibrátor vezérlése a Core Haptics-on keresztül történik, összetett minták támogatásával. Androidon a 8.0 (API 26) verzió előtt a vezérlés korlátozott volt: a fejlesztő csak fix időtartamú rezgést tudott be- és kikapcsolni. Az Android 8.0-tól kezdve megjelent a VibrationEffect osztály, amely támogatja az összetett hullámformákat, hullámos effektusokat és állítható amplitúdót.
Rezgést a mobilalkalmazásokban több forgatókönyvhöz használnak: események értesítése (hívások, üzenetek), műveletek tapintási megerősítése (gombnyomások, kapcsolók átkapcsolása), játék tapintási visszajelzés és speciális lehetőségek hallássérült felhasználók számára. Minden forgatókönyv más rezgési paramétereket igényel: rövid impulzus a megerősítéshez, hosszú rezgés az értesítéshez.
A megfelelően beállított rezgés jelentősen javítja a felhasználói élményt. A rövid tapintási válasz egy gomb megnyomásakor fizikai interakció érzetét kelti és csökkenti a kognitív terhelést. Játékokban a rezgést a merülési hatáshoz használják: lövések, ütközések, motor működésének szimulálása. A Google Material Design szerint ajánlott 10–40 ms időtartamú rezgést használni tapintási megerősítéshez és 200–1000 ms-t az értesítésekhez, hogy ne okozzon irritációt a felhasználónak.
Az akadálymentesítés (accessibility) számára a rezgés kulcsszerepet játszik: lehetővé teszi a látássérült felhasználók számára, hogy tapintási visszajelzést kapjanak a képernyőn történő eseményekről. A TalkBack Androidon és a VoiceOver iOS-en rezgésjeleket küld a felületi elemek kiemelésekor, műveletek megerősítésekor és értesítések fogadásakor. Az adaptív rezgésminták segítenek megkülönböztetni az eseménytípusokat vizuális ellenőrzés nélkül.
A vibrátorral való munkához Androidon a Vibrator rendszerszolgáltatást használják, amely a getSystemService() metóduson keresztül érhető el. Az Android 10-től (API 29) kezdve hozzáadták a VibratorManager-t — egységes API-t a rezgés vezérléséhez több vibrátorral rendelkező eszközökön. A régebbi verziókkal való kompatibilitás érdekében a fejlesztők közvetlenül a Vibrator-t használják a createOneShot() metódus elérhetőségének ellenőrzésével.
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 VibrationEffect osztály kétféle effektust támogat: createOneShot — egyetlen impulzus meghatározott időtartammal és amplitúdóval, valamint createWaveform — összetett hullámminta időzítések és amplitúdók tömbjével. A createWaveform használatakor az időzítési tömb a bekapcsolások és szünetek sorrendjét, az amplitúdó tömb pedig a rezgés szintjét (0–255) határozza meg minden szegmenshez. A repeat paraméter a minta ismétlésének kezdő indexét jelöli (-1 egyszeri lejátszáshoz).
Gyakran ismételt kérdések
A modern okostelefonokban két fő típusú vibrátort használnak: ERM (excentrikus forgó súllyal) a költségvetési eszközökben és LRA (lineáris rezonáns aktuátorokat) a prémium modellekben. Az ERM olcsóbb, de lassabb és kevésbé pontos, az LRA tiszta tapintási érzeteket biztosít.
ERM aszimmetrikus súly forgatásával hoz létre rezgést, 20–50 ms válaszidővel és tehetetlenségi utórezgéssel. LRA a mágnest lineárisan mozgatja a tekercs mágneses mezőjében, 5–15 ms válaszidővel és gyakorlatilag utórezgés nélkül. Az LRA tisztább és változatosabb tapintási érzeteket biztosít.
Igen, a felhasználó kikapcsolhatja a rezgést a hang- és tapintási jelzések beállításaiban az okostelefonon. Androidon ez a „Hangok és rezgés" → „Tapintási visszajelzés", iOS-en „Hangok és tapintási jelek" → „Rendszer tapintási jelek" menüponton keresztül történik. A kikapcsolás minden alkalmazásra vonatkozik.
A vibrátort a mérnöki menün keresztül lehet ellenőrizni: tárcsázza a *#0*#-t Samsungon vagy a *#*#6484#*#*-t Xiaomin, és válassza ki a rezgéstesztet. iPhone-on: Beállítások → Akadálymentesítés → Tapintási jelek → kapcsolja be a „Tapintási jelek csengő módban" lehetőséget. Ha nincs rezgés, lehetséges a motor meghibásodása.
Androidon beállítható a rezgés egyes alkalmazásokhoz a Beállítások → Értesítések → Alkalmazás értesítési kategóriái menüpontban. iOS-en a rezgés a „Hangok és tapintási jelek" → válassza ki az értesítés típusát → „Tapintási jelek" menüpontban konfigurálható előre beállított minta kiválasztásával.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is