Project documentation

The project is A light responsive installation and it work with different light intensity such as phone light or controlled room light intensity and the future improvement is to make respond to the sun Light.

Inspiration

  • Hexi - responsive wall

Hexi - responsive wall from Thibaut Sld on Vimeo.

Tobias Becker’s Breathing Skins Project Based on the concept of biomimicry, the technology is inspired by organic skins that adjust their permeability to control the necessary flow of light, matter and temperature between the inside and the outside. In addition to these performative benefits, the constantly changing appearance of these façades provides a rich interplay between the exterior natural environment and interior living spaces.

Research

[Firefly experiments]

2D and 3D Modeling software’s

Rhino + Grasshopper (Firefly)

Fusion

Files

Iris Diaphgram

The components

INPUT OUTPUT
Light sensor (PT15-21C/TR8) Servo motor

The Mechanism

  • A natural optical system that has a diaphragm and an aperture is the human eye. The iris is the diaphragm, the pupil is the aperture. … An iris diaphragm can reduce the amount light that hits a detector by decreasing the aperture, usually with “leaves” or “blades” that form a circle.

  • How does an iris mechanism work?

A number of carefully-shaped blades are anchored to two different rotating rings. As the rings rotate, the blades move, and their combined gap in overlap forms the iris. The more blades in the diaphragm, the closer is gets to maintaining a circular opening.

via GIPHY

Design

For Design i have used Rhino , Fusion 360, Grasshopper.

First try : Failed

Sceond try :

The project has 3 main components The front and back case , the Iris mechanism.

so first i have designed the Mechanism part to scale all the project on it.

The Mechanism contains 4 part :

1- Actuator.

2- Housing.

3- Blade.

4- Gear.

The outer Diameter for the Iris is 22.5 and the inner diameter is 16.2.

Each iris contains 10 blades

How it works: by fixing one of the blade faces on the Actuator and the other face on the housing and rotate the housing part the iris will open and close smoothly as shown below

via GIPHY

So for the project i made 2 Iris with one Actuator base and gear in between

Blades:

I have cut 20 blades from the Bio-material i have made as shown below

Then i have cut the Housing and assembly all the parts.

After i assembled all the parts i connected the servo the gear and test it and it worked.

via GIPHY

The Packging :

for the Packging i got inspired from the organic shapes and made three openings 2 of them are dynamic and one covered by bioplastic to clean the ventilated Air.

The face case include the Light sensor

The back case include 3 openings

1- the electronics box 2- Wires 3- Servo

Bio material

Download##### Files

1- Mold And Blades

Sourse :

Bio-filter

First : I have to choose which bio material i want to include in my final project functions :

The function is to purify the Air from toxic dust in it, so for this function i choosed ( Activated Charcoal ) as a filter

Activated charcoal is one material that seems especially applicable to Fab Lab makers, because of its ecologically sound and purifying properties. It is essentially a form of incredibly microporous carbon, processed from natural carbon-rich materials by applying various gases or chemicals to ‘burn’ in tiny holes and thus exponentially increasing its surface area. The result ? A material that can efficiently filter out all manner of impurities and toxins. A super-sponge, if you will. Bioplastics present themselves as an excellent and similarly sustainable substrate for activated charcoal with a wide range of uses.

so the bio material has multiable variables such as:

Variable
Flexibility
Texture
Conductivity
Resistance
       I want it flexible and smooth:

So for this i have to test different recipes and quantities to get the result i want.

Materials

Name quantity
Activated Charcoal 500g
Gelatine 300 g
Glycerin 300 g
petri dish 10
Pot 2
stove 1
scale 1
Acrylic heet 100*60

First Round :

First one was not good enough and the results were too bad because of :

1 - i mixed the material without boiling the water, i just add hot water to the mixture and mix it without getting it boiled together.

2- It turned out that the bio material has differnet quantities from country to another so for the first time i have used a recipes from Mixeco and definitely it wont work in jordan because it has a totally different weather.

Second Round :

Samples Water Gelatin Activated Charcoal Glycerol
#1 35 ml 7.5 g 4.5 g 7.5 ml
#2 25 ml 7.5 g 4.5 g 7.5 ml
#3 30 ml 7.5 g 4.5 g 4.5 g
#4 30.3 ml 4.48 g 4.48 g 3.30 ml
#5 30.3 ml 4.48 g 4.48 g 4.3 ml

First step :

In a cooking pot, off heat, mix the gelatin powder and the water. Stir and wait until the mixture thickens like a glue.

Step two : Start to heat the mixture on high heat. Stir time to time but not excessively to avoid additional foam. When the preparation become liquid again, add the glycerin.

Step three : Lower the heat as soon as you start to see a white deposit appearing on the surface of the mixture. Remove gently the foam with a spoon. Add the activated charcoal and stir.

Step four : Pour the preparation on a flat surface (in glass, silicone, plastic or varnished wood) with edges delimiting the desired shape. IMPORTANT : prepare your mold before starting to cook to avoid a final panic !

Step five : Wait 4/5 days of drying before removing the bioplastic material from its molding surface.

via GIPHY

So after 4 days the samples were ready and i found that the sample # 5 was the best as shown below.

via GIPHY

After this i wanted to make a bigger size of it in a big mold 20cm * 60cm * 3.0mm

After this i tried to pour the mixture in the mold but something bad happen because the acrylic curved because of the heat of the mixture and the used surface was less than i expected:

After this i wait for 4 days to get the plastic dry but guess what ! the big mold was not the same Variables of the small sample flexible and smooth as shown below :

So i had to do another recipe or to add more glycerin to make it more flexible.

1 - i crushed the dry plastic in a pot as shown below :

2- I added 137 ml of water to the crushed plastic.

3- I added 51 ml of glycerin to the crushed plastic after boiling it.

4- i poured it again in the same mold without exposing the mixture to the Air to not get it dry during pouring it in the mold.

5- Wait for 4 days.

Hero shot

via GIPHY

Laser Cut

Settings

    Cut:
    Power: 60%, Speed: 01%, and frequency: 5000-+

I have chosen the setting above to cut the bio-plastic into blades.

via GIPHY

Cut the other part of bio-material and assembly it :

File : Pattern

Cut the piece :

Settings :

    Power: 30%, Speed: 0.80%, and frequency: 3000-+

Assembly :

HERO SHOT

Electronics

Input :
Files :

Borad

Png files

Input code

For this week i want to work on the final board (Phototransistor + Servo):

## Input Phototransistor with Servo : The phototransistor works just like a normal transistor, where the base current is multiplied to give the collector current, except that in a phototransistor, the base current is controlled by the amount of visible or infrared light where the device only needs 2 pins.

microcontroller :

Atmega 328 :

Pinout :

Pin Descriptions :

VCC Digital supply voltage.
GND Ground
Port B (PB7:0) Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port B output buffers havesymmetrical drive characteristics with both high sink and source capability. As inputs, port B pins that are externally pulledlow will source current if the pull-up resi
Port C (PC5:0) Port C is a 7-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The PC5..0 output buffers havesymmetrical drive characteristics with both high sink and source capability. As inputs, Port C pins that are externally pulledlow will source current if the pull-up resistors are activated. The port C pins are tri-stated when a reset condition becomes active, even if the clock is not running.

Input sensor :

Files :

LIGHT BOARD

1206 Package Phototransistor:

It has to pin one is the Collector and the other is the Emitter

Working with Board Design :

As given in the Niel’s Board for the Input week as shown below im going to use same routing and add some components that fit my final project Board.

### The Schematic

### The Board Design

Check how export the schematic to design the board in Week7

Component Quantity
1 ATmega328p 1
2 PIn header 2
3 XTAL 1
4 10K resistor 3
5 1K Resistor 1
6 LED 1
7 FTDI 1
8 0.1 C 1
1 C 1

How to Export the Board to Image :

1- From File >> Export >> Image

2- From the menu change the Monochrome and tick it and change the resolution to 1000 instead of 150.

Final Png :

Check how to work with RML and mods in Week7

Soldering :

## Code :

                 #include <Servo.h>     // Library for Servo Motor

           int potpin=A0;// initialize analog pin 0, connected with photovaristor

           int ledpin=13;// initialize digital pin 13, output regulating the brightness of LED

           int val=0;// initialize variable val

           Servo myServo;   // define servo name



           /* The setup() function is called when a sketch starts. It is used to initialize variables, pin modes, start using libraries, etc. This function will only run once, after each power up or reset of the Arduino board. */



           void setup()

           {

           pinMode(ledpin,OUTPUT);// set digital pin 13 as “output”

           Serial.begin(9600);   // set baud rate at “9600”

           myServo.attach(5);   // servo pin

           myServo.write(0);     // servo start position

           }



           /* The loop() function executes the program repeatedly until Specified. */



           void loop()

           {

           val=analogRead(potpin);// read the analog value of the sensor and assign it to val

           Serial.println(val);// display the value of val

           analogWrite(ledpin,val);// turn on the LED and set up brightness(maximum output value 255)

           delay(10);// wait for 0.01

           if(val>200)

           {

           myServo.write(90);

           }

           else

           {

           myServo.write(0);

           }

           }

The code controls the light intensity from 0 - 1023 and rotate the Servo from 0 - 180 degree.

# Hero shot

via GIPHY

3d print

File :

Box

Electronics box :

I have designed a box with slide opening to but the power supply and the board inside it.

The box dimensions 140.00116.746.68.

Model :

Printing :

via GIPHY

Hero shot :

Applications :

Sun :

I have read the sun intensity during 2 hours (1pm and 2pm) and i found out that the reads is around 390-405

  #include <Servo.h>     // Library for Servo Motor

            int potpin=A0;// initialize analog pin 0, connected with photovaristor

            int ledpin=13;// initialize digital pin 13, output regulating the brightness of LED

            int val=0;// initialize variable val

            Servo myServo;   // define servo name



            /* The setup() function is called when a sketch starts. It is used to initialize variables, pin modes, start using libraries, etc. This function will only run once, after each power up or reset of the Arduino board. */



            void setup()

            {

            pinMode(ledpin,OUTPUT);// set digital pin 13 as “output”

            Serial.begin(9600);   // set baud rate at “9600”

            myServo.attach(5);   // servo pin

            myServo.write(0);     // servo start position

            }



            /* The loop() function executes the program repeatedly until Specified. */



            void loop()

            {

            val=analogRead(potpin);// read the analog value of the sensor and assign it to val

            Serial.println(val);// display the value of val

            analogWrite(ledpin,val);// turn on the LED and set up brightness(maximum output value 255)

            delay(10);// wait for 0.01

            if(val>490)

            {

            myServo.write(140);

            }

            else

            {

            myServo.write(0);

            }

            }

Room and phone Light Test :

I have read the analog while the room light was open and then closed the light then i read the analog while phone light was open and close

      #include <Servo.h>     // Library for Servo Motor

                int potpin=A0;// initialize analog pin 0, connected with photovaristor

                int ledpin=13;// initialize digital pin 13, output regulating the brightness of LED

                int val=0;// initialize variable val

                Servo myServo;   // define servo name



                /* The setup() function is called when a sketch starts. It is used to initialize variables, pin modes, start using libraries, etc. This function will only run once, after each power up or reset of the Arduino board. */



                void setup()

                {

                pinMode(ledpin,OUTPUT);// set digital pin 13 as “output”

                Serial.begin(9600);   // set baud rate at “9600”

                myServo.attach(5);   // servo pin

                myServo.write(0);     // servo start position

                }



                /* The loop() function executes the program repeatedly until Specified. */



                void loop()

                {

                val=analogRead(potpin);// read the analog value of the sensor and assign it to val

                Serial.println(val);// display the value of val

                analogWrite(ledpin,val);// turn on the LED and set up brightness(maximum output value 255)

                delay(10);// wait for 0.01

                if(val>200)

                {

                myServo.write(140);

                }

                else

                {

                myServo.write(0);

                }

                }

Assembly

Electroincs Assembly :

Blades and Actuator Assembly :

Body Assembly :

Working :

via GIPHY

Heroshot!

via GIPHY

Files :

Design