Showing posts with label arduino. Show all posts
Showing posts with label arduino. Show all posts

Monday, December 14, 2009

It's Over and Done With

It's sort of bittersweet, but Smart Surfaces is, for all intents and purposes, over. It's sort of anti-climatic actually. A semesters of some of the hardest work I've ever done and then it's over. Maybe for me it's just what I feel after any big project but heightened since I missed the final presentation because of a death in my family. Talk about climactic in all the wrong ways.

Anyways, our project is

The iWall Modular Light-Filtration System

The wall you see here is a modular, scalable, self-adjusting multi-aperture window, designed to optimize light flow into a room by manipulating the position of rotating wood panels. You could call it an 'automatic venetian blind', as that is the gist of the purpose. The system consists of 30 individual modules, with one panel per module, which allow a variable amount of light to pass through. The structural elements are built modularly, but circuitry elements - such as wiring - are set up in a non-modular fashion. Individual module apertures open and close in reaction to the intensity of the light that passes through the wall as detected by light-dependent resistors (LDRs), seen on the projection side, holding a relatively constant light level on the ‘interior’ of the wall at all times - this gives 'heliotropic' and 'smart' characteristics to the wall - 'surface', fitting it into the premise of the SmartSurfaces course. The actual actuation is by a grid of servos powered externally and controlled through inputs from an Arduino Mega and the LDRs. The materials used in the assembly of the individual modules were 3/16" cast acrylic cut by laser and 3/16" 6061 aluminum sheet cut by water jet.

My group presenting our passive lighting system.


The back of the modular wall.



The view through a module to the light patterns created behind the wall.




Each module had it's own servo turning the panels. Each panel was veneered with a curly maple veneer on the back and a thin layer of white polystyrene on the front. The modules are held to each other by 4 bolts per unit.

I am so incredibly happy and proud with how our project turned out. It's one of my favorite pieces I've ever been a part of. It was an incredible amount of work, and an incredible amount of time, and quite a bit of money (Grants are awesome!), and something that I can't wait to show off in my portfolio.

I really enjoyed working with my team. Neil (Engineering) basically coded and figured out how to make the arduino do what we wanted it to do. Big props to Neil. Michael (Engineering) did a little of everything really and was a big help assembling, but single handedly tackled our big final paper and kept the team on budget. Breanna (Architecture) handled the renderings, worked on the CAD design and was part of the assembly team. Taylor (Design) was Mr. Building and worked on CAD design and single handedly made the panels. Josiah (Architecture) worked primarily on assembly and the build team and made a big contribution on the laser cutting and water jet cutting of the raw acrylic and aluminum. I (Design) spent my time water jet cutting the aluminum, laser cutting a small fortune in acrylic, and assembling modules.
I really feel like we had a dream team and I would work with any person in my group again in a heart beat. I'll honestly miss seeing them almost everyday. Perhaps before next semester starts up my group would like to meet for a beer at Ashley's Pub?

I'd also like to thank the professors that ran this course, John Marshall (Art & Design), Max Shtein (Materials Science Engineering) and Karl Daubman (Architecture) all did a hell of job. Even though we sometimes felt like guinea pigs as students, the course was a great one and one that defines the Michigan difference. This was an opportunity that would never have been available to me at any other art & design school. A heartfelt thanks to all the professors.

Thanks for reading.

Sunday, October 25, 2009

Week 4 and the Light Box in Smart Surfaces

Well, it's done.

Pretty much, we created a light box that is motion activated when someone walks by. Our group envisioned this project as an installation piece where there would be large scale deployment of these cubes in a large public area (like U of M's Diag). As people move between the cubes in their daily lives the light would follow them through the cubes. Yep, we made an art piece that makes the sun an ancillary part, it's got solar panels on top to charge it during the day.

This was a trying project, and I'm honestly very glad we are done with it. Our team didn't always work well together and I even made the front page of the Smart Surfaces website ranting about it last post. Opps/Nice.

We had Julian Bleecker from the Near Future Laboratory come this week and talk to us about Undisciplinaryism. He commented on each of our projects, but unfortunately seemed to have little to say about our groups projects.

Building the box.


Setting up the wires.


The windows are acyclic that slide down into slots in the box and are then lit by a row of colored LED's from the bottom. Patterns were laser scored into the panes to provide opportunities to light to catch.

(From rootoftwo (John Marhall) on Flickr)

The blue LED's worked very well, and it made the bubbles pane of acrylic look great.

We're onto our final groups and final projects now. I like my group, everyone seems good so far! We presented ideas for our projects today in class and it seemed from all the presentations that the professors (John Marshall, Max Shtein, Karl Daubman) were not extremely excited or happy with our ideas. I'm tempted to ask what they were really hoping for or thinking we might come up. They honestly seemed disappointed. We'll see.

Thanks for reading!

Wednesday, September 30, 2009

Arduino Heliotropic Code

This is the code from our second project, the light source finder. Our code was mostly derived from the Arduino meets Processing project and was pretty much figured out by Michael Mathieu, a senior in MSE.

Just a note for anyone who's never looked at code before, anything inside of or after / is a comment to tell the human reader what it does.

/*
* ap_LDRAiming
*
* Reads an analog input from the input pin and sends the value
* followed by a line break over the serial port.
*
* This file is part of the Arduino meets Processing Project:
* For more information visit http://www.arduino.cc.
*
* copyleft 2005 by Melvin Ochsmann for Malm� University
*
*/
#include
Servo myServo;

// variables for input pin and control LED
int PhotoA = 3;
int PhotoB = 4;
int PhotoC = 5;
int LEDpin = 13;
int pos = 0;

// variable to store the value
int valueA = 0;
int valueB = 0;
int valueC = 0;
// a threshold to decide when the LED turns on
int threshold = 750;
void setup(){

// declaration of pin modes
pinMode(PhotoA, INPUT);
pinMode(PhotoB, INPUT);
pinMode(PhotoC, INPUT);
pinMode(LEDpin, OUTPUT);
myServo.attach(9);
// begin sending over serial port
Serial.begin(9600);
}

void loop(){
// read the value on analog input
valueA = analogRead(PhotoA);
valueB = analogRead(PhotoB);
valueC = analogRead(PhotoC);

// if value greater than threshold turn on LED
if (valueA <>

// print out value over the serial port
Serial.print(valueA);
Serial.print(",");
Serial.print(valueB);
Serial.print(",");
Serial.print(valueC);
// and a signal that serves as seperator between two values
Serial.print(";");
// Checks if right is greater than left, if so move to right.

if (valueB > (valueC +20))
// +20 is the deadzone, so it wont jiggle back and forth.
{
if (179 > pos)
pos++;
myServo.write(pos);
}

// Checks if left is greater than right, if so move to left.
if (valueC > (valueB +20))
// +20 is the deadzone, so it wont jiggle back and forth.
{
if (pos > 1)
pos -= 1;
myServo.write(pos);
}

// wait for a bit to not overload the port
delay(10);
}

The code includes a serial input that we used to judge whether or not our solar detection was working properly in a numerical sense. By slowing the program down to a delay of 250, we were able to tweak the code in order to ensure that the readings were proper, and that we could utilize the changes in direction properly.

The biggest issue for our group was ambient lighting, which we were able to counteract with a shade of sorts Allison and I made while in design, but in final display we could not, because of the amount of ambient light in the presentation area rendered our shade useless. We set our thresholds slightly too high for the situation that we were in, but it worked amicably for the purpose of presentation.

Thanks for reading.

Smart Surfaces and Heliotropic Systems

A quick update on week 2-3. We've moved along with arduino learning how to program it using photocells and servo motors to follow a light source, which is quite cool actually, I'm still at the "gee-whiz! It moves!" stage of physical computing. I really think they should teach physical computing in Physics 240 (electromagnetic physics and includes circuits) and Engin 101 (programing). Learning how to manipulate code to actually have a physical result is much more engaging than the same old compile, run, debug, compile, run, "hello world!'.

Anyway, all of this is leading into heliotropic systems (following the sun, like sunflowers).

Our light source tracker!

The bread board and all the wires inside the base.

We had two servo motors moving our contraption. One on the horizontal (x-axis) making it rotate and follow side to side and the other on the vertical (y-axis) following up and down.

For a quick video of it mostly working (too much ambient light, we set our light threshold a bit to high). Check out my group member, Damien's, flickr site here. Her blog can be found here.

Friday, September 18, 2009

Arduino and making LED's blink! It's all so exciting!

Well, we've learned basic Arduino. Made a LED light up and blink! We used these lessons, here, if anyone is interested and we had the basic Arduino starter kit.

An Arduino board.

And then we had some fun with the RGB LED's. Video is below. I'll post more about my thoughts on this later. In the mean time, I'm getting some sleep!





Final hook ups.

Thanks for reading!

Wednesday, September 16, 2009

Day 1 of Smart Surfaces.

Well, this is going to be a really interesting course.

I won't go into every detail but, like I had thought, it was interesting working with students from other disciplines. Well, actually, the architects in the course had methodologies pretty similar to the designers. A very hands on, try it and make prototypes, it's ok to fail while you work out the final design kind of thinking. It was cool to see and it makes total sense that both the architecture school and the art & design school share a building. The engineering prof, Max Shtein, made an interesting point about the disparity of knowledges that the different disciplines had, say he started talking about 1, 2 and 3 point perspective, only 2/3rds of the class (designers and architects)would really understand what he was talking about. But if he asked us to differentiate some equation, probably only 1/3rd (engineers) would know what to do. ( Wonder if can do that anymore, doubt it).

On an unrelated note, go to Professor Shtein's page (link on his name) and check out his picture, looks like a high school yearbook photo. Love it.

We had a mini one day exercise where we were split into teams (2 engineers, 2 designers, and 2 architects)and we had to move sand from location to location (using gravity) leaving a certain amount of sand at each location. It was actually quite fun, and used materials that we creative types are quite familiar with, cardboard and duct tape primarily. The sand started up high and worked it's way down to the different locations. We were judged on things like efficency, durability and spectacle. We went big on the spectacle part. We made a sling shot to shoot the sand up to a funnel that divided the sand out and moved it through tunnels to the different locations. It was awesome. So much potential for failure, but so cool.


Testing the angle sand would slide down cardboard at.

Matt and I were responsible for the slingshot, we tested the tension needed to throw a cup full of sand 4 feet. Answer, quite a bit.

Building the sand holders, like 5 minutes before we presented. It was tight, but worked!

So our design worked, but we were penalized for having to much human interaction. Basically we ran out of time to build a support structure for our funnel and tunnels and had to hold it up ourselves. Out of the 4 teams, ours was actually the only one that really worked and successfully got the sand to each location. I think that was because, besides the slingshot, we actually kept our design simple. Since we were working with cardboard, we kept the whole thing simple with minimal moving parts and thus, once the sand was in the funnel there was less of a chance for cascading failure. You know, once we got past the whole flinging sand thing.

We are now moving on to Arduino, a computer processing language I think. I've had no experience with this at all and I'm a bit nervous/excited. We have to make LED's light up for homework. Here we go!

Thanks for reading!
Related Posts with Thumbnails