Introduction: Curiosibot - Musical Robot
This project is based on Arduino and is controlled my Max/MSP.
Curiosibot is basically a Robot that can play a percutive instrument, in this case the Crotales, and it can be control by any program that runs MIDI via Max/MSP. It play the instrument via the hit of a solenoid under the Crotales and create the note.
The materials for the project are:
1 Arduino uno.
1 USB Cable
1 48V power supply
For each note that the robot would play we need one of this:
1 1KΩ resistance
1 Transistor TIP120 o TIP102
1 Diode 1N4004
Necessary Jumpers and cables.
Step 1: Hardware
For the creation of the Hardware, we need to connect all the
parts like this:
One output pin of the arduino to the Base leg of the transistor through the 1KΩ resistor.
Then we connect the collector leg of the transistor to the ground of the solenoid.
Then the emitter leg would be connected to the ground of our circuit.
Then as you can see on the picture we connect the Anode leg of the Diode from the emitter leg and the Cathode leg to 48 Volt on our circuit. At the breadboard we are using the + strip to run that voltage that would activate the solenoids.
This step is to prevent undesired voltage traveling around
The positive leg of the solenoid would go to the + strip of the breadboard, the one with the 48 volt on it.
For the power we use the + strip for the positive leg of the power supply and the - strip for the negative leg of the power supply.
To close the circuit we need to connect the ground of the Arduino to the - strip of the Breadboard.
Then we need to multiply this process for all the notes that we want to create for the instrument, for an Arduino uno the maximum can be an Octave, 12 notes. But you can still use other board as the Due and have even more outputs.
Step 2: The Mechanical Part
This part would vary depending what instrument would you like to
play, but I would guide you with the Crotales.
As you see at the image there are different options to play the interment, you can use Pull down solenoids attached to a metallic bar to play each note, or use push ups for hit the Crotales from below.
For my project the best option was to use a bar where all the solenoids can be placed and run the cables there, so when I need to attach the mechanical part to the actual instrument I can do it without damaging the instrument.
Also I put LEDs on each solenoid so you can see when its activated. Thats easy, you can use a 2.2KΩ resistance running directly from the solenoid, like the image.
Step 3: Software
For the software part of this project first you would need to
loas StandadFirmata on the Arduino board. You can find that a on the Arduino environment under Files, Examples, Firmata. This would allow you to use Maxuino.
Maxuino is a bridge between Arduino and Max/MSP, for download Maxuino and also for more information:
There you can find the information on how to install Maxuino as an object for controlling Arduino on MAX/MSP
Then you can use the Maxuino Example called "maxuino-example-GUI" that comes with it and play with the Midi in and Out. This example is situated at the folder under examples.
The important thing to notice is that this specific patch is plays all the notes from MIDI, so Maybe you would need to reorganise them depending on what instrument would be play.
When Maxuino receives a note it would output a message to Arduino that said "digitalWrite 13 1" where 13 is the pin and 1 is activate the solenoid, then it would send "digitalWrite 13 0" to deactivate the solenoid.