Music Assembler: Integrated Virtual Musical Instrument With Block-Typed Touch Sensor

There are many people who want to learn playing musical instrument. Sadly, some of them don't start it because of high price of instruments. Based on it, we decided to make integrated virtual musical instrument system to reduce budget of starting new experience and give people more chance to access various instruments. We used block typed sensor since we thought customizing hardware is necessary for giving people similar experience that they're playing actual instrument.

We used Stickii roll bock (rubber block), conductive tape, arduino for hardware. Although we used rubber block, you can use any material or use only conductive tape.

Supplies:

In order to make Block-Typed Touch Sensor, you need following matefials:

  • Stickii Roll Block (not necessary)
  • Conductive Tape
  • Arduino (example will use mega)
  • Cables
  • 1M Resistor

You also need following software:

  • Arduino IDE
  • Unity

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Whole System Design

The whole system is working like this.

Step 2: Step 1: Building a Block Plate

First, if you try to use stickii roll block or the similar one, you have to make block plate.

You have to make holes that will be directly connected to arduino and touch sensor. If you have enough pin in arduino or can expand it, you can make more holes. The more holes exists, people can use the hardware more freely. Holes can get sensors’ touch data by using arduino’s capacitive sensor library.

After making the hole, put the wire into the whole like the second picture and connect the wire to the arduino with 1 resistor like the first picture's sketch.

Below is the arduino code of the example.

#include
#define SIZE 24

CapacitiveSensor cs[SIZE] = { CapacitiveSensor(52,53),CapacitiveSensor(50,51),CapacitiveSensor(48,49), CapacitiveSensor(46,47),CapacitiveSensor(44,45),CapacitiveSensor(42,43), CapacitiveSensor(40,41),CapacitiveSensor(38,39),CapacitiveSensor(36,37), CapacitiveSensor(34,35),CapacitiveSensor(32,33),CapacitiveSensor(30,31), CapacitiveSensor(28,29),CapacitiveSensor(26,27),CapacitiveSensor(24,25), CapacitiveSensor(22,23),CapacitiveSensor(2,3),CapacitiveSensor(4,5), CapacitiveSensor(A0,A1), CapacitiveSensor(A2,A3),CapacitiveSensor(A4, A5), CapacitiveSensor(A6,A7), CapacitiveSensor(A8,A9),CapacitiveSensor(A10, A11)};

bool sens[SIZE] = {false};

void setup() { int i; Serial.begin(9600); for(i = 0; i < SIZE; i++){ sens[i] = false; } }

void loop() { long start = millis(); for(int i = 0; i < SIZE; i++){ //Serial.println(cs[i].capacitiveSensor(30)); if(cs[i].capacitiveSensor(30) > 600) sens[i] = true; else sens[i] = false; }

for(int i = 0; i < SIZE; i++){ Serial.print(sens[i]); } Serial.println(); Serial.flush(); delay(50); // arbitrary delay to limit data to serial port }

Step 3: Step 2: Making the Block-Typed Touch Sensor

Making touch sensor is easy. Just like block plate, make a hole like the first picture and also put a wire.

Then put the capacitive tape top of the block (or other material you want to use).

Step 4: Step 3: Connect Unity and Arduino

This is the final step.

After upload code to arduino, run unity software. (You should not open serial monitor to connect unity and arduino). You can download the unity project in below github.

https://github.com/crysm28/musicassembler

First Time Author Contest

Participated in the
First Time Author Contest

Be the First to Share

    Recommendations

    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    Discussions

    0
    None
    Penolopy Bulnick

    15 days ago

    That looks like a lot of fun to play around with :)