Input Devices
Since I am familiar with the Arduino, I have used many of the common sensors available - LDRs, Ultrasonic range finders, etc. But during the session on input devices, the concept of the Step Response sensor caught my attention. Working in the domain of Interaction Design, especially Tangible Interactions, this piques my curiosity in many different ways.
Step Response Sensor
I began by reading up and following the trail of previous work on this.
Apart from Neil's example, there is
- Adrian Torres' work which has become such a Fab standard reference.
- Robert Hart's excellent tutorial, referred to on Adrian's page.
As well as a few other I found within the Fab search,
- Solomon Embafrash's exercise on Input devices, which backlink to
- Akash's 8 point step response, which is based on
- Matt Blackshaw's, and
- Dan Chen's
The latter ones are multi-point Step Response sensors, which I may use for the project, but for now I will focus on a single version.
Most of these are based on the ATtiny, and post-Adrian, a lot of people have used his board directly. Since I wanted to be using the XIAO, as well as keep this modular for other MCUs or simply other boards, I decided to design and mill my own version.
A Step Response sensor consists of
- A transmitting pin(Tx) from the MCU
- A receiving pin(Rx) on the MCU
- A Copper plate connected to the Tx pin
- A Copper plate connected to the Rx pin
- The Rx pin is connected to both 5V and GND, through 1M ohm resistors, to keep the baseline level at 2.5 V
I arranged these on the schematic as well as the PCB in Eagle, keeping in mind the directionality of the pins, i.e. the Tx, Rx, GND, and 5V pins were one set towards the MCU, while the 2 Cu plates were a second set away from the MCU.
I also milled out 2 squares from the same PCB to use as the signal plates/touchpads, and then stuffed the header pins and resistors, and soldered jumper wires to the plates. Eventually I cut up 2 larger pieces of copper sheet (of about 24 gg thickness) to use as the plates since I felt the PCB squares weren't gving as strong a response.
After wiring everything up and uploading the code (based largely on the above examples) I started playing with it.
The following videos show the live response from interacting with the Cu plates of the Step Response sensor.
Tapping the plate
Raising and lowering the plate
Tapping the Cu sheet version
Heavy pressing on a slightly compressible material, cork
All of these are fascinating interactions, though this needs a lot more trials to streamline it and test various parameters :
- sizes of the Cu plates
- changing the 1M resistors, or removing them entirely, just to see what happens
- adding a sponge between the plates for a better squeeze/push/compression sensors
- trials with various materials involved, eg, some of the other examples show the flux changing due to bottles of water, other objects, metallic or otherwise, etc.
- change in shape of the plates
And I am sure a lot more will come up as I do these.
Switch
I had already added a switch to the devboard during the Electronics Production week, so I will link it from here.
Exercise files
Step Response - PCB - Board
Step Response - Pad - Board