Friday, July 30, 2010

Project Insight

One of the main push for this project is to relate it to Architecture. As we all know one of the main elements in Designing a space is LIGHT. I would like to create a project that reflects and manipulate light by a user interaction. This project can be incorporate as an architecture elements such as a wall, an entrance or a window. The main focus of the project is to use a material and how that material can be intertwined with light.

The Requirements of this project is to create a 24x24 smart surface.
After researching for inspirations and idea, i was fascinated by the works of a famous artist named Daniel Rozin. As we all know he was famous for his interactive installations. I think most of his project are good examples of how material interacts with light. below are some of his works...













After getting inspired by these works, I wanted to emulate the movement and gesture of this project, by maybe on a 24 x 24 surface i have a number of 1" x 1" tile mirror that are connected to 4 servos and these servos are controlled by a sonar, that detects a movement. Once a movement is detected, that servos move from 0 to 180 degrees causing this tile mirrors to change their orientation, and by changing their orientation, the light that hits the mirror reflects in such a random directions.

Building process:

* The overall dimension of this project is 24" x 24"
* There are four layers that concludes this model on the top are the 1" x 1" tile mirror





* The second layer are the nails nailed on a grid pattern: Each tile mirror is attach/glued to the head of a nail.






* The screen board prevents the nails from failing on the back of the board it holds them as well as the tile mirrors. The screen board have 100 holes (1/4 diameter).




* The nails are nailed down on a 11" x 11" wood plank. Each wood plank have 24 nails. This wood planks hold the nails and tile mirror.



Overall Model Diagram:

Making Things Move:

There are 100 mirror tiles. These mirror tiles are divided into four groups, each group has 25 mirror tiles that are glued onto the nails and the nails are nailed down into a 11"x11" wooden plank. Each wooden plank is attach to medium size servo. So the over all movement of each groups are "up and down" in an angle....

Electronic parts: All electronic parts were purchased from sparkfun.com

4 large servos: http://www.sparkfun.com/commerce/product_info.php?products_id=9064

1 Maxbotic LV Ez1 sonar: http://www.sparkfun.com/commerce/product_info.php?products_id=639

Arduino Main Board: http://www.sparkfun.com/commerce/product_info.php?products_id=666

Building Phase:

First, i build my 24" x 24" frame made out of pine wood, then I found a left over piece of Masonite from a previous design class and i used it for my screen board.I have to cut the Masonite into two pieces because the SACD's laser cut can only cut up to 17" x 31" surface. I don't have the actual photos of the laser cutting process, but you can actually see the finished laser cut Masonite board on the photos below.


Then afterwards, i went to Home Depot and started "material shopping for what kind of nails i needed first i picked this "Electro Galvanized Roofing Nail" its 2" long and it has big head, which is perfect for gluing the mirror tiles.




I started hammering the nail to my wood plank, and because if the nail diameter is big (5.08 cm) the wood plank started cracking. so i went back to Home Depot and found a another type of nail called "Coated Sinker" with a 4.76 cm. it is skinnier with a reasonable size. i started hammering it to my wood plank, and it nails pretty good.

Here is the photo of the "Coated Sinker" nailed into one of the wood plank. The wood plank is a 11"x11" poplar wood (1/2 thick so that the nail can have a good grip).




Nailing on top of the screen board... remember there are 100 nails..... on this picture i have 25 more nails to go.

After nailing 100 nails on top of the screen board and through the wood planks, these kit of parts are ready to be installed onto the 24" x 24" wood frame.

Then after i nailed each 100 nails i individually glued each 1" x 1" squares. I left the cover onto the mirror so that each square mirror wont accumulate smudges and dirt on it surface.

Here is the photo of almost completed, and installed mirror squares.




Now working on the back of the frame....

To hold the servos i used a 3" poplar wood and cit a square to fit the servo and screw it to the wood.





Then I installed the wood onto the back.




Then i cut a 1/2" wooden strips to create a mechanical parts which is attach to the wooden panel and the servo. You can actually see that, there are two wooden strips held by a metal rod, and to prevent the rod from coming off, i used a rubber grommet that i purchase from Lowes.



Between the two poplar wooden strip i installed a panel which holds the arduino, breadboard, and the batteries.




To make the mirror pop out i covered the sides of the front frame and painted the frame black for aesthetic purposes.



Then on the front I installed the sonar. The sonar has to be naked which means it has to be free from any coverings because it is very sensitive.


After installing all the mechanical and electronic parts i started peeling off the covering from the mirror.
Finished Smart Surface Project:



Schematic Part:
One of my major concern for this project is how to program the arduino to control the servos. Like a beginner like me, it took me a while to figure things out... I spent weeks on reseaching for codes and tutorials. below are the sites the helps me solve these problems.

Here is an important diagram on how to wire multiple servo motors and adding another power source.

After researched, Servos are very easy to wire, There are three wires connected on a servo motor they are usually brown, red, and orange or black, red and white, these colors are power, ground and pin wires in which you wire it to the breadboard or arduino.

Sonar Intallation researched, in which i carefully followed:






Codes:

I actually got the codes from one of the link i posted, I used the servo library code from Arduinocc.com, then i combine the sonar code that i got from adafruit.com



// using the maxsonar quick start http://www.adafruit.com
// http://www.adafruit.com/index.php?main_page=product_info&cPath=35&products_id=172

#include
int sonarPin =5; // pin connected to analog out on maxsonar sensor
int pos = 0; // variable to store the servo position
Servo myservo1; // create servo object to control servo1
Servo myservo2; // create servo object to control servo2
Servo myservo3; // create servo object to control servo3
Servo myservo4; // create servo object to control servo3
int inchesAway;

void setup()
{
int sonarPin = (5); // pin connected to analog out on maxsonar sensor

myservo1.attach(9); // attaches the servo on pin 9 to the servo object

myservo2.attach(8); // attaches the servo on pin 8 to the servo object

myservo3.attach(7); // attaches the servo on pin 7 to the servo object

myservo4.attach(6); // attaches the servo on pin 6 to the servo object

}

void loop()
{
inchesAway = analogRead(5)/2 ;
if (inchesAway <>
for(pos = 0; pos <>
{ // in steps of 1 degree
myservo1.write(pos); // tell servo to go to position in variable 'pos'
myservo2.write(pos);
myservo3.write(pos);
myservo4.write(pos);
delay(3); // waits 15ms for the servo to reach the position
}
}
Final Project Presentation: