My Account | My Profile

RobOrchestra III: Robotic Harmony

 

by webster32

     

Microcontroller Board


The Fruitfly
The instruments run on a custom built microcontroller called a Fruitfly. An upgrade from the previous microcontrollers used by RobOrchestra, the Fruitfly is based on the ATMega128.
Communication
It now supports USB and provides a myriad of other communications options such as SPI and I2C. It can be programmed expediently through the use of a bootloader and runs code written in C. Communication between the music generating algorithm and boards occurs over USB. Each time step for each instrument is transferred at once over USB to the master microcontroller. There the time step is parsed for its final destination and then sent out over I2C to the correct instrument that will then play the note for that time step. This process is repeated until the song is finished. Because of the high bandwidth between each of the interconnects, there is negligible latency.
UPDATED:
The RobOrchestra team made a platform change to the Arduino boards as of May 2009. This was a great change as we were able to synchronize all of the instruments together in under 3 days, something we hadn't accomplished in over 3 years!

The board is based on the ATMega 328, a vast improvement from the ATMega 128L we were using previously. Each board has less I/O, but better suits our needs. We use the standard 13Digital/6Analog boards for three of the instruments, and an Arduino Mega for xylobot, which requires 17 outputs.
Creative Commons License

Project Background

Started: Fall 2005
Completed: In Progress
Funding: CMU URO
Budget: $850 (annual)

Members: Rich Pantaleo, Erica Sandbothe, Barkin Aygun, Kevin Woo, Laura Abbott, Daniel Shope, Justin Scheiner, Katherine Coste, Lesley Linne, Greg Williams, Matthew Kaemmerer

Description:
RobOrchestra is a team dedicated to creating a robotic orchestra that plays music of its own devising.

Assembly Instructions

Advertisements