well if you take a close look at those chips Haptic Motor Driver - DRV2605L
The datasheet says "Automatic Resonance Tracking and Reporting (LRA Only)"
You get a lot of comfort with using these chips. Because the driver-chip does the resonate tracking.
Without a driver-chip; a single MOS-FET can switch ON/OFF but a single MOS-FET can not create an alternating current. For creating an alternating current you have to build up H-bridges on your own (four MOS-FETS) or use H-bridge-modules and then all the hassling about measuring where is the resonant frequency is up to you by adding current-sensors or force-sensors to find them.
If you mean you yourself want to control the AC's frequency it is different. But you still will need H-bridges to create AC-current. If you want this current to be aproximated to a sinewave again you will need additional effort to do that.
EDIT: The article you linked to says they were using a computer-audio-signal to create a sinewave-signal. That is a neat solution for the cost of needing a real computer (at least a raspberry Pi which can create the sinewave-signal.
Maybe an MP3-player-modul can be used with the arduino. But then you loose comfort in sweeping the frequency
WIth googling I found this link:
It needs 2 IO-pins per aproximated sinewave. So you would need 10 for 5 approximated sinewaves.
And still you need additional hardware.
Or using something like this:
This leads to the question: is mechanical vibration what you need in the end? Or is the final purpose a LRA-driving device?
If it is mechanical vibration: how about using ERMs? Much simpler to drive by a simple PWM-signal you can control the rpm.
EDIT2: Eby has some really small modules to create a sinewave
The output of this module can be connected to a small audio-amplifier
best regards Stefan