The Adafruit DRV2605L Haptic Motor Controller is designed specifically for controlling tactile motors such as buzzers and vibration motors. Typically, these types of motors are only turned on and off, but this driver has the ability to provide various effects when driving a vibration motor. For example, it can control the vibration intensity, create 'click' effects, vary the buzz levels, and even make the vibration follow a music/sound input.
This chip is controlled via I2C - after initialization, a "string" of multiple effects can be put together in the chip's memory and then triggered to run consecutively. The built-in effects are much more than just 'on' and 'off,' making your tactile project feel much more sophisticated and enjoyable.
According to the product page, it can be used with both LRA (Linear Resonant Actuator) and ERM (Eccentric Rotating Mass) types of motors.