DEBUT ELECTRONIC KEYBOARD
SOFTWARE
The software for this project would account for one third of the functionality. It was a huge challenge to figure out how the system would work! Luckily the VS1053B came with great tutorials to help me figure out how to use the MIDI software. Check the resources page to see where I got a lot of my code.
​
I wrote two programs to test some of the functionalities of my board. See below!
try3.ino
This program, try3.ino, I wrote to test the MIDI software, the VS1053B board, and the Audio Amplifier. You can see it in action on the demo page!
muxTest.ino
I wrote this program, muxTest.ino, to test the functionality of my multiplexer. The multiplexer uses a binary address to pass one of 16 channels. This reduces pin footprint from 16 to only 5!
The final code accomplishes many of the goals I set at the beginning of the project. It reads the IR sensors in real time, at a fast enough rate to be responsive to key presses. The program successfully differentiates between the keys by pitch. The program is also able to change instruments while in use, responding immediately to user rotating the switch. Unfortunately, however, the program does not yet respond to qualitative key presses. That is, the keys function in a strictly on/off manner, so each key press will sound the same regardless of the speed. Additionally, the user is unable to change instrument banks, effectively limiting to only 12 instruments. It is unclear whether this issue is in the software, or whether is is electrical or mechanical in nature. The file link is below. Feel free to take a look for yourself! You can find more in-depth discussion of the software in the user's manual.
try4.ino