Tube Grube
Project Goal-
Turning an inner tube into an interactive musical toy. An interactive installation piece, bumping and hitting the tube produces MIDI sounds based on vibration. The Tube Grubes create an entertaining interaction through touch and sound for the user, and also can be used with mulitple users interacting with eachother. Its a fun musical toy for everyone.
Current Status of Tube Grube-
Each tube is wired with 2'' Piezo sensors lining both the inner and outer seam. Each of the two rings of sensors is programmed to play a unique MIDI sound when struck. The tubes are tethered to the breadboads through the coiled wires that are connected to the sets of Piezos.


Challenges-
One of our main challenges is to isolate the sounds produced by each ring of sensors, and give the user accurate feedback. Currently when the user hits the tube, it triggers multiple attacks rather than one distinct hit. Direct hits on a single sensor will sometimes trigger both sounds.
Also it would be best to remove the tether and have the tubes controlled through a wireless interface, allowing the user to move freely and use the tube in various positions.
Target Users-
Our target users are children and adults who are in the installation area that has been created with the tubes. The installation area would be really any setting where there is a fairly large space for the user/s and the tubes to move freely with the tube. Both children and adults should feel welcome to pick the tubes up and immediately start playing with the objects in whatever way they deem necessary. The primary actions people performed during the user-testing phase of the Tube Grube are as follows: spinning the tube around an arm, puting the tube around the waist and hitting the the tube to hear the various sounds it can make, and putting the tube around the waist and bumping into another person with the tube on, Tube Grube wrestling if you will.
Hardware Design-

1. 2 Inch Piezos- Murata 7BB-50-1A10. Larger than usual, 50mm (2") diameter, piezo element. 6" color-coded leads.
CAT# PE-50
2. Power Source - battery
3. PIC 18452
4. MIDI synthesizer
Code-
'#TUBE GRUBE. OWN IT. '# '#Bennett, Teresa, Joanna'#
'__________________________
'## DEFINITIONS ##
'ADCIN parameters for pot control
DEFINE OSC 20 'define clock
DEFINE ADC_BITS 10 'Set number of bits in result
DEFINE ADC_CLOCK 3 'Set clock source to chip's clock
DEFINE ADC_SAMPLEuS 50 'How long a sample is held in uS
TRISA = %11111111 'set all pins in porta to input pins\\
ADCON1? = %10000010 'set PORTA analog and right justify result\\
' ## DEFINE VARIABLES ## innerPiezo VAR word lastInner var word outerPiezo var word lastOuter var word serOuterVar var byte serInnerVar var byte
' initialize state variables lastInner = 0 lastOuter = 0 innerPiezo = lastinner outerpiezo = lastouter
main: ADCIN 2, innerPiezo adcin 3, outerpiezo
'#OUTER PIEZO#'
if innerPiezo != lastinner then
pause 5
serinnervar = innerpiezo / 4
if serinnervar > 20 then 'gate
serout2 PORTC.6, 12, [144, 80, 127] '[note on ch 1, note value 80, note velocity 127]
serout2 PORTC.6, 12, [144, 80, 0] 'off
endif
pause 5 'breathing room for midi, to help note continuity
endif
innerPiezo = lastInner 'for change of state
'#OUTER PIEZO#'
if outerpiezo != lastouter then
pause 5
seroutervar = outerpiezo / 4
if seroutervar > 10 then 'gate
serout2 PORTC.6, 12, [145, 40, 127] '[note on ch 2, note value 40, note velocity 127]
serout2 PORTC.6, 12, [145, 40, 0] 'off
endif
pause 5 'breathing room for midi, to help note continuity
endif
outerpiezo = lastouter 'for change of state
goto main
'Future possibilities: ' - use data from piezos to control velocity for touch sensitive midi controller ' - make user interface to switch programs / note values ' - create more tubes within environment ' - add lights (brightness dependent on velocity, note, program, etc) ' - use different inflatables (floaties, beachball...)
