Main Content

Using one Arduino Uno board to control 88 solenoids to play piano.

How it begin:
Many years ago, Yamaha introduced automated piano. Young and innocent me saw that piano playing music behind glass window of an instrument shop.

Enough of small talks, there really isn’t big reason why I started this project besides I just wanted to.

Overview:
A single board of Arduino Mega costs about $40 and two will be required to control 88 solenoids. That’s quite expensive. Instead, get a cheap Arduino Uno and 11 of shift-register. Shift Register is a method to control many outputs (usually LEDs) with small number of output pins. Essentially, it’s one Arduino with 11 shift registers and control 88 Solenoids.

Since we’re using Shift registers, a PC will send a set of bits to Arduino instead of MIDI com. MIDI file will be translated into set of bits before hand.

Hardware:
When I got the solenoids straight from China, I found out that these solenoids are not strong enough to push piano keys. Of course pushing piano keys from inner most spot takes more force but I thought it was the best method that doesn’t wreck a piano. Eventually I pushed 24V through 12V solenoids to get enough power.”

Link to article