This project is an interactive exploration of analog radio communication through the collaboration of multiple sensors communicating between Xbee modules, to create an ambient experience using Processing. the intention is to create an expressive representation with formula based shapes by integrating multiple nodes with light mapping. We chose concentric squares to conceptualize this perceptual field as incoming data values of light through networked modules.This interaction is transmitted through XBee radio transceivers and interpreted by Processing, creating a geometric array, sequencing a colour experience that reflects art, light, data and cooperative interaction; portraying the output of a network through a creative interface.
As a group, our main goal was to create a collaborative ambient experience. Our ideas gravitated towards active and body focused experiences. The initial idea we arrived at was to use temperature sensors to create a heat map of everyone’s body temperature in the room. We tested the TMP36 Temperature Sensor to measure the temperature of our bodies, the sensor can detect a wide range of temperatures from -40 to +120, but we noticed that there wasn’t much difference in our body temperature, to the extent that it would barely be noticeable.
Our ideation continued forward using the inspiration of a map as our guidance. We discussed the possibilities of mapping different parts of a room through different inputs. The group consensus was to use photoresistors to map the light in the room. Mapping the light could be taken on in many different ways: we could place XBees in either active/inactive areas or place the radios in the various window sills to map out the light of the building. Eventually, we decided that we wanted an active participatory experience over an ambient passive project.
Creating the participatory experience was interesting as everyone had different distinct images of how the differing light values should be reflected on the screen. The first discussion was informed by our conversations of mapping: could the Processing screen be split up into a grid and reflect where the person was in the room? We decided that this idea was a bit too rigid and wasn’t easily adaptable for a various amount of XBees. This discussion of the project had the realization that we wanted a project that collaborative, generative, and was not restricted by numbers.
We came to the consensus of displaying the data in concentric squares. The squares would generate based on how many radios we had connected, and the inner values of the squares would be mapped to the values of the incoming light sensors. Each person participating would have a square that their radio would control. We liked this idea because the shapes of the concentric squares had connotations to optical illusions. It was playful, adaptable, and generative so we went forth with this idea.
Parallel to this decision, our group was still considering the concept of a lightmap. We realized that the code for mapping the light the concentric squares would be almost identical to the code for mapping light in the room. We decided that if we had time, we could create a floor map of the Digital Futures lounge in Processing and map the light in the different areas.
These two above ideas our group decided were manageable, interesting, and could be played with in many different ways depending on how many radios were connected, or how many people were actively participating at any given time. The results of both ideas had variables that had the opportunity to change and produce new data visualizations.
Design + Testing:
Through experimentation, we designed three generative outputs that all use photoresistors to control light or colour values on the screen. The first is concentric squares that are mapped to the analog value by changing the displayed gray scale of the square (lower values are closers to black, and higher values are closer to white); the second is the same as the first concentric squares, but rather each square is assigned a different hue that lightens or darkens to reflect the analog value of each individual sensor rather than solely black and white values. For the third experiment, we mapped out a floor plan of the Digital Futures lounge where the team envisioned placing the XBee radios in different locations to get a “light” map that would change throughout the day.
The responsive concentric square layout was designed to be collaborative. We designed the Processing side of the project to, in theory, take in as many radios as possible to contribute to the generative scene. A new radio could be added, and the squares would adjust in size to accommodate. The concentric squares allow a group to playfully collaborate to create different illusions. Each operator of a photoresistor would be able to alter the values by changing the gray-scale or the hue of the squares to create different compositions as a team. Something to note is that we did not label the squares according to the participant’s individual radios.
This allows for investigation and communication amongst those participating in the group. Through our own testing, it is interesting to try and create different depth illusions by controlling the value of the photoresistor. Since the sensor is quite sensitive to any amount of light in a room, there was a little trouble in achieving a darker color for the low values, making the composition more often gray in situations where the light in the room is turned on. This would mean that the ideal setup for this experiment would be in a dark room, where the light values can be controlled by the individual through a flashlight on their smartphone or by fully closing the space around the sensor with our hands.
The intention of the floorplan design was to place the radios amongst the room and remove the active participation from the group. The light sensors would calibrate to the spaces that they were placed and would reflect changes or movement within the space. This would allow for an ambient light map of the space with the ability to change along with the different parts of the day, such as if the automatic lights turn on or off, if the sun sets, or if someone in the room blocks the light directly. This passive design has connotations of surveillance. The photoresistors act as light monitors of the space; if someone were to come in the middle of the night and turn on the lights the sensors would automatically react wirelessly to the sudden change of light. Overall, we did not have time to fully test this idea. As an early iteration of this experiment, we took the mapping of the values from Arduino to Processing from the code for the concentric squares. We also designed the floor plan on Processing and tested it similarly to how we tested the previous experiments. We hope to be able to test this one at some point to see the results.
The Hardware and Circuit
We gained some valuable insights through the process of testing, connecting the nodes and Xbees to the network. Throughout this process, we problem solved some communication issues between the Xbees removing RX and TX connections before uploading code (Arduino will give an error). If you find yourself in the scenario where your XBee just won’t communicate; try resetting to the default values.
Although many of us have worked with the photoresistor in previous projects, we learned that calibrating the sensor is important to ensure that it does not take in values that are negative or beyond the maximum value set on the Arduino code. Creating code for this project our initial goal was to have created a dynamic network through Processing; a process by which an infinite amount of radio nodes could by dynamically networked as they were detected. Due to time constraints we opted instead, for this iteration, program a static array of radio nodes into Processing, one for each node that will be at the presentation. In the next iteration we intend to make the code dynamic, adding a potentially endless number of XBees, that are automatically detected and added to the visualization.
Demonstrating our light mapping project was highly successful. The outcome was a fun collaboration that intrigued some game interaction. This aspect of the project stemmed from the curiosity of trying to discover which grid of the concentric square your Xbee is controlling.
As a future iteration of this project, were it to be expanded upon; we wanted to explore a node network meshed theremin. The theremin would create reflective colours, represented through values from distance sensors. If we wanted to expand our network this project taught us aspects of the processing code and how to develop a possible larger more complex network. Considering Zigbee mesh networking as the next step, utilizing the exploration of a small network of radio communication proved successful. This project taught us many things about working with Xbees. Xbees cannot manage the received or sent data. However, they can communicate with intelligent devices via the serial interface.