User:Medelen8/ENES100/Beat Bearing Implement A

HERE is the link to the previous group that our project below is continuing off of.

Cost
Our goal for cost was to keep it under $10 per person and not have to borrow the schools money. We came up with this goal because most of the materials we needed were already in the engineering lab.

Quality
The quality of this project is to meet the previous groups designs and specifications. Below is a detailed design of the board and how it should be laid out.

 File:Final dimensions of plexiglass board.JPG|This is the design of the previous group for the board. 

Implementation Plan (task allocation and work flow)
The Implementation plan for this project had to be organized in a correct sequence such that tasks are not carried out in a disorganized manner.


 * Analyzing the existing design


 * Implementation goals to be achieved at the end of project time frame


 * Minor re-designs carried out


 * Figuring out the next steps


 * Integration of Hardware components


 * Figuring out appropriate software for the entire system


 * Pooling ideas together and work done within the project time frame


 * Final Assembly and integration of both Hardware and Software components


 * Filing a comprehensive report about product implementation and future steps, and finally;


 * Addressing goals which could not be achieved and putting forward appropriate solutions for future use

When we took on this project, there were existing designs rather than an existing design which meant we had to do a bit of designing as well as the implement phase. We integrated the several design ideas that the previous group had an put it together into one finished product. In week 1, we could only get task 1 and 2 out of the way because of the complex nature of the project and the sheer amount of information we had to assimilate in a short period of time. But from week 2, we were able to step it up a notch, the plexi glass, balls, washer templates, midi board, wires, arduinos were available. We had to print new washer templates using a makerbot because the ones made by the previous group were too thick and needed a bit of re-designing on our part. The sample plexi glass components were jagged and not properly cut, so we had to cut them properly giving the edges a nice and smooth finish. We decided to go with Audacity 5.0.4 software for the beat bearing because it was appropriate for the Operating systems we had present in the college and worked well with the beat bearing sequencer. The software aspect of the project requires some extra work which will be completed during the next project time frame. We had to look for ways to integrate a musical keyboard with the audacity software and look for some sort of feedback. Also, an arduino was required to create an interface between the beat bearing board and the software, so we had to come with appropriate codes which will be observed further down on this report. The final assembly of the hardware components has already taken place, now we need to get the arduino, midi board, audacity software, and of course the beat bearing board all to work together before finally integrating both hardware and software into a complete unit. In terms of what we got done and what we didn't, most of the software aspect wasn't finished and would be completed in the next project time frame so it is a matter of making available appropriate next steps on software components and how it will be integrated with the hardware into a final complete system.

Considerations for human user/operators
The user will be able to place a metal ball onto the washer system and have a specific drum sound in response. The user will be able to control the speed, volume, pitch, and timbre through a turn of a knob. The target consumers are people between the ages of 18 and 25. That being said, the product is for everyone from ages 6 and above but we specifically aim this project at the people within the 14-25 age group because the project has to do with music and we find that this group of people are more into music than any other. As a result, we had to give preference to this group of people when coming up with a human-system interface. The following questions arose;


 * How complicated or easy-to-use will the system be?


 * How expensive will it be considering the employment status of people within this age group?


 * How will it appeal to this group of people?


 * Would they be interested?

Considering all these questions, we had to systematically analyze several components of the interfaces. Judging by the fact that the target consumers are usually learned in using computer systems, we didn't really need to come up with a human-system interface that was too easy to use as opposed to creating one for the elderly. Also, because the target consumers are young and their musical tastes lie within the following genres;


 * Rap


 * Rock


 * R 'n' B, and;


 * Hip-Hop

We had to use musical sounds that could comfortably produce music within these genres. Sounds like that from a drum kit, snear drums, piano and other percussion instruments. This ensured that the users could produce rap beats, hip hop beats, R 'n' B beats and others. The cool part of all this is that despite the fact that we used the above genres to select the sounds, other genres of music can also be produced with those sounds which helps when people who have different music preferences acquire the product. One consideration was to look for a way to allow the users to save their music because in other beat bearing projects, users could only mess around with different beat patterns and come back the next day looking blank because they want to re-create what they did the previous day, but they need not worry about that, because the audacity software allows you to save your beats into a MIDI format that is compatible with a keyboard as well as the audacity software. Coming to the question about the users being interested in the product, usually the beat producing softwares out there are complex to use and will require endless days and nights trying to make a reasonable beat, well, what makes the beat bearing so fun to use is its simplicty and its ease of use. The beat bearing can be used by a 6 year old to give an idea of its ease of use. Coming back to the question of interest, most young people have some sort of music in their heads or an idea of what they want to music to sound like but the beat making softwares out there are complex, the beat bearing comes very close in allowing them fulfill that wish with its ease of use.

The manufacturing and/or purchasing of parts
1) The first step to this process was to mark the washer in half so we knew where to cut. The washer is 1 inch in diameter, so we put a line at 1/2 of the diameter.

2) A line on the outside is necessary as well so the line would be straight across the washer.

3) Once the line is marked the washers can be placed in the vice to be cut.

4) Use a #420 disk to cut the washers.

**WARNING**

- Wear eye protection because cutting the washers causes a lot of sparks, and the washer could fly off to another part of the room.

- Hold the dremel very securely with two hands.

- Do not pick up the washer after being cut with bare hands, the pieces are extremely hot.

 File:Plain washer.jpeg|The washer. File:Washer Template.jpeg|Washer template. File:Washer layed out.jpeg|Washer after being marked. 

Below is a video of John cutting the washers with a dremel tool.

cutting washers

Fixing Washer Template
The original washer template was the correct length and width but the holes for the washers were too big.

1) Change the cut out to be 8mm wide in a sample template

When we tested to see if it would still work with the ball bearing we found that the spacing was too far apart.

2) Change the distance between the two halves to 2.3mm

When we tested this we found it to work perfectly with the ball bearing.

3) Create a full size washer template

When we did this everything worked fine but have of the first section would not extrude through in Google Sketch Up. To solve this we still printed the template and used the sample template.

 File:Image (14).jpeg|Here is a view to see that the diameter of the circle is a perfect fit. The gap between the outside of the washer and the template is not a proper fit. File:Image (15).jpeg|This is a comparison from the old template with the new sample template in dark gray. The new template still needed to be re-worked. File:Image (16).jpeg|This is the second sample template that was a perfect fit for the washers. File:Image (13).jpeg|This was the final design for the template that we used to wire the board. There were problems with sketchup when we tried to extrude the first hole for the washers. We used the second sample template for the first holes for the washers. 

Cost
Wire: Free (Found in buckets in Engineer Room)

Superglue: $5.00 You can buy this HERE

Epoxy: $10.45 You can buy this HERE

Plexiglass: Costs varies with size You can buy this HERE

Washers: $7.99 You can buy this HERE

Dremel cut off disks: $9.49 You can buy this HERE

Cutting Plexiglass board
1) Find clean piece of plexiglass

2) Mark where the cut will be using dimensions

3) Use utility knife to cut the plexiglass

4) Cut board till knife is about halfway through the board.

5) Put the cut mark on the edge of a table to help split the board

 File:Marking the board.JPG|Marked the board with a marker using the runner and template to approximate where we would need to cut the board. File:Cutting the plexiglass.JPG|Cut the plexiglass board using a utility knife. 

The assembly of parts into larger constructs
These are the main steps in the assembly process, follow these steps in order.

Some steps below have revised designs, if so, follow those and disregard the original design

The reason to use the new design instead of the old design is because after we glued all the washers down on the completed board we found out that electricity was not flowing through the wires/washers/ball (was not a complete circuit). This is due to the wires wrapped around the washers. The ball needs to sit flush on top of the washers (creates best connection), the wires made it an un-level surface which made it hard for electricity to flow through from the positive side to the negative side.

Setting Up Plexiglass Board
1) To test fit the runners we used the previous groups washer template to space out the runners on the board

2) We found that there were two thinner runners that were suppose to go on the two ends of the board.

3) We used clamps to hold the runners in place.

 File:Close up with board and template.jpeg|Close up of the board and the template to show tight fit. File:Board with template.jpeg|Board with template before using epoxy. 

Gluing Runners Onto Board
1) Use syringe to apply epoxy to glue the two pieces of plexiglass together.

2) Apply pressure to the plexiglass runners. Applying too much pressure or no pressure will not make a good seal. Make sure to practice to find the right amount of pressure needed.

3) Use camps so that the plexiglass runners will not move.

4) Put syringe next to plexiglass seem and the epoxy will seep under the space. Watch video below for example.

**WARNING**

Use gloves, because it is extremely sticky and can damage skin.

 File:Applying epoxy.jpeg|Applying epoxy. File:Clamped board.jpeg|The board is clamped and drying. File:Glued Board.jpeg|The board has been glued and no clamps are needed because it is dry. 

'''Below is a video of the epoxy being applied to the runners. '''

epoxy and runners

Alternative design

While the epoxy will work to glue the runners to the board we decided to try hot glue to see if it would work. Hot glue did work and was safer and easier to work with.  File:The two runners.JPG|The two runners glued down using hot glue. 
 * 1) To glue the runner to the board using hot glue simple apply glue to the runner till its completely covered
 * 2) Put on top of board and apply pressure till the glue has dried
 * 3) Scrape off any excess glue that seeped out onto the board

Gluing washers on board
1) Use hot glue guns

2) Apply small amount of glue on washer

3) Turn washer over into appropriate placement

**Warning**

When the washer touches the board after it has hot glue on it, you have about 2 seconds before it is stuck there forever.

 File:Washer template.JPG|We used the template to set up the outside washers. File:First row of washers.JPG|This is the first row of washers completed. File:Completed board.JPG|All washers are glued down.



Below is a video of me applying the washers to the board.

Applying Washers to the Board Video

Below is a video of grinding the washer down.

Grinding the washer down video

Below is a video to show the difference between the Zap-A-Gap Glue and the hot glue

Zap-A-Gap vs. Hot Glue video

Revised design

1) Use the template to lay out the washers

2) Glue each washer down

Drilling Holes
1) Used a 1/8 inch drill bit to drill each hole.

2) Used the washer template so that we knew where each hole would go.

Below is a video of how we drilled the holes

drilling holes

<Gallery> File:Drilling the holes.JPG|Drilling the holes after being marked with the template. </Gallery>

Revised design

1) Used a 1/8 inch drill bit to drill each hole.

2) Used the washer template so that we knew where each hole would go.

3) When drilling the holes go about half way into the washer

Negative Side
1) Cut 28 pieces of wire at 2.5"

2) Cut 4 pieces of wire at 6"

3) Twist 7 pieces of the shorter wire together and one piece of longer wire at the end (do this 4 times)

4) Feed the wire where the pieces meet through the holes

5) With the wire sticking out of the holed wrap it around the washer halves on apply super glue to hole them together

<Gallery> File:Image (3).jpeg|The wires sticking out of the drilled holes. File:Image (2).jpeg|Takes a very long time to get each wire through the hole while holding everything in place. File:Image (7).jpeg|This is the board with all of the negative washers wired. File:Image (18).jpeg|This is a wire and its casing. This is how we fixed the wires that were too short. </Gallery>

Positive Side
1)Each positive washer has to have a different wire unlike the negative side where they are wired in a continuous path.

2)Use a ribbon cable to wire the positive just like the negative side except keep the wire on the ribbon cable.

3)Each positive washer needs a different wire.

See images below to understand exactly the needs of each positive washer.

Below is a video of the positive side being tested for continuity.

Continuity Test

Revised design

Negative side
1) Cut 28 pieces of wire at 2.5"

2) Cut 4 pieces of wire at 6"

3) Twist 7 pieces of the shorter wire together and one piece of longer wire at the end (do this 4 times)

4) Feed the wire where the pieces meet through the holes

5) Apply solder in the hole to connect the wire with the washer

<Gallery> File:The tape and washer.JPG|The tape was used to hold the washers in place. File:The washer being taped.JPG|The washer taped down so it will not go anywhere. File:Soldering the washers.JPG|Soldering the washers File:The solder without the washer.JPG|The solder without the washer File:The row of washers.JPG|The row of washers File:Wiring the washers.JPG|Wiring the washers </Gallery>

Positive side
1) Each positive washer has to have a different wire unlike the negative side where they are wired in a continuous path.

2) Use a ribbon cable to wire the positive just like the negative side except keep the wire on the ribbon cable.

3) Each positive washer needs a different wire.

5) Solder each wire in the ribbon cable to the washer

<Gallery> File:Preparing the positive side.jpeg| Preparing the ribbon wire to be soldered File:Overall Layout of the wiring.jpeg| The ribbon wire is cut be two inches longer than the board File:Tape washers so they don't move while soldering.jpeg| We taped the washes down so they wouldn't move while soldering File:Soldering the positive side.jpeg| An example of how the ribbon wire is connected to the washer by solder File:Close up of the solder joint.jpeg| Close up of the solder joint </Gallery> This is a video of soldering the wire and washer

Soldering video

Tolerances, variability, key characteristics
There is about a 1/8" room for error between the washer sets on the board. We found that when we were gluing that if we apply too much pressure holding the runners to the board it formed bubbles, however if too little pressure was applied it also formed bubbles.

Software Implementation Process
The software aspect of the beat bearing was very long and time-consuming and required a lot of step by step precision and a bit of understanding. At the beginning of the project, we were able to establish as a group that Audacity software 5.0.2 was the software of choice. As time went on it was becoming clear that Audacity was not going to work for some reasons.The Audacity software was recommended by Prof. Foerster however Audacity cannot be used, or it can only partially be used to import MIDI files as projects on Audacity. This required me to look for other software online that can make our task easier and one compatible with MIDI. Some programs I found were; Musescore, Tuxguitar, Red Dot forever, Finale Notepad, Anvil Studio, Melody Assistant, Rose Garden, Anthem, abcmidi etc. Of all these programs, only Red dot forever, Anvil Studio, Melody Assistant and Finale Notepad that were compatible with windows OS alongside Audacity which limited me to these choices. Starting with Anvil studio, it allows you to record music with MIDI and Audio equipment, compose music for MIDI and Audio equipment, Sequence music with MIDI equipment, play with music using a computer, and print sheet music from standard MIDI files with the optional Print-Sheet accessory.

These software programs were all very excellent and fit the status quo of the project. Although all of them read music in digital or graphical forms.

What this means in essence is that, the music shows as a series of vertical lines that increase or decrease with musical intensity. What we were looking for was something similar to a synthesizer which uses MIDI codes and transforms them into music. This required us to go back to the drawing board and figure out how these codes MIDI Code: the message format

There are 2 types of MIDI message bytes: the status byte and the data byte. Status bytes always begin with 1, and data bytes with 0. That leaves only 7 bits per byte to represent the message (128 possible values). MIDI messages begin with the status byte, where 3 bits (sss) are used to denote the type of message, and 4 bits (nnnn) to denote the channel number to which the message apply (max. 16 channels).

1 s s s n n n n 0 x x x x x x x 0 y y y y y y y

Status Data 1 Data 2.1 byte MIDI Messages. There are two main types of MIDI messages: channel and system. As their names indicate they are addressed to individual channels or the whole system (exception: “omni on” channel messages) Channel messages Message Status Data 1 Data 2

Note off 8n Note number Velocity

Note on 9n Note number Velocity

Polyphonic aftertouch An Note number Pressure Control change Bn Controller number Data Program change Cn Program number - Channel aftertouch Dn Pressure - Pitch wheel En LSbyte MSbyte

MIDI channel numbers (n) are referred as 1 to 16, while in reality they are represented by binary values 0 to 15 (0-F). Example: the status byte of a note off message for channel 7 is “86” Note on / Note off (1)

To a layman, this may look like a bunch of gibberish, but these are the basics of coding, binary and hexes. In essence, this is what a MIDI board understands perfectly and interprets as music. This codes can be programmed into the MIDI board using an arduino. As mentioned earlier, Audacity could not be used because of its lack of compatibility with MIDI formatted music. Ableton live was the eureka moment we were looking for, because this software was compatible with MIDI infact functions more with MIDI than any other format, it allows the user store his/her music and it was absolutely free.

The next software is Processing and was downloaded from www.processing.org. The BeatBearing software was created in version 135; it should work fine with the latest version, but if you have problems, version 135 is recommended by the website. Next is the ProMIDI library for Processing from www.texone.org/promidi and the trial version of Ableton Live or Live LE from www.ableton.com. The ProMIDI library is important because the beat bearing will function as a MIDI synthesizer and as such needs processing in MIDI format to be able to function. Next was to analyze and figure out the sensing of the ball positioning and the visuals underneath (different colors when balls are placed on washers). This can be gotten from Processing which is included in the project bundle. This application reads the position of the bells, then creates the MIDI messages and visuals. The next step after this was to download and Launch Ableton Live (or another MIDI program or soft-synth which I haven't found yet) to generate the sound output. The free trial version of Ableton Live won't let you save settings, but you don't need this to run BeatBearing. On a Mac, configure the program to receive MIDI from Processing via the built-in IAC bus (inter-application communication). With Windows you should be able to route the MIDI using Virtual Audio Cable (www.ntonyx.com/vac), i will scrutinize this further this week. As mentioned earlier, Initially, Audacity was the software program of choice but Audacity didn't allow for import or export of MIDI formatted files, you could only convert the MIDI file to mp3 and see whether Audacity could read it or not. Next was to run the Processing program after the LCD screen has been installed along with the board. No error messages should appear (according to processing.org), and the monitor should turn black with an array of gray dots and a sweeping red line. If the monitor turns gray, then Processing might not be connecting to the board. In this case, the recommendation is to check that all other Processing applications (shown as applets in the dock) are closed and then the board should be re-plugged in and tried again. The Beatbearing Processing code may need some tweaking to get things right. For example, I saw how the virtual grid would function with the real grid after everything had been put together and sometimes some lining up of the virtual grid with the real grid needs to be adjusted. The code has been tweaked to make modifications as easy as possible. Unfortunately i couldnt get Virtual Audio Cable because its costs 50 dollars and was out of our project budget. However, it functions similar to a cable and helps as a "middle man" that is like an interface between software and hardware. So in effect, when a ball is placed on the beat bearing washer, the VAC helps to transfer electricity and interprets it as sound. Ableton is the primary source of sound. It has musical instruments and helps the user to save their work for later use. Below is a rough sketch of the beat bearing and basically how it will look like.



Hardware Software Integration
This step does not apply to our project yet. Once the board is built and wired we will integrate the hardware and software.

This step does not apply to our project yet. Once the board is built and wired we will integrate software with sensor, actuators and mechanical hardware

Test, Verification, Validation, and Certification
One of our goal this month was to find a way to get a reaction when we placed a steel ball on a washer plate To complete that task, we decided to use the washer as a switch that would turn an LED on and off. We learned the basics of writing arduino codes from the arduino website and used that knowledge to modify an example from the arduino software. We found that easier than writing a code from scratch.

The example we used is called StateChangeDetection. After modifying it we were able to get the LED to turn on as we placed the washer on the template and off as we removed it from the template.

Here is how we set up the LED and washer wires on the breadboard and arduino:

This VIDEO shows our results.

Another goal we had was to use the potentiometer connected on Analog0 (A0) to control the speed of a beat. We created a simple beat and modified some arduino examples to complete our goal.

Here is the code we ended up with:

The examples we used were the MIDI code and the analogInput code.

This VIDEO shows the results. Later on we will integrate this into the code that the previous group had written.

One of our tasks for this project cycle was to improve the code that we had created in the past. We had to get the second potentiometer to work as well as to get a code that the previous group had written and make it work with the potentiometers.

The first thing we had to do was to get the second pot to control the volume. We thought we would be able to do so by using the MIDI volume code that we found on the arduino website. We added that code to the one we had and uploaded it but it did not work. When we tested (turned) the potentiometer, the volume did not change. Instead, we noticed that the note had changed. When the pot was on low, the midi was playing on a high note. When we increased the pot's range, a lower note was played.

It turned out that all we had to do was to edit the velocity section of the code. That section functioned using hex numbers. A hexadecimal (hex) number is positional numeral system with a base of 16. it uses the numbers 0-9 to represent values from 0-9 and uses A-F to represent values from 10-15. For instance the number 10 in hex would be 0xA. This website converts normal numbers to Hex numbers. For more information about hex numbers, visit the Hexidecimal wikipedia page.

With the help of our instructor, we found the right hex numbers to use and mapped it to the second potPin.

Here is the new code:

Next, we had to use a song that the previous group had written and get it to work with the pots. We wanted to do that in hope to make it easier for the next group. That way, they will know how to use the code we created to control volume/speed of any drum beat they decide to use in the future.

We chose the song Sail by Awolation.

To get the volume to work with this code, we had to add val2=analogRead(1);      Volume=map(val2,0,1000,0,100); at the beginning of every NoteOn section. We tried to get the speed to work as well but it wouldn't work with this song. When we added the code for speed, it changed the note of the keyboard instead.

Because it was just an example, we didn't use the entire code that the previous group had left. We cut it short. This video shows the volume change.

While working with the arduino and MIDI shield, we encountered one problem that was hard to solve. We were not able to upload codes into the arduino, even though there was nothing wrong with the codes. Whenever we tried to upload a code, we received an error message: "avrdude stk500_getsync not in sync resp=0x00";

we looked for solutions online and this is what we found:

1) You can reset the arduino (the reset button is on the right upper corner of the arduino)

2) if that does not work you can Update the driver;

Instructions 1

instructions 2

we tried those solutions but the message was still showing up. we then removed the shield from the arduino and uploaded the code. After the code was successfully uploaded into the arduino, we placed the shield back on. Although it worked, we had to find a different solution for doing that caused harm to the arduino.

We noticed that there was a switch in the middle of the MIDI shield (right next to MIDI IN) and at the time, the switch button was on RUN. We simply switched it to Program and just like that, we stopped getting that error message.

For the codes we had problems with having the message show up and by removing and replacing the shield from the arduino we could upload a code, but this process won’t be a great idea because we could effect the pins every time we take them out and put it back in, so we are still deciding on a different method to upload this. We tried different buttons to press on the arduino, we also tried resetting the system, but it still needs more practicing on figuring that out. Anyways we tried to find codes for the volume and controlling the pitch. We tested many different codes until we decided to change some of the codes for the volume and we started to get a beat that started off low to high. We were successful with this process. Below you can see the adjustments we made in the code. We had to control the volume by using the second pit. We found a code online for the volume that we decided to join with the previous code we have but it didn’t seem helpful or relevant to our problem, so we took its out and then discovered the turning the potentiometer it would change the sound of the note rather then how high or low the note is. To fix the problem of the high and low notes we edited the velocity of the code we had before. It only worked by using hex numbers.



As for the buttons, we were not able to get them to work. We were planning on getting the first one to turn the song on and off. We started with the AnalogInput example from the arduino software and modified it but we were not able to get the switch button to turn the music on and off.


 * Above is the code for the button that wasn't working as we thought. We changed up somethings and added to it, but it wouldn't work and when we tested it, as we clicked the on/off button it would stop the song at a random point and continue on after a couple seconds. So we knew something was working, but it just needed more work.

Therefore, we thought we needed to start simple and figure out where the problem was. We removed the the code for the SAIL song and started with an easy/simple beat instead. When we tested it, the switch button was still not working. We are doing something wrong but unfortunately we just can not figure out what it is.

videos
 * 1) Volume changes only after each measure VIDEO
 * 2) Volume stays the same when you turn the knob VIDEO
 * 3) volume successfully changes VIDEO

We found a code online for the song Sail, but when we transferred and uploaded the song through the arduino it had problems. In the three video I recorded the problems we had and after spending time finding a solution, we had a successful result, which is in the third video. To elaborate more after we had uploaded the original code for the song, we tried turning the volume from high to low but the volume wouldn't get lower until after every measure, when we turned the knob. We didn't understand why it was doing this, which made us very frustrated, so we started the trial and error method and tried different things to add and change from the code. We even tested ( In the second video) if the volume would change after every measure without even turning the knob, because we weren't sure if this problem had to do anything at all with the knob or with what we added to the code. So finally after testing many theories we finally decided to add after every measure the volume which changes the range. when we added the volume and uploaded the code we played the song and turned the knob and the volume changed right away, instead of having to wait after every measure for it to get higher or lower, which is not what we intended on doing.

In this design i drew out a crate that is used as a cradle that the monitor could be placed in to ensure its stability, while the monitor will be placed upside down with all the wiring and arduino hidden underneath it, then the board sits on top if it.

A computer precedes the rhythms response from the arduino and converts it instantaneously into both MIDI sound data and images for demonstration on the screen beneath the grid. The computer turns standard software to translate MIDI into a sound.
 * Next the monitor will be connected to a computer or laptop using a USB cord. I sketched out the board placed on top of the monitor, where the ball bearings are positioned in any place that closes the electrical connection in-between the metal washers that are split. The arduino uno that has a Midi shield attached on top it, gathers the ball on each washer, and is constantly sending this information to a laptop or a computer using the usb cord that’s attached to the monitor from the computer. Values of  the washers will be seen receiving  information.



This step does not apply to our project, because we have yet to put the different parts of the project together to test it.

After putting on the negative side we needed to check for continuity.

1) Use a multimeter. Put the multimeter in the beeping setting (the bottom middle).

2) We put either the positive or negative side on the far washer and other side (positive/negative) on the end of the wire that is connected to all the negative washers.

3) Once we heard a beeping sound we knew that there was a path of electrical current passing through all the washers and wires. Sometimes there was nothing, so we had to move the prongs around a little bit.

Below is a video showing a complete circuit

complete circuit

Implementation Management
We are partnering with redbull if things go well.

- Use a half inch plexiglass board and router the rows under where the balls sit. This would make for a much cleaner look and it would also cut down time on glueing.

- Come up with a different way to wire the board. For example, the current wires intrude the sight between the computer screen and the viewers eyes, making the line that goes underneath the board hard to see.

- Use counter sink screws/bolts in the washers to connect the wires. This would insure that there is a good connection to the washer.

- There should be another washer template for the board made on sketchup and printed with the first washer hole completely through. When we made the template the first hole for the washer was giving us a problem so we used a combination of two templates.

Next Steps

 * Write sample code to use the midi shield pots and buttons to increase volume and speed
 * Glue washer halves down to board
 * Connect the board to the arduinos
 * Wire the positive side of the board
 * Create a wire harness to connect all the wires together


 * Get speed to work with the one of the codes found HERE            under IMPLEMENT >> sample MIDI songs.
 * Get the first switch button to turn song on and off
 * Assign roles to the other two switch buttons
 * Connect the test board to the arduino
 * Build a full size board
 * Download and install Virtual Audio Cable (VAC)
 * Get Ableton live to work with processing (beat bearing software version 135) and integrate it with VAC.