Tristan is an acoustic musician and a coder so he combined his skills in this musical performance.  

What worked and what didn't 

Tristan tried a number of different types of motors for his robot including Car Door Locks, Stepper Motors and Solenoids, but they were all too noisy for the acoustic application he was going for. 

He finally settled on  Hitec HS-311 servos normally used for RC cars/airplanes. 

System Diagram 

The key thing here is that the Arduino controller maps MIDI note values to servo angles, and midi velocity values to the speed at which we move to those angles. For example if I sent a MIDI message (note: C2, velocity: 120), then every 1ms the controller will step the servo towards the C2 angle using some increment size determined by the velocity value.

by Tristan Calderbank

For more details.....

Tristan has more details of his project on his web page and has made the Arduino code available on his Github.  


midi-serv/midi-serv.ino at master · tristancalderbank/midi-serv · GitHub

Control servos using MIDI notes + Arduino. Contribute to tristancalderbank/midi-serv development by creating an account on GitHub.