Friday, November 15, 2024

How Do Smartphones Get Vibrations?

- Advertisement -

Introduction to Haptics in Smartphones

We are all familiar with a smartphone’s vibrations, whether it is for alerting us to a phone call or setting the phone on vibration mode for other applications.

Vibrations are caused by a small component like the one shown in the picture. Haptic refers to the sense of touch, which is used to provide feedback to electronic devices such as smartphones and tablets through vibrations.

Mobile phone flat-coin vibration motor
Mobile phone flat-coin vibration motor

Types of Vibration Motors in Mobile Devices

There are two types of motors to set off those vibrations: eccentric rotating motor (ERM) and linear resonant actuator (LRA). Whether the vibrations are simple or sophisticated, the process begins with either a touch or a signal from the software or hardware.

- Advertisement -

How Vibrations are Triggered

An electrical signal from hardware, such as an incoming phone call or the push of a button, goes to a microprocessor dedicated to haptic creations. You can have a library of vibrations for different occasions or you can program these to create a unique touch sensation.

The microprocessor decides what type of vibrations are needed, but since it does not have enough power to create the vibrations, it hands over the job to a haptic driver. Drivers might be included in some processors.

Using the control signal from the processor as a guide, the haptic driver sends current, which rapidly changes in strength to one of two types of haptic actuators/motors, causing vibrations.


Other Important Questions

Q. How does a transistor work in the world of electronics?

The most important invention of the 20th century is a transistor switch, whose functions are similar to a wall switch. It lets electricity flow through it or opens to block the current. The difference is that the transistor can be made exceedingly small. Due to its small size, you can make a microprocessor with millions of transistors. A transistor has the ability to turn on and off so rapidly that the number of times it closes or opens is measured in millions of a second.

Functions of a transistor include amplification and switching. For example, weak signals coming from a microphone can be strengthened using power amplifying transistor(s), so that it can be heard through a loudspeaker. Without changing the waveform of the input signal, only voltage or current of the signal is amplified.

While this is the case of analogue signals, in the case of digital signals used in computers, the transistor plays the role of a switch, changing the state between 0 and 1. Integrated circuits and very-large-scale-integrations are basically collections of transistors. In this electronics age, these small transistor devices are directly or indirectly part of many innovations and scientific wonders.

Q. What languages can be used for Arduino Uno and Raspberry Pi?

C/C++, Python, Java, JavaScript and Perl are some popular programming languages for embedded systems, Arduino Uno and Raspberry Pi. According to a recent study, more than 95 per cent of programming languages used in embedded system today are written in C or C++.

C programming language is currently the most popular for the Internet of Things (IoT) and embedded system programming. It is because with C you have easy access to physical hardware, good control over memory management and better performance as compared to other programming languages.

According to another report, the fastest-growing programming language for embedded computing is Python. Some Arduino and Raspberry Pi projects may be highly compact, so simple program environments or languages like B# (or B sharp) are more suitable.

Arduino Uno

Arduino Uno works on Arduino integrated development environment (IDE), which supports C and C++ using special rules of code structuring, based on Wiring Project. A program written with Arduino IDE is called a sketch. There are also other programming languages in use for Arduino projects, like Python, Ardublock and Snap4Arduino.

Raspberry Pi

GCC, Scratch, Java and Ruby come pre-installed on Raspberry Pi. The Raspberry Pi Foundation recommends Python and Scratch as the programming languages because these are easier to pick up. However, any language that can compile for its processor like ARMv6 can be used with Raspberry Pi.

Explore more smartphone articles on our website!


SHARE YOUR THOUGHTS & COMMENTS

EFY Prime

Unique DIY Projects

Electronics News

Truly Innovative Electronics

Latest DIY Videos

Electronics Components

Electronics Jobs

Calculators For Electronics