The final build is completed to a reasonable standard. The final scale is an interesting one to work with. At first when i thought about making a model of piece of work, it seemed a little strange, but when i thought about how sculptors work from model’s first, it became an a useful thought to keep hold of. I’m particularly pleased with the movement of the walls, expecting this to be one of the more challenging areas. But in fact this seemed to just slot into place. I did try and measure the hight of the walls to be just the same hight has the outside box minus the bar, this proved very useful in the end. The issue of the motors and how to react to them not been able to give me the precision I first went looking for has left me with mixed feelings. I’m excited by the idea that the project is a self referential system, one which responds and reacts to itself as much as the people in the room, but i’m also left with a slight wonder weather I should have used servo motors instead. Although i’m not sure I would have been able to get enough torque out of them to move something as big as the walls (costs considered). I still would have liked to see how a moving object can directly change a space. But i almost feel theres more space for me to try new things out when I’m not trying to be too perfect or precise about how a material reacts. I think its interesting the way the need to dominate the physical world can sometimes leave me with a kind of emptiness that I don’t get when things missbehave and create there own situations out of very small beginnings. I found using the motor shield a good way for me to be more hands on rather than getting to bog down with coding, it gave me the chance to play with the motors in a very fast and easy way. Although I messed up my first shield, the chance to solder a whole new one, was perfect for me to practice my soldering skills and now I feel much more confident been able to solder lots of different components and wires together. A final point I should make is not always been aware how long everything takes. I found myself spending twice or sometimes three times the amount of time on something than planned and finding myself rushing too much towards the end of the project.
/* Jonathan Munro - Dynamic spaces 2012 - Physical Computing project
The project is to control two Stepper motors and two sets of led lights,
with two IR sensors.
Using a motor sheild to control the motors with the AFMotor library.
*/
#include <AFMotor.h>
//initialise the analgue pins
int sensorIR = A0;
int sensorIR2 = A1;
int ledPin1 = 9;
int ledPin2 = 10;
//These values will be used for the conversion to cm from the sensor readings.
int val, val2;
float sensorValue, cm;
float sensorValue2, cm2;
//initialise the Motor pins.
AF_Stepper motor(48, 1);
AF_Stepper motor2(48, 2);
void setup() {
///Serial motitor, so I can read the values
Serial.begin(9600);
//The library comes with certain set calls, this one is controled by the values fed in by the IR sensor
motor.setSpeed((sensorValue + sensorValue)/2);
}
Continue reading Dynamic Spaces code
Coming to the final part of the setup, everything has been painted white and the light have been switched on. I really like the shadows that are cast from the walls. Lots of straight angles everywhere.

After wiring everything together I found that there was a problems with the motor shield, at first I couldn’t upload any code and then I released that the Led on the top wasn’t coming on. My first thought was that I’d sent too much current through the shield and that it was dead. After asking around, I was told that that similar things had happened to others, but it was a loose wire which was causing a short circuit. I tried to remember what was the order I put things together the day before, as I’m sure I could remember it working for some of that time. I could;t remember so I unscrewed everything, but kept the motors attached. As the shield started to work again and I was able to upload new sketches to the board I knew that it most be this.
After putting everything back in place, checking the power as I went along, to see if i could fault check the problem. It wasn’t Until the last thing I put on, which was the IR sensor did the problem continue. After checking the sensors, I found the fault to be on the power and ground wires crossing over.
The Culprit >>>>

The fix! I had a spare cable from another sensor, I just clipped of the wire and soldered them the wire onto the end of the clip. These are much better as you can unclip them at anytime and using heat shrink stops them from touching.


The wiring for all the parts. Looks more complicated, than it is honest!
Here’s a diagram showing it a little better:


The model is painted and I’e put the walls together, hiding the Led’s. They’ll need filering and then painting. They fit in using tiny plastic cone shaped washers. They are snuggly sitting on the Stepper motors and the bar at the top holds another one of the cone shaped washers to keep a sung fit. The wires coming out of the top are the wires for the Led’s. I was thinking of placing these on the base, but I was worried of them catching on the moving on the bottom floor.

The walls are attached the stepper motors and the bracing along the top using tiny little black cones I found in the Physical Comp. cupboard. I needed to cut open the holes in the cones a little to get them to sit on the motor, its a very tight fit and if this was installed in a space, I imagine i’d need something cut to perfect size to make sure it didn’t work its way out maybe using a small screw to hold it in place. You can see a little more clearly the small wires feed throughout the hole in the middle of the comes.
I’m really pleased with how the walls have sat in place, this was the thing which worried me the most. If the walls where to run smoothly, they needed to be clear of the floor by a millimetre or two. They glide in place and after my first test with some code, I can see they can be moved using the small steppers.

Heres the two motor from the underneath. They are screwed in place to make sure they don’t come loose. A lot of my time has been extending wires to make the long enough to reach different the full length of the box. I’ve used heat shrink on every wire to make sure I don’t make sure i don’t get any false readings.

I decided to place 5 Led’s evenly spaced in each of the inside of the walls. I used super glue to keep them from coming out.

The circuit requires all the Grounds wires to be in the same circuit, so I had to cut small pieces and then join them together, like the image above and solder both wires to each led, creating a chain.

Finally after repeating the same for Led’s plus wires. I used heat shrink on all the led’s to stop them from touching and shorting out my circuit.

The final thing is to check all the Led’s are lighting up before attaching the back cover to the walls.

This is the little box which my Led wires will go into. I’m using one of the 2N222A transistor for each set of led’s to control the current going to the Led’s with a 560 Ohm resistor.I decided to a box to wire my circuit into, it allow me easy access if I need to change anything over.
Following on from the how I’m using the stepper motors and them not be presise enough, I’ve been thinking a lot about the options and opportunities this leave’s me for the project. After trying a few times to see what happens with the motors and pieces of wood attached to them, I noticed that over about 5minutes the motors and completely unaligned and they start to take on different movements. Every so often they knock each other, and then the movement is again changed when one goes off in another direction. I find this a really intesting change of course, I’ve been working on programming with fractals and randomness in other projects and have been wondering what are the link with this one. Its an area that really interests me and I find recursive systems in so many places in the real world in nature and human behaviour.
How would someone respond to a space like this? At the start I was thinking of placing a sensor which was triggered on the back exit side of the corridor, as a safety feature, but this always seemed a little annoying that I would even be thinking of health and safety even in a miniature model. I think i’d leave the people to make there own journey around the space, I guess here would be a certain amount of hassard in a space like this, but i think in a real world setting this could be planned to make sure no-one was in big danger. I could also make the walls out of a material which looked very solid, but was in fact some kind of foam, like the props used for theatre and tv.
Because I want to use a few Led’s in a row on one PMW pin, I’ll have to use an NPN transistor with a 560 Ohm resistor on the Base (centre). The circuit isn’t very complicated, I tested with a range of led’s and colours. I had some super bright led’s from an led’s I liked from an old project I thought would look interesting.

The decision to use lights hasn’t been very clear all the way through. My first was to have the lights getting brighter the further you get into the corridor. I like the idea that you can’t get to the other exit/entrance int he corridor but you can view an extra change in the space other than the physical movement of the walls. Placing the lights at the entrance, would allow for shadows to form on the closed walls on the exit.

I’ve been using the stepper motors a few days and find them a little hard to get them doing the same things. Maybe its a programming thing, but so far I haven;t found a solution to get them to act together. They kind of do almost the same thing, but over a few steps they eventually start doing other things. I’m only trying to get them to do one thing when i press a button but I don’t think they’ll be very good at receiving in different values depending on the IR sensor.
What next? I’ve been thinking about how the walls move and was thinking of adding sensors to use as cut out, say if someone was in the way of the opposite wall. But i’m wondering weather I should take this issue with the steppers as an interesting development. Set a simples system in place, give both the motors the same code and allow the natural changes to happen to the space. This will create a much different space, where users would be put in a situation where they would always be left wondering if it was safe to cross between the walls.
I saw an artwork by Conrad Shawcross a few years ago which comes to mind. It was a 3m size wooden structure which really nicely grafted and after a few minutes it kicked into action, swirling around on a several different axis. The artist is interested in showing some of the hidden quantum physical properties of the universal. The viewer wasn’t allowed a certain distance to it, always observing from the sidelines.
I really like the sound of this. Lots of spirals forming a walkway with lights surrounding the corridor like shapes. Shown at the Venice Biennial in 2003. It uses 960 light bulbs (not very eco friendly but I imagine the effect to be very dynamic strobe effect. The lights flash one after the other apparently giving the impression of electricity moving through the spiral. Finaly the viewer is confront with deadends at the end of each passage way they take, making them retrace there steps. The total dimentions of the work is 13m by 8.5m, it would be great to be given this much funding to do something like this! I find Holler work interesting as it sits at the boarders between different art disciplines, and using many mixed media tools. [link]

Making the box out of mdf as its strong and relatively cheep, if not a little annoying at times. I used 12mm for the sides and 6mm for both bases. In the image below I’ve turned the movable base over and am measuring up for where to place the motors. It never surprises me how much bigger things are in reality rather than in the plans. I thought the walls would be much more shallow than this, but even at 32cm they are way bulkier to cary back on the tube.

Using an air power nail gun to join everything together was a good way keeping everything smooth and is a lot quicker than drilling holes.


Which type of sensing should i use? I have a couple of long range Ir distance sensors from an old project which i think would be useful for this project. I found some code for converting the ranges into cm, which i can read on the serial. You can see this on the right picture. Although I noticed that when using one, its view point is very narrow, only detecting the centre of the space. I will need to come with more options.
Code:
// Noah Stahl
// 5/25/2011
// http://arduinomega.blogspot.com/2011/05/infrared-long-range-sensor-gift-of.html
// Arduino Mega 2560
//This sketch is used to test the Sharp Long Range Infrared Sensor.
//The sensor output is attached to analog pin 15. Once the distance
//is calculated, it is printed out to the serial monitor.
#define sensorIR A0 //Must be an analog pin
float sensorValue, cm;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorIR);
//inches = 4192.936 * pow(sensorValue,-0.935) - 3.937;
cm = 10650.08 * pow(sensorValue,-0.935) - 10;
delay(100);
Serial.print("cm: ");
Serial.println(cm);
}
|
The first bit of code I tried was the stepper test which comes in the stepper library for the motor shield.
void loop()
{
motor.step(100, FORWARD, SINGLE);
motor2.step(100, FORWARD, SINGLE);
motor.step(100, BACKWARD, SINGLE);
motor2.step(100, BACKWARD, SINGLE);
}
The above code, makes motor one, to turn forward and then the motor two moves forward, but not at the same time.
Using the below code I can control them a lot better, and at the same time, although this is go between.
void loop()
{
for (i=0; i<5; i++)
{
motor1.step (1, FORWARD, SINGLE);
motor2.step (1, FORWARD, SINGLE)
}
for (i=0; i>5; i–)
{
motor1.step (1, BACKWARD, SINGLE);
motor2.step (1, BACKWARD, SINGLE);
Where in the code there is a 5 in the for loop, this is now controlling the number of steps where it’s written in the motor stop code. Although I am noticing that even this isn’t perfect and the motor don;t always move to same points.
I received the motor shield and got straight stuck into soldering it, But this turned out to be a bad idea. I placed the items incorrectly on the board, as I didn’t have the instructions of soldering at the time, so in my haste, I ploughed ahead and sold at all anyway. This works out to be very silly idea as after much deliberation and trying to and solder the components, I decided it was easier to buy a brand-new one re-solder everything again. This time make sure to follow the instructions. Although I did get a great chance to practice my soldering which means i feel a lot more confident soldering circuit boards.

The one the right is the first one and the left is the second one. You cans see many more burn marks and the solder is in bigger clumps around the wires.

The final working motor shield mounted on top of the Arduino. The wires on the top right corner are for the analog in pins for the IR sensors, and the +5 and Gnd pins.
The Stepper input pins are the ones on the left and right side of the shield. I will be using a bipolar steeper with 4 wires. These are marked on the board as M1-M4. These are connected to different pins on the Arduino digital in pins. There are 3 chips on the shield, one 74HC595, which is a 8-bit shift register IC chip, controlling the clock sent to all the chips, the storage register clock Input Data sent to the chips. The L293D chips are used for switching loads on the motors. NOt that i need them, but you could also hook up two servos as well, or instead of the steppers you could use upto four motors.
The scale of the build is mainly due to the minimum distance the infrared sensor. I’m using one of the shore long distence sensors. The GP2Y0A700K [data sheet] . Its detection range is 20 – 150 cm, so the distance the walls start are 25cm to allow for people to work in front of the sensor and it won’t matter to much. The other factors are the trying to keep to a 1meter to 100 cm scale. At this size a full installation would have the corridor at 4.5 meters long and about 1.7 meters wide in total.

The angle of the walls, was an important part of been able to work out at an early stage. I wanted to now how steep it was going to be, and what type of effect it was going to have not he overall space, not only inside the corridor but also on the rest of the space that it was contained within. I don’t want the angle to be too small that it didn’t feel like the walls moving wasn’t a significant change. Although i would like to create a space where the walls where moving at a much bigger angle. Creating a completely different definition of space.

I really like Turell’s work, the use of light is always so sublime to me , simple, yet effective at chaining a spaces property, squares becomes voids, and the sky becomes a window. Theres a good interview [here].

To control the motor in both directions i need to use a H-bridge to control how the motors operate. Because I’m using two different steppers, I’ve decided to use a motor shield, this one from adafruits [link] . Hopefully this will make controlling both motors at the same time easier and because the shield comes will a library, I can take advantage of this to get the system to work correctly.
You can control the number of steps, direction and step type, using the below commands.
//motor.step(100, FORWARD, SINGLE);
//motor.step(100, BACKWARD, SINGLE);
I will need to work out if there is a way to send make messages to the computer telling it the position of the motors, so i can be aware of how far they have turned.
A Kinetic sound installation by Zimoun. A low-fi way of creating an interesting sound performance, sculptural piece. Although i have only seen the video, I’m sure i would spend hours watching it and never get bored. [link]
A plan of behaviours for the project and responses.
1. The user move towards one side of the corridor
2. The user is detected as present
3. Nothing happens
4. The user moves into the corridor
5. The sensor detects the distance and starts tracking the user
6. As the user moves forward, the walls start the turn inwards
7. If the user moves backwards then the walls will start to turn back outwards. to the original position.
8. If a second person enters, they will not be detected, they will only be observed, the distance sensors will only be tracking the closest movement to the far exit.
9. This loop will continue if no one is around
10. EXTRA note. If someone is too close to the other side of the corridor when someone is there will have to be a cut off for the system. > note this could be an interesting interplay in the sculpture, neither side able to make the thing move left of right.
11. Could I install a cut off on the walls, when things are detected in its path? Look at lift door security.
After a lot of thinking about the original plan and how many output it would have, I decided to change the way the walls move. Keeping the concept of a coridor to be entered into and then instead of having 3 walls and one moves, I’ve reduced this to two and both walls now move. I will mount the walls onto stepper motors and then when moment is detected at a certain point the motors will pivot the walls to open and close.
The two walls will be able to turn at an angle of 25 degrees, inwards and outwards to allow for a few different variations scale and shape.
The starting point will be able to see a corridor, about the width of a normal doorway, intimate and long. There are two sensors on either on the corridor to detect the presence of a person. Once this is happening, the sensor picks up on them and tracks movement to the nearest 20cm. As the person moves forward the walls turn on a central axis to create a new dynamic structure. Both move together at the same pace as the person been detected. The resulting shape will be more of a triangle, you will not be able to reach the exit point by moving forward, but only back to where you came. You’ll be able to see it but never reach it.
To create the first interation towards a bigger project to develop dynamic and movable spaces and objects. For this project my aim will alow movement to be detected which will have a direct relation to the wall of a room. The impact of a human agent in a installation space, will be translated into a direct movement of the corresponding wall. The person moves one step, the wall also moves towards the person one step. The aim of the full project will be to create dynamic units which morph and compound the person’s perception of the space around them. The way we perceive our environments are due to many factors, some we are taught through science and also our own experiences and awerness of what a our environment should do. A wall is usually static to keep a roof up and chair is a usefull item usually for sitting on. My aim is to create spaces and objects which don’t adhere to the same rules, allowing people to question there own assumptions about the world around them and ultimately questioning what should we believe is real or just our own perceptions.
Project images. Before and during movement.
 
At first the wall is at the far end of a space. Then when the person moves forward the wall moves the same amount in your direction. If you decide to move backwards the wall will also move backwards. If you stop, so does the wall. The person can only ever walk half way down the corridor, never able to achieve the full potential that the space offers you at the first instance.
|
|
|