This project provides all of the software components for playing an air keyboard, an instrument that allows the player to generate piano sounds by moving his or her hands and fingers.
*Node
*Wekinator
*Web Camera
*3 Micro:bits
*2 Micro:bit Breakout Boards
*2 AAA Battery Packs
*8 Flex Sensors
*8 Knitted Finger Sweaters
*2 Gloves
To run the web application you will need node
You may download node from the nodejs website.
If you are on Mac, you may use homebrew
:
brew install node
For more details on Windows download, you may look to this walkthrough.
To install Wekinator, download if from the Wekinator website and to use the keyboard project, open the Keyboard_808Inputs.wekproj file.
The gloves were constructed each with four flex sensors in voltage divider circuits, as shown on the Sparkfun setup guide. After connecting the Micro:bits to their breakout boards, the flex sensors are connected to the analog pins on the Micro:bit, as shown in the Micro:bit pinout diagram. The finger sweaters should be wrapped around each finger, holding the flex sensors in place.
To ensure that you are using the correct Micro:bit code, install the following hex files to their corresponding devices: microbit-Flex-Sensor-Read.hex -> Computer Micro:bit microbit-Left-Flex-Sensor-Write.hex -> Left Glove Micro:bit microbit-Right-Flex-Sensor-Write.hex -> Right Glove Micro:bit
The first time run:
npm install
To run web application use:
node .
Once the project is running, open the Wekinator project and navigate to localhost:4243/training in your browser to begin training your hand motions for the keyboard. After following the training instructions in the web app, it will direct you to the keyboard at localhost:4243/keyboard/, where you can start playing.
After putting on the gloves, make sure that all of the finger sweaters are embracing the flex sensors and that the Micro:bits are all plugged in. Connect the glove Micro:bits to the battery packs and the other to the computer.
This web application contains modified code of a MVC using javascript from an awwwards tutorial along with code from Github Repository OSCtoSocketIO.
Demo Video: https://www.youtube.com/watch?v=5_wUqumXHec&feature=youtu.be