-
-
Raspberry Pi (2 or 3) with SD card
-
8 HC-SR04 ultrasonic sensors
-
Octasonic Breakout Board
-
Bi-Directional Logic Level Converter
-
32 x 12" Female-Female Jumper Wires for connecting the ultrasonic sensors
-
13 x 6" Female-Female Jumper Wires for connecting the Raspberry Pi, Octasonic, and Logic Level Converter
-
Suitable power supply for the Raspberry Pi
-
PC speakers or similar
-
Adafruit STL2561 Lux Sensor
-
Card Board​​
-
Step 2: Connect the Ultrasonic Sensors to the Octasonic Board​
​
Step 3: Connect the Logic Level Converter to the Octasonic Board
​
-
-
5V to HV
-
SCK to HV4
-
MISO to HV3
-
MOSI to HV2
-
SS to HV1
-
GND to GND
-
Step 4: Connect the Logic Level Converter to the Raspberry Pi
​
-
-
3.3V to LV
-
GPIO11 (SPI_SCLK) to LV4
-
GPIO09 (SPI_MISO) to LV3
-
GPIO10 (SPI_MOSI) to LV2
-
GPIO08 (SPI_CE0_N) SS to LV1
-
GND to GND
-
Step 5: Connect Raspberry Pi 5V to Octasonic 5V​
-
To power the Octasonic board
-
Connect one of the the Raspberry Pi 5V pins to the 5V pin on the Octasonic AVR header----the bottom left pin in the 2 x 3 block on the top right of the board.​
-
​
Step 6: Install Software​
-
On Raspberry Pi, install the following
-
FluidSynth​
-
Rust Programming Language
-
-
Download our source code in GitHub
​​
Step 7: Make Music!
-
Unzip the source code, then navigate into the folder
-
Build the code using command: cargo build --release
-
Run the code using command: ./run.sh
-
Connect speakers to the 3.5mm audio jack on the Raspberry Pi and you should hear music as you move your hands over the sensors.
​​
​
Assembling Light Sensor
​Step 1: Connect the light sensor to Arduino board (here we are using Teensy 3.1)
-
Use the example code from TSL2561 Arduino Library provided by Adafruit : https://github.com/adafruit/TSL2561-Arduino-Library
-
Modify the code to print only the luminosity of visible light (the "X" variable)
Step 2: Connect the Arduino board to Raspberry Pi using USB cord
-
Use Rust SerialPort library to read serial port: https://crates.io/crates/serialport
-
Modify UltrasonicPiPiano code to use luminosity data to update instrument
​
​
Box Assembly
-
Purchase bendable cardboard
-
Cut out the cardboard, which has four pieces in total.
-
Assemble the pieces together, arrange the Raspberry Pi, breadboard, and wires within the box, and secure the box with hot glue or tape.
Assembling Ultrasonic Piano
Detailed instructions of how to assemble please refer to the Instrutable project page:
​
Step 1: Purchasing Materials
For this, you will need the following ingredients:​