Project: What I used to call BodyMemory
Inspiration and Concept
The inspiration for this idea came from the image of a grid, applied to the sense of touch. I envisioned a serious of rather autonomous devices, each node in the grid.
With this device, I wanted to explore our human "trail of heat" - the legacy of temperature left behind as we move about. This device makes visible said trail. In the concept, I envisioned sensing and capturing gestural movements.
Although in this case all the nodes are connected within the same system, they each can behave independent from one another. In this prototype, each node consists of a thermistor-LED pair (the type of LED used in this experiment consists of two internal LEDs, one red and one yellow each with their independent leads and one common ground lead to make three leads total). Using this type of construction, each node can sense and react somewhat independent of all the other nodes. I say 'somewhat' only because of their close proximity that they end up behaving similar to their neighbors.
In order to make programming the sketch easier, I created a library which I called GridNode, which I wrote in C++ and placed into the Arduino's environment (on the laptop) in such a way to be found by the sketch. The Arduino software environment has embedded into it a series of libraries, implemented in C++, which I imitated. That subject itself is worthy of separate blog entry.
I found thermistors difficult to work with in at least two ways. In building this, each thermistor's sensitivity varied enough to make me think about a calibration cycle upon setup. Secondly, during operation, in order for this device to react to body heat, one would have to come close and touch, thereby not really able to capture a gestural movement but requiring a more intimate interaction of long duration.
This project, thus far, is in a prototype stage consisting of only six nodes. To exceed this number of nodes a couple of things need to occur, both having to do with multiplexing inputs and outputs to translate between the great number of nodes envisioned into the Arduino board's limited number of
input and output pins. Multiplexing or using serial/parallel shift registers is fairly straightforward for expanding the number of LEDs, however, expanding the number of analog inputs may prove to be more a challenging circuit to create. Also, if one were to employ pulse-width modulation (PWM) in the control of the LEDs, that also would require much more sophisticated circuitry, given the numbers of nodes desired.
Related Works, Similar Ideas and Projects
Source download, a compressed tar file, includes Arduino sketch and GridNode library.