So now that I’m mostly done with the physical design part of this project, I thought it would be a good time to whip up another video demo to show it in action. I’m using a couple of custom abstractions that I’ve made make the sensor data as usable as possible, but the software processing is still very much in development, so I’ll put some releases up once I have something a little more stable. For now, enjoy the strange sounds coming out of your computer speakers and let me know if you have any suggestions. The sound translates pretty poorly to laptop speakers, so you might want to use headphones or external speakers to hear what’s going on.
I built 5 more sensor circuits and boxed them all up in these snazzy black boxes you can see in the picture. They even match my ThinkPad! I’ve been working on PD patches to explore different ways to map the sensor streams onto parameters. On Douglas Repetto’s suggestion I started looking at higher-order systems, and realized that if I look at the change in adjacent sensor samples, throw out high positive and negative values, and then run them into an accumulator, the output tracks slow-moving input, but ignores anything fast. This allows you to pump the value up or down by repeatedly moving slowly in one direction, than quickly in the other. You can also make a value stick if you pull your hand away quickly enough. Be on the lookout for some video examples. I also made a patch to detect when you’ve tapped the sensor, to be used for things like setting a tempo or delay time.
Nearing some sort of finality in this design, I’ve put the circuit in a box. I also put my arduino board in a box, which involved de-soldering the power connector and the header sockets, as well as cutting off the corners with a bandsaw, so I would probably advise using a bigger box if you’re planning on doing the same. Hopefully in the next couple of days I’ll give the main MouseTrap info page an update with the new developments, as well as part numbers for the boxes and all the connectors I used. I decided to go with a standard DC power jack, banana jacks for the DC output and ground, and a binding post to attach the electrode. Definitely an improvement. The boxes also have a solid feel to them without being heavy.
I received my 10 PCBs from Advanced Circuits today. They’re a big step up from the ones I’ve been making on the CNC machine, mostly because I don’t have to worry about solder bridges. The completed circuit you see in the picture worked the first time after putting it together, which was a lot nicer than the 20 minutes or so I had to spend after each CNC prototype fixing my sloppy soldering. They also gave me a circuit board coaster and 2 bags of microwave popcorn. You can see I’ve drilled out the corners so that they’ll fit in the project enclosures that I bought from Mouser. Construction details to follow…
I put together something a bit more sonically interesting than the video that I posted earlier. I recorded myself improvising on double bass, and then processed the recording with a puredata patch that I wrote to use the 3 sensors that I have built so far. It’s pretty bass-heavy, and not EQ’ed or anything, so it probably won’t sound good on speakers without good bass response. All of the processing was done in one pass, and the only interface between myself and the computer was the 3 sensors. So if I had the sensors mounted on the bass, I could theoretically have performed this live with no pre-recording. The patch requires my granulator external, which is downloadable on my PureData page.
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Here’s a quick video I made of me waving my hands around the MouseTrap sensors, and sending the data through an arduino board into my laptop running puredata. The video footage was pretty out of sync with the audio, which is why there’s more screen capture than video. All that the patch is doing is modulating the amplitude of 3 oscillators running at 400, 500, and 600 Hz. Soon I’m going to set up some sort of media gallery so that there’s a more permanent home for things like this, but this is it for now.
first three moustrap sensors plugged into an arduino
I’ve got 3 of the MouseTrap distance sensors built, and I have just a little bit more tweaking before the the design will be ready. The blue board that you see the sensors connected to is an Arduino, which converts the analog signals to digital numbers and sends them to my computer over USB
Today I milled out Revision 3 of my MouseTrap board, after realizing some mistakes in Rev. 2. After stuffing the board I’m happy to announce that it seems to be working great! I had to change some component values because the PCB acts differently than the breadboard, but performance seems good. One of the pads ended up being connected to an adjacent trace, but I moved it over a bit in the newest board layout, so we should be ready to go.