Rainboard - DIY Dynamic Rainbow Isomorphic Keyboard
Rainboard Version Beta
The current hardware for the rain board uses standard DIY parts off of the internet.
- 64 - LED Pixel RGB 8mm Naked PCB from Bliptronics
- 64 - Arcade Button - 30mm Translucent Clear from Adafruit
- 64 Button Shield from SpenzieLabs
- Arduino Uno Board
- iOS Serial Cable Redpark Serial Cable
Overall Connectivity Plan
The arduino Uno will be used as the brains of the Rainboard. It will take all input from the buttons and encode any input button presses to a unique number. The numbering system starts in the upper left corner of the Rainboard and increases through to the right side. At the end of the row, the number will continue on the next lower row starting at the left side. The button press will be sent to Musix where the press will be translated to audio via an internal sound engine or transferred to another synthesizer via midi. The lights on the Rainboard will also be controlled from Musix. Upon connection of Musix to the Rainboard, the buttons on the Rainboard will be coloured in correlation to the layout selected within Musix. This allows the Rainboard to be quickly configured using the Musix iPad/iPhone interface.
- Needs Diagram of Rainboard Number layout*
Current Issues / Limitations
Bliptronics lights / SPI / Serial breaking
The Arduino library that comes with the bliptronics lights uses SPI in order to send data to the lights quickly. It was found that once the blip library was included with the project and init was called, hardware serial data receive (rx pin 0) on the arduino would not work. The current explanation is that the blip library spends a large quantity of time inside an interrupt. This is causing the serial rx interrupt to not be fired and the receive data is lost. So cercumvent this issue, SoftwareSerial is used instead of hardware serial. For more details on the issue please visit Rainboard LED Issue page.
SerialSoftware (NewSerialSoftware v11b)
In order to work around the broken hardware serial rx, a software serial solution called NewSoftSerial was used. The version currently being used is version 11 beta. This library will like replace the SoftwareSerial library included with the Arduino software. The serial connection is used to talk to the red park serial cable. It appears that connections from the Rainboard to the iPad worked fine, but data would get corrupted from the iPad to the Rainboard when sending more than a few bytes. This issue has been fixed by altering the timing of the serial receive delays. For more details on the issue please visit Rainboard NewSoftSerial.