Project Outline/Concept;


System Architecture;

System Loop (as the user sits at the desk);

1 – User ‘Connects’ sensors to actuators on the user interface by dragging actuator boxes into the sensor zones.
2 – Processing code tells Arduino to make the connection between selected sensors and actuators
3 – User can adjust the sensor/actuator polarity settings according to their preferences/desires

4- Sensor readings are processed by Arduino as numbers from 0 to 1023 (1 Bit)

5 – Actuator, calibrated to respond to the sensor readings  adjusts in its predertmined way
6 – Output to actuator

7 – Once the connection is made, the data from the sensors is streamed live to a graph on the user interface. The numerical code is saved to a file.

8 – The user has the option to move the sensors and actuators around the room to suit their desired conditions or performance.

This completes a loop cycle. ^^^^^^^^^^^^


System Context;

/* The system is installed in a single room. The Staff Common Room in the School of Architecture building.

The room is divided by large cupboards with a kitchen on one side and an informal sitting area with computer, screen and projector at the front used for academic seminars. */


System users;

// Administration and Academic Staff – Use the room for resting.

// Administration and Academic Staff – Who participate in tutorials and seminars.

// Students of Architecture, Art History, History of Architecture


The user terminal;

/* The user can select their preferred response to the room environment using the interface. In addition, the user is free to write a brief comment that is recoded in the saved data stream.


Material Components;

User interface (1) == (Computer terminal displaying software designed using processing to control the sensors and actuators through the Arduino hardware.)

User interface


Moveable sensors (3) == Temperature sensor , Light Dependant Resistor and a microphone

Temperature Sensor

Light dependent resistor



Movable actuators (3) == Our machines are constructed from common ‘hacked’ household components. They are connected to the arduino and master breadboard and controlled by the arduino and processing code. Each has at least ten metres of cable to allow for movement across the room.

Blind – Mechanically adjustable using a mini-helicopter servo. Initial position: In front of the projector.

Inflatable – Fan taken from a camping bed pump and attached to a motor. Bin bags are taped together and fill with air. Initial position: In front of the window.

Headphones – An audio translation of the sensor data using samples which act as aural memories of the room and a sine wave which acts as a tone wave of the space. Initial position: At the desk.








Connections; (9 combinations + Polarity variations);

// Each of the sensors can be connected to each of the actuators via the user interface

// The polarity of the sensors can be altered to permit an opposite response across the system in a desired way.

The code; (80 pages of processing and arduino code)

/* They control the graphics on the interface, the range of the sensors, the calibration of the actuators and the ability to connect operate and stop each of them.*/

/* None of us knew how to use Processing and Arduino code until six weeks ago. The concept of the project also required that we learnt how to write the code to operate what we needed. The concept of code is to take and example of code that does something that works in a similar way to our needs and adjust it until it fulfills them.

The longest section of the code tells the arduino what to do for all of the possible 138 combinations of actuator, sensor connections. Each one of these connections required at least 4 lines of code. The syntax also had to be correct. */

Code sample


10 pages of code



System architecture;

Social dimension;


The data from the system – resistance (recorded as ‘bits’ between 0 and 1023) is streamed live through the processing programme and displayed on the interface as a line graph. The past 30 minutes of use is displayed – informing the user of the preferred/optimum or simply the most common settings for the sensor-actuator combination, or offering a clue of the conditions within the room in the past time.

The user enters the room and is presented with a sense and a reaction – they encounter in the present the spatial effects of past decisions of the users before them.

This informs the user’s own decision about the room environment and the impact they can make upon it. The possibilities of choice and selection within the system are left open. Will they be practical and make the room suitable for their needs? Or decide to opt for an alternative condition?

This, added to the dimension of the normal function of the room used for academic seminars.

Whatever their decision, it will have a direct impediment on the person who set the system to their preferences before and the next user after them. The information will be recorded as a memory.


Evolutionary design;

System Loop (as the user interacts):

1 – User selects ‘Connects’ sensors to actuators
1.5 – Processing tells Arduino to make the connection between Sensor and Actuator
2 – This accesses one of the 9 memory banks specific for that combination
3 – As the actuator moves, the distances between the actuator in relationship to the static sensor are recorded through Arduino and split into ‘zones’. (By calibrating the spring potentiometer)
4 – Room zones become a subset for each of the 9 memory banks
5 – User adjusts the sensor/actuator settings according to their preferences/desires
6 – The settings are logged into their respective memory banks
7 – An average is calculated from the logged data steam
8 – Average value is displayed on the User Interface

mini loop – (output determined by user settings and environment condition)

9 – Settings from point No.5 go to Arduino and adjust the actuator settings
10 – Sensor readings are processed by arduino
11 – Output to actuator


This completes a loop cycle.

%d bloggers like this: