
The future of bar tending is NOW.
Deep ListeningVoices move like bottles floating in the ocean. Car horns are exploding fireworks on fourth of July or popping popcorn. The sounds spark from different directions. Low pulsing electric currents underlay the environment. Cars become the next layer, red noise that defines space.
The sound creates tensions and releases. Squeaking breaks build tension, pneumatic breaks release pressure. Vertical space is bounded by the rumble of trains below and the clacking of tracks above.
Pigeons flutter in and out, cooing.
Hard Drive VJ/DJSince being a VJ at coachella for the past couple years, I’ve become interested in finding new ways of controlling image media. I found this instructable that I’ve been wanting to mess around with a while back. It computes the hard drive disks speed and direction using a microcontroller and sends it as serial data to a computer. The computer translates this data into MIDI or OSC which can control audio and video in a variety of applications such as Max/MSP, Modul8, or VDMX.
The instructable uses a PIC microcontroller, but since Arduino is my current microcontroller of choice, it became a matter of porting the idea. Fortunately, Matt Gilbert had done most of the work for me.
I ended up creating my own version of the circuit, more similar to the one on the instructable rather than using his. I tried Matt’s circuit based on the diagram he provided, but for some reason wasn’t able to get it working. His code works pretty great though and is well commented.
Because I wanted to be able to use multiple controllers at once, I decided to use the LM324 Op Amp to amplify the signal coming from the hard drive. I hooked up the hard drive signals to an oscilliscope to see what I was getting. With the help of Eric Rosenthal I was able to get some good readings.
With some tinkering, I was able to figure out a circuit that gave me a pretty decent response to the movement of the hard drive.
I started working with Marko Manriquez to design a prototype for our controller. Marko found some nice slabs of plexi, so we decided to use those. He was able to take the hard drives disks completely out of their case and reassemble them. We added some LED to indicated the moment of the two disks and wrote a simple processing sketch to visualize the data being sent by the Arduino. I hope to have better schematics and Max patch sometime soon that makes use of our controller. Until then, enjoy this video!
Plinko
Wrote a processing sketch to emulate plinko, the game popularized by “Let’s Make a Deal!”. You can see the sketch here. Every time a new ball hits a peg it is diverted one way or the other based on a random number that is generated (if 0 go left, if 1 go right). Once a ball reaches the bottom of the pegs they are killed, which then increase the size of the bar in the position they ended up. After the cycle continues for a while you can see the bars begin to generate a normal curve.
XBee Range Test Part 2
This week we focused again in understanding how to handshake between the two Arduinos, effectively giving us the signal strength between the transmitter and receiver. In a last act of desperation, we called Digi directly to troubleshoot issues we were having range testing with the XCTU software. We realized from talking with him that we had to connect the digital in to digital out on one of the XBees (we’ll call it XBee A) which completed the loop. Using the other XBee (B), a packet is sent from XCTU to XBee A. XBee A then directly relays that packet from the digital input to the digital output and sends it back to XBee B.

The XCTU software has a built in range testing function. Contained in this signal is the RSSI value, which is a dBm unit that ranges between -40 (strongest) and -100 (weakest) that is measured with this function. This data is not logged to a file, but rather is refreshed on the screen approximately every second as a number and colored graphical bar. We are also told how many packets have failed and been successful, as well as the percentage.
Using this data we were able to begin to create a map of the floor. Broadcasting from one static location, we moved around the floor with the other transceiver and recorded data from specific points around the floor. After this first test, which was broadcasted from the center of the floor, we then repeated the test by changing the broadcast location to the lobby. This test was taken at midnight after everyone had left the floor.
Our next steps would be to find a better way to log these data values. We would also like to explore more about how the orientation of the XBees has an affect on the symbol. We also should do the same test during the day while there are lots of people on the floor.