Go Down

Topic: inflatable window curtain that inflates/deflates based on light (Read 4543 times) previous topic - next topic

lmignin

hello Arduino Community! Super new Arduino user here. I am a graduate architecture student working on my thesis project which involves the designin and fabricaton of an environmentally responsive 'curtain' of sorts. This curtain is made up of many inflatable components. Each component has the potential to inflate or deflate thanks to a light sensor (each component has a light sensor and a fan attached to it )that triggers the arduino to tell the fan to blow in the positive when hit with light and reverse direction (suck air out)  when sensing dark.

I have come across some helpful threads including this one, http://arduino.cc/forum/index.php?topic=67057.0 and I am in the midst of taking apart fans and attaching them to 12 volt batteries just to see the power, rpm. However I am still struggling with understanding a few things.  I am unexperienced with code and electrical engineering in general (i am collaborating with 2 engineers that are helping me with that)but I want to gain as much of an understanding of the process as possible.

Right now I am struggling with figuring out exactly the right light sensor which will be attached to an inflatable component. (If anyone reading this has any light sensor suggestions that would be great! I have a list going, but the important aspect is that these wont be directly attached to the arduino board. They have to exist inside these inflatable components. (see sketch attached) This light sensor will most likely have only 2 inputs and not work on a scale. IE it will trigger the arduino to tell the fan to turn in the positive direction when dark (filling the component with air) and turn the motor in reverse when the sensor senses light. (sucking out the air from the component)

Another issue I am working through is how to hook up multiple pc fans to 1 arduino board. I understand I need an external 12 v dc power supply but do I need a relay board in order to handle a lot of fans? I suppose I might have up to 20 fans. Each 12 v dc fan will act on its own, they dont act in grouups. They each respond to their own individual sensors read of light or dark. 

Finally, I would like to reverse the motor on my fans. If anyone has any tips beyond this thread that would be incredible!
I have found a helfpul link here about reversing motors http://itp.nyu.edu/physcomp/Labs/DCMotorControl but if anyone has any specific tips about my project wow that would be much appreciated!

ps see the attached image/pdf for hopefully a more helpful explanation of project goals/issues!

Cheers,

Leslie Mignin
www.lesliebristowmignin.com

Caliber Mengsk

Light sensors (can also be photo sensors or a photocell) are fairly simple, and semi-cheap. You can look at all the normal electronics websites to find some. For example Sparkfun had these:

http://www.sparkfun.com/products/8348
http://www.sparkfun.com/products/9088

Both are fairly easy to understand. I don't think you would need a sensor for each individual blind piece though, just one sensor for an entire column maybe. Really, that's up to you, since it's your design, but why spend the extra money on extra sensors if it's really not needed. Blinds will generally have the same brightness on them at the top as at the bottom.

As far as the sensors being inside, either of those would work. I don't really understand the idea a ton except it's effectively filling a "bag" with air, and then sucking it out. XD I'd do the more simple approach of having a stepper motor turn regular blinds up or down based on daylight, but that's me, simple in nature.

O-o I feel like I'm rambling. Anyway, Pretty much all photo/light sensors work in a similar way. They either give or take resistance based on the amount of light they have. If it's lower then a certain amount then it would be triggered as off, and above that certain point would be on.

XD I feel like my post was kind of rambly and pointless... but, the point is, that's what they are, and a place you can get them, and a brief (and probably horrible) explanation of how they work. Sorry if it was a horrible post. (brain isn't working well today...)

lmignin

@ CALIBER

thanks for your response! Yeah so I guess im using this curtain 'analogy' just to simplify the example but really the whole thing is an experiment to demonstrate the possibilities of collapsing materials, environment and technology into architecture. One could also picture this system as a 'canopy' of sorts hanging over a large outdoor space, which would close up or open up based on the light hitting it in certain areas.

In regards to your suggestions for a sensor, I really would like a sensor for each component. That way the inflation/deflation is more specific. My question still is though how these small sensors relay the information back to the arduino and then back to the fan. They seem to be pieces that directly connect to an arduino board am I right? Could they sit independently/away from the board? Not sure if that makes sense. But in my diagram I show the sensors directly connected/next to the inflated pieces.

Thanks!

robtillaart


point of attention:

you can read the value of a LDR with the analogRead() getting a value between 0 and 1023 (probably the range is less).
- http://arduino.cc/forum/index.php?action=printpage;topic=66778.0 -

IN your code you should define two threshold point, one for start blowing and one for start sucking. If you use one point for both
the application might "vibrate" around that point and that is irritating at best, but also not so good for the fans

in code: (not tested)
Code: [Select]

#define SUCK 0
#define BLOW 1

int state = 0;

void setup()
{
  Serial.begin(115200); // for debugging messages
  Serial.println("Start curtainizer 0.1");
}

void loop()
{
  // MAKE MEASUREMENTS
  int light = analogRead(A0);  // assume 0 = dark and 1023 is bright 

  // CALCULATE DIRECTION
  if (light > 400) state = BLOW;  // the numbers 300 and 400 are to be elaborated
  if (light < 300) state = SUCK;

  // feedback
  Serial.print("L: ");
  Serial.println(light);
  Serial.print("Mode: ");
  Serial.println(state);

  if (state == BLOW) FanForwards(); // to be elaborated
  else FanBackwards();  // to be elaborated
  delay(1000);
}



Hope this helps a bit



Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

lmignin

Thank you that is SUPER helpful! In regards to my question above, is there an LDR you recommend in particular that can attach away from the arduino board? If so how is this connected back to the board. Sorry Im such a huge newbie. Im assuming these LDRs arent transmitting the info wireless...thus there needs to be a connection at some point.....Thanks for helping out an amateur here!

robtillaart

Quote
is there an LDR you recommend in particular


NO particular LDR in mind, the way you connect it is described in - http://arduino.cc/forum/index.php?action=printpage;topic=66778.0 -

Quote
If so how is this connected back to the board.

TO connect an LDR correctly it must be part of a voltage divider

+5V ---- [ LDR ] -----* ------[Resistor] ----- GND

Connect analog port of Arduino to * in the middle
The valueof resistor must be in the same order as the LDR when in the dark. (a 10 K will work probably too)


Quote
Thanks for helping out an amateur here!

I cant wait to see the curtain work, (post a youtube when ready ?) you just added a new dimension - inflate - to what to do with Arduino :)

I can imagine that such inflatable curtains help to keep out heat during the day and let in fresh air during the night.
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Go Up