Oct 19, 2007
Continuous Motion, Discrete Signal
The concept involves defining discrete regions of space between 2
‘pads’ (preferably small patches that can be attached to the body). Data is controlled in intervals by the proximity between 2 objects increasing and decreasing.
For instance, instead of the continuous stream of data from a source
such as a Theramin, there would be defined regions of space which
would trigger a discrete sequence of a defined (musical) scale.
The user would not be touching the pads but the signals would be triggered by the pads moving closer to one another or farther apart. One scenario is that a person would have one attached to their hand and one to the top of their foot – and there would be a range of intervals that would be triggered between the closeness of the hand and foot.
Working Plan / Technical Solutions
The proximity sensor, PING Ultrasonic, communicates with BASIC Stamp and MAX/MSP via Arduino Bluetooth.
A program defines the distinct regions between the pads.
You will need only PING Ultrasonic Sensor, BASIC Stamp and Bluetooth module.
– Proximity sensor
The best solution would be PING Ultrasonic. You can’t use Maxduino with this sensor. This means that some developments on actual microcontroller is required but there is an example code from Arduino site.
http://www.arduino.cc/en/Tutorial/UltrasoundSensor
But if you want to utilize more than two ultrasonic sensors, you need to modify this code.
Even though the sensor can communicate to any microcontroller via Pulse In/Out, the sensor is actually from another microcontroller product called BASIC Stamp. The BASIC Stamp supports both pulse in and out but Arduino supports only pulse in. This means you need to create so-called software pulse out with Arduino code. In this case, you would first need to understand what the pulse exactly means in a digital circuit.
You will see how short the code can be in BASIC Stamp compared to the above Arduino code.
http://www.parallax.com/dl/docs/prod/audiovis/Distance28015.pdf (a grey area is actual code in the page 4)
In the Physical Computing course I mainly teach Arduno because of time limitation and basic knowledge level but I am planning to teach BASIC Stamp at the Designing Interaction with Electronics one week workshop coming this November. I am sorry if I confused you which you should use Arduino or BASIC Stamp. If you haven’t start any thing with microcontroller but you want to utilize the ultrasonic sensor. I recommend to implement your project with BASIC Stamp.
– MAX/MSP
I am not familiar with Max/MSP but I suppose you can study a serial communication on Max/MSP from Maxduino by Marius Schebella. You can probably refer to “arduino.pat” in the Maxduino.
-Bluetooth
Embedded Blue 500 is the easiest Bluetooth solution using BASIC Stamp but it is relatively big. This might be too big to embed it into the pad. I know how to create your own circuit board to make your device flat and small but this requres another fulltime week to learn.
http://www.parallax.com/detail.asp?product_id=30068
Otherwise these BlueSMiRF are good. I remember it was quite popular among Arduino users before Arduino BT.
http://www.sparkfun.com/commerce/product_info.php?products_id=582
http://www.sparkfun.com/commerce/product_info.php?products_id=158
an exampl from dmgaming.com
http://dmgaming.com/arduino/the-mashup-arduino-mini-sht11-bluesmirf/
But remember if you use multiple Bluetooth channels over the same computer. The Bluetooth connection will be unstable. You might compromise with very low sensor value update rates. I don’t know if the Max/MSP can establish multiple Bluetooth either. I recommend you to build a prototype without Bluetooth first.