Our electrical system design was driven by the need to play 12 piano keys without overheating the components. Each key required one infrared sensor to receive input from a music sheet and one solenoid that pressed down the key. Power transistors were used to control the high-voltage solenoids with a stable power supply at 5V. All the sensors and solenoids were controlled by one Arduino. The Arduino used multiplexer chips to extend IO pin number capacity to 12 digital outputs and 12 analog inputs.
The circuits for the system were designed to achieve functionality with the minimum number of components, which allowed us to reproduce 12 copies of the same circuit within the budget.
The infrared sensor circuit consisted of an integrated infrared emitting diode and phototransistor and two resistors to provide the appropriate current. The circuits for the 12 sensors were soldered onto a protoboard and powered by an external 5V power supply.
The solenoid circuit consisted of a solenoid, an NPN power transistor, a flyback diode and a resistor to produce appropriate collector current. The flyback diodes were used to eliminate the sudden voltage spike from the solenoids when the power supply was interrupted. The circuit for the 12 solenoids were developed on a breadboard and powered by an external 15V power supply. At the conclusion, it was noted that we may have been putting too much power through our solenoids, and therefore we want to warn you about the heat produced and to be careful when putting more than 12V through the solenoids we suggest.
We chose a 12V, 2A stepper motor to create the scroller mechanism for producing sensor input. The stepper motor was powered by a Polulu motor driver chip that allowed micro-stepping and made it possible for us to adjust the tempo of the input feed.