Dial It Back: Final Project Proposal
Last updated: Dec 4, 2019
a potentiometer with a personality
At rest, the knob rotates on its own. It can be stopped and moved by a user.
Goal
To use the knob and motor, potentially with other elements, to design a satisfying and instructive interaction with a dial. Physical interfaces, whether we like it or not, have a personality to them. Being aware of this and designing with it in mind broadens the range of expression available to designers, and allows us to develop for a comfortable friction between user and interface.
Materials
- Potentially this high-resolution encoder.
- I will be fabricating a box and a knob, probably with wood and a laser cutter.
- There will need to be some sort of belted motor to move the knob on its own, and the knob will also need to be detached in such a way as to allow its own free movement. What kind of rubber belt or gearing system will keep the interaction feeling smooth and responsive, rather than with the resistance and crunch of a digital interface.
- I may want to try getting contact mics into the box—they are a really tiny precise way of getting sometimes very valuable input. This may provide a valuable opportunity for input and feedback but it might be outside the scope of what I want this project to do.
- If contact mics, then potentially a small speaker or surface transducer. I like the idea of the user tapping the box and the box tapping back but again, it may be better to focus where possible.
Inspirations include this dials collection, Hayeon Hwang’s ITP thesis about expressive buttons. Also the knobfeel YouTube channel.
I have more research to do on knobs and how they might be geared to smooth and slow resistance? What are the top knobs today? What techniques do they use to produce pleasant or well-tuned knobs?
The intention of the controller is to demonstrate the range of interaction and communication possible with this configuration of parts and then to begin to explore possible uses for the mode of control it affords the user. (One option that immediately comes to mind is granular/tape-like movement through a sound file along the same lines as my midterm project).
Playtesting
Playtesting went in some directions I didn’t entirely expect. I hadn’t had time to pick up my ganged potentiometer or high-resolution encoder and motor, but I quickly sketched up a version of The Knob in P5. I think it wasn’t as effective a prototype as I was hoping, but it showed where people seem to focus. The long sound file I used meant difficulties loading. And the unexpected load behavior made the interaction feel extremely sluggish. In some cases almost completely unresponsive. I think moving away from physical fabrication towards an accelerometer-based interaction will produce more evocative results. I’m still working on what kind of audio should be played: the responses to the project are definitely focused on the audio rather than the interaction. I’m thinking about ways to make the audio support the interaction.
Pivot
The new plan is to use data from the accelerometer attached to the listener’s headphones to decide (in a kind of AR-like approach) what the listener should be hearing.
BOM
Part | Cost |
---|---|
Arduino Nano | $18 |
Adafruit LIS3DH Breakout Board | $8 |
Adafruit LSM303 Breakout Board | $15 |
Wires and Cables | $~5 |
Prelim Total | $46 |
Over-Ear Headphones | $100 |
Laptop running P5 or MaxMSP | $1500 |
Total | $1646 |
I already have all of these materials, so the cost to me at the moment should be fairly close to $0. I do want to print up cards explaining how parts of the piece work, especially depending on the audio.
BOM Update:
Since accelerometers measure the force of gravity on the chip, they have a hard time getting good readings for rotation within the plane parallel to the Earth. My goal is to provide feedback for a user turning their head, which is more or less in parallel with the Earth, so I have updated my BOM to reflect that I purchased a LSM303 breakout board with a magnetometer. This produced reliable results quickly.
Callibration Concerns
At first the LSM303 was snapping back to 0º at 255º, not making a full circle. This was a serial mistake on my part and was resolved when I started passing the value as a string not a serial-write (which are constrained between 0 and 255). After a few tests I stopped getting values in the full range I was expecting (the compass heading got stuck around 200-300º).
I’m hoping that by moving the chip itself much further away from the Arduino (and onto the user’s headphones) I can start to eliminate what might be interference from the power source or other components in my breadboard.
If that doesn’t work I will have to go through the process of re-callibrating the LSM303.
Platforms & Projects
A platform is a technology or collection of technologies designed to support the development of projects. In a lot of ways—barring the fact that it’s still pretty tough to use—what I’ve built is a platform for building a kind of AR sound experience. So far I have
- The testing collection of 8 modified sawtooth waves in a major scale
- A group of separate drum tracks chosen and looped to phase with each other
- A collection of poetry readings
The Future
I’m thinking about getting other data from a headphone-wearing user into the unit. What other rotations and positions can I get and what does it look like to feed them back into an array of sounds. Should the array be bigger? Which of these tweaks will improve the experience and which will have less of an effect.