Inspiration:
The very first inspiration for the idea came from mega phone pavilion.
I was astonished by the mechanism and simple design.
I searched for other kinetic facades applications in Interior Design and mega projects
Dubai high-rise tower "AL BAHAR" tower was a great inspiration for dynamic façade implementation to reach an eco-friendly design
Project Concept
"Cubie smart simple façade"
cubie will consist of a grid of cubes
the façade moves according to amount of light
the angle between cubes changes to allow precise amount of sunlight to enter the space.
the angle varies from "0 to 90", where:
"0 " degrees indicates no sunlight entering the space.
"90" degrees allows full entry of light
There are two options for controlling:
Automatic (adapt mode) :
The time of day and season (sun trajectory as per project location) adjusts elements in order preserve for the longest possible time a certain "feel" as per selection.
Customized (manually) (fixed mode):
Fixed mode explores the "dynamic" shift of light and effects throughout the day as the user compares it to other fixed presets at same time intervals/different days.
Similar Projects :
Fusion 360:
I used Fusion 360 for 2D modelling and 3D modelling.
at first I created a sketch of cubes ( 16-18) cube to imagine the connection between cubes and take decision what to use for this connection
I used laser cutting for fabricating these cubes, After fabrication i decided to use M3 screws , washers, nuts instead of 3D printed pins
screws : as a connecting rod
washers : to act as spacers to reduce friction during movement
nuts : to control distance and movement
Servo Motor disc :
the servo disc ( sold in market) didn't fit the servo motor metal design so i had to fabricate a servo motor disc to be attached on servo horn
The design was a circle was holes " 4 holes for crank mechanism shafts " and other 2 holes for servo horn
all fixtures were made using M3 screws
Servo Motor Mount:
I made a stand for servo motor connected between base and top of design to fix servo motor position
Crank mechanism shafts:
I fabricated shafts with different length to test motion
I tried connecting long shaft with short shaft inside the motion tracking slot
The friction was so high , the perfect length was 3/4 the required length
Shaft pins:
pins connect between cube that transfers motion to other cubes and crank shafts
i fabricated pins similar to screws but longer and have a wide cap to prevent any slippery
Slot motion tracking:
slot created to help in changing the rotary motion to linear
the slot is created behind the moving cubes
Enclosure
simple box with tabs and T-slots
openings for potentiometer and on/off button
front side has a wide opening "as a window screen" for cubes
Fabrication Phase:
3D printing:
I used 3D printer for pins connect between cube that transfers motion to other cubes and crank shafts
pins similar to screws but longer and have a wide cap to prevent any slippery
Laser Cutting :
The Fabrication of whole design trials was made using plywood and laser cutting
Cubes " Large scale"
Laser Trials
Shafts and servo disc
Parts fabrication
The electronic circuit had components to support both manual and automatic modes
Input components:
LDR sensor "Light Sensing"
Potentiometer "manual mode control"
On/ Off switch "navigating between manual and automatic mode
Action components
servo Motor "rotates and motion is transferred to cubes"
Circuit components:
Arduino UNO board
breadboard
jumpers
LDR sensor
Potentiometer
ON/OFF Switch
connecting cable (from Arduino board to laptop)
Servo Motor
Components Integration:
Servo motor : pin 9
potentiometer: pin A0
LDR : Pin A1
On/Off switch : Pin 2
Manual Mode:
Integrating all circuit components:
Real Circuit components:
Breadboard
Arduino UNO
connection cable
Jumpers
5V adapter
On/Off Switch
Servo Motor S3003
LDR Sensor
Power Source:
External Power Source " 5V " Adapter
"Operating the whole system"
The project portability wasn't an aspect , being installer in a position and controlled through switch was the logic connection so using a battery was excluded.
all components of the circuit (servo motor specially) power was 5V, so the decision was taken to use a 5V adapter
I wanted all components to have the same power and ground.
Arduino USB cable " Loading code on Arduino"
Using cable to upload code on Arduino UNO board.
5V Adapter
Servo Motor
Programming Phase:
The coding was divided into 3 phases:
1-Manual Mode
2- Automatic Mode
3- integration through on/off switch
Manual Mode:
Using Potentiometer to control manually servo motor movement
Potentiometer connected to analog pin
Serial Monitor to see the motion variations
Mapping to control the variation between servo range and potentiometer range
Code:
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = A0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
Serial.begin(9600); // setup serial
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
Serial.print(val);
Serial.print(" ");
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
Serial.print(val);
Serial.println();
delay(200); // waits for the servo to get there
}
Automatic Mode:
Servo motor movement is controlled by LDR sensor
Code:
int lightval;
int lightpin=A1;
int tm=100;
int servopin=9;
#include <Servo.h>
Servo myservo;
int angle;
void setup() {
Serial.begin(9600);
pinMode(lightpin,INPUT);
myservo.attach(servopin);
pinMode(servopin,OUTPUT);
}
void loop() {
lightval=analogRead(lightpin);
Serial.println(lightval);
delay(tm);
angle= lightval/5;
myservo.write(angle);
Serial.println("anlge is");
Serial.println(angle);
}
Integration:
Switching between manual mode and automatic mode through on/ off switch
Code:
int lightval;
int lightpin=A1;
int tm=100;
int servopin=9;
#include <Servo.h>
Servo myservo;
int angle;
void setup() {
pinMode(2, INPUT);
Serial.begin(9600);
pinMode(lightpin,INPUT);
myservo.attach(servopin);
pinMode(servopin,OUTPUT);
}
void loop() {
if (digitalRead(2) == HIGH){
int potpin = A0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
Serial.print(val);
Serial.print(" ");
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
Serial.print(val);
Serial.println();
delay(200); // waits for the servo to get there
}
else
(digitalRead(2) == LOW);{
lightval=analogRead(lightpin);
Serial.println(lightval);
delay(tm);
angle= lightval/5;
myservo.write(angle);
Serial.println("anlge is");
Serial.println(angle);{
}
}
}
Project Modules:
Crank Mechanism
Servo motor mounting
moving cubes
Horizontal Slot for motion tracking
Electronics mounting
Enclosure
Crank Mechanism
Servo motor mounting
moving cubes
Horizontal Slot for motion tracking
Electronics mounting
Enclosure
cubes Mounting
servo motor mounting
Horizontal slot for motion tracking
Integration :
cubes mounting
servo mounting
connecting servo disc with crank mechanism and cubes
crank mechanism mounting
mounting electronics
enclosure assembly
servo disc with crank mechanism shafts
Frame with tracking slot , servo motor mount and crank shafts
Feedback:
I tried to have feedback through all project phases
I got stuck mainly in construction parts of the project
After fabricating cubes and attaching them together, the crank mechanism didn't work and the system was heavy in movement
I got stuck in slider crank mechanism:
1-Fusion 360 joints , I watched some tutorials on YouTube to help me understand how it works
2- I tried some manual tutorials
Eng. Sherif Advice:
He advised me to reduce the number of cubes into 2 cubes instead of 18 cube
Use simple crank mechanism " 2 rods instead of 4"
Make the whole system adjustable through washers and long M3 screws
Eng. Amany:
Her guidance in screws, nuts and washers size and usage as i had no previous experience in using them.
Eng. Esraa, Sara helped me in screws fixations.
I got stuck in the movement mechanism:
After week 7 , i started searching in movement mechanism and how to change rotary motion to linear
I didn't know the mechanism name or method of construction
After a lot of search i found out its called " Crank Mechanism" and have different connections
I found some similar Mechanism on grabcad.com
Cubes connections:
After a lot of research , i decided to use normal M3 nuts and screws
Some connection examples:
Benz with snap
Clevis Pin with cotter
Grooved Ball Bearing
Mistakes and pitfalls:
Estimating dimensions of crank mechanism
Friction force between connections
Large design ( 18 cubes)
How to avoid :
Reduce Design whole dimensions
use normal screws and nuts to be free in connection trials instead of special 3D printed pins/ screws
Consider enclosure before system
good mount and positioning of servo motor would be helpful.
If I had more time, I would enlarge the scale of project to be 18 cube instead of two.
Work more on slider crank mechanism that can fit any architecture kinetic façade
Make an interior space " a room" to visualize the idea in real way
Slider Crank Mechanism