..A Kinetic Adaptive & Interactive Wall " KAIw"
Project purpose: This proposed interactive wall could convey information about the different users' activities and moods. The ability of the wall to talk! It can create a reciprocal relation between users and space. in order to make our spaces more adaptable and to be used with different functions.
Results:
This will impact on increasing user productivity, making a livable space and comfortable place, Increase building resiliency, space utilization rate.
Joint Motion Connection inspiration
For the software:
All the models are sketched using Fusion 360.
SPUR GEAR creator plugin.
GRABCAD website for the electronics models.
Using Laserworks program to prepare the model for cutting through the laser cutter machine.
Using ultimaker cura 4.10 to manipulate and set 3D printing properties.
I used the tinkercad as a simulation program that used for simulating the wiring of my electric circuit.
Arduino Uno IDE 1.8.15 programming Software.
Andriod Phone for mobile Connection GUI. (Arduino Bluetooth Control).
Fusion 360 Software
Laser works Software
Arduino Uno IDE programming Software
Arduino Bluetooth Control
ultimaker cura 4.10
For the Machine:
All the model parts are cut using a laser cutter machine ( as all the models are 2.5D parts with constant dimension and consist of T slots connections).
Using 3D PRUSA i3 MK2S 1 & 2 printing machine to fabricate a 3D object.
For the Materials:
Using the Black & Silver PLA filament 2mm thick for 3D printer.
Using the plywood 3 mm thick for the laser cutter.
plywood 3 mm
SILVAR PLA filament material
BLACK PLA filament material
Laser Cutter machine
3D PRUSA printing machine
For the Electronics and tools:
DC Jack to terminal block converter
Jumper Wires MM, MF
Crocodile Wires
Screw Driver
Potentiometer 1 Kohm
Breadboards
Voltage regulator 6v and 5 V
RGB, LED Lamps 2V
ON/OFF Switch push buttons
melting gun
Toggle Switch
Bluetooth Module HC-50
Resistors 220,560 and 1 K ohm
Ultrasonic Sensor
Metal Servo motor 1.8Kg
Arduino Uno
Power supply 9V
Avometer
Silver and Black Spray Paint for finishing.
USB to ONLY transfer the Code to Arduino Uno.
Breadboard
Metal Servo Motor 1.8 kg
RGB LED
USB to ONLY transfer the Code to Arduino Uno.
Ultrasonic Sensor
560 and 1 K Ohm Resistors
Resistors 220 ohm
crocodile jumper wire
Bluetooth Module
Arduino Uno
Screw driver
Avometer
Melting Gun
Slide Switch
Wires male male/ male Female
Potentiometer
Rocker Switch
Voltage Regulator 6V
Voltage Regulator 5V
Dark Silver Spray Paint
light Silver Spray Paint
Black Spray paint
Adapter 9 Volt Supply
Cut Tool
Milestone 1: Designing the One-Unit Bracket through 'FUSION 360'
At first, I worked on two separate sheets one for the bracket louver part and the other for the base structure and the assembling of the whole project.
i renamed each part in the project with a code; letter A for the base structure, letter B for the Bracket part, C and D for the fixations and connections.
So, beginning with the bracket louver part:
For the B01_Bracket front side part, From solid >>Sketch tool >> i choose the X z plane to draw in it. i started to draw from the origin point of the fusion.
I made centerlines in this shape, draw a rectangular shape 100*50, on both sides of the rectangle lines, I draw the holes of screws and nuts. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the above half side.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the C01_Rod Rail Connection To bracket part, From solid >>Sketch tool >> i choose the X Y plane to draw in it. i started to draw from the origin point of the fusion.
i began with drawing on the center line the holes of screws and nuts. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm on the both sides. then, I continued the shape by drawing an arc from a center far 3.7mm from the original shape. at last I made two holes 3.2mm to fit the rods inside.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the C02_Revolving part connection part, From solid >>Sketch tool >> i choose the X Y plane to draw in it. i started to draw from the origin point of the fusion.
i began to draw a rectangular shape 25*2.5 mm, then at the vertex of the rectangle i draw two offset circles to be holed later in the 3D version. In the end, I made a fillet of 1 mm at the connection of the circle and the line of the rectangle.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
After that, I made two holes in the extruded shape by sketching two circles of 3.2 mm on it.
For the B09-Side Bracket part, From solid >>Sketch tool >> i choose the X Y plane to draw in it. i started to draw from the origin point of the fusion.
i began with drawing a main rectangle 97 * 70 mm, then along its border i draw the center line of holes of screws and nuts. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm on the both sides. i made a hole inside by drawing an offset rectangle 67*40 mm.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the B03-Louver part, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
i began to draw a triangle of 30 degrees of its all side and the length equals 92 , 160 mm.
After that, i draw the center line of holes of screws and nuts. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm on the both sides.
For the C03-louver Connection part, From solid >>Sketch tool >> i choose the X Y plane to draw in it. i started to draw from the origin point of the fusion.
i began with drawing on the center line the holes of screws and nuts. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm on the both sides. then, I continued the shape by drawing an arc from a center far 3.9 mm from the original shape. at last I made one holes 3.2mm to fit the arm hole inside.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the B05-Arm 60mm part, From solid >>Sketch tool >> i choose the X Y plane to draw in it. i started to draw from the origin point of the fusion.
i began with drawing a rectangle of 50* 15 mm.
on the center line the holes of screws and nuts. so i made holes of 3.2 mm.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the B05-Arm 50mm part, From solid >>Sketch tool >> i choose the X Y plane to draw in it. i started to draw from the origin point of the fusion.
i began with drawing a rectangle of 50* 15 mm.
on the center line the holes of screws and nuts. first beginning with a hole of D= 7 and 5 mm then draw an offset of 1 mm then, on the half side i made holes of 3.2 mm.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
3.2 thick rod
Stop Rod 3.2
For the B06_Bracket Base part, From solid >>Sketch tool >> i choose the X z plane to draw in it. i started to draw from the origin point of the fusion.
I made centerlines in this shape, draw a rectangular shape 60*50,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side. In the end, i draw the rectangle fit of the servo motor position and i made the holes of fixing it.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component. and for the rectangle servo fit i holed it all.
For the B06_Gears part, i downloded a plugin called SPUR GEAR CREATOR, after making the calculations of the torque and the radius that will fit in my case. the big gear is holed with 7 mm and the thick is 7 mm ,, the small gear is holed by 5 mm,, the number of teeth is 8 and the thick is 3 mm.
For the B06_Bracket Top part, From solid >>Sketch tool >> i choose the X z plane to draw in it. i started to draw from the origin point of the fusion.
I made centerlines in this shape, draw a rectangular shape 60*50,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side. In the end, i draw the rectangle fit of the servo motor position and i made the holes of fixing it.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component. and for the rectangle servo fit i holed it all.
Then i uploaded a servo motor with its Horn from the GRAPCAD Library and placed it in my model.
Then i designed the fixation part between the Servo motor and the base bracket.
Beginning with drawing a rectangle 24*13.6 then make an offset of 1 mm.
Then make an extrude and extrude with subtractions to make the holes of the screws.
The next step after drawing was to make joints between all those parts to simulate the Motion of the Bracket unit One.
i made the base bracket part as GROUND.
Then, i made some joints between Revolving in the connections of the arms, revolving parts, Gears,and the servo. the rigid joints were ONLY between the louver and the connection part of the arm.
In the revolving joint of the Servo, i made a limitation angle between 20 and 70 degrees.
I also use the Motion LINk in the assembling panel to link the motion of the big gear with the servo and also between the big gear with the small gear with no reverse option.
Final Product of the Milestone 1: ONE UNIT ONLY
'Minimum Feature'
Milestone 1: DEMOS for Animating the ONE UNIT ONLY
'Minimum Feature'
Milestone 2: Designing the Structure Base Part through
'FUSION 360'
Then, going to the structure Base part:
For the A01_Structure Grid Front base part, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
i draw a triangle of 328 mm length of its all lines ,, this length fit to the opening of the louvers, then I made an offset of 50 mm inside.
i made a centerlines along the width of the shape and begin to draw the screws and nuts of the bracket part 1 to fit in this shape.
first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10 mm and using the mirror I repeated it on the other 2 sides.
Then i draw a rectangle below the previous shape ,, this will be the control board part.
i draw a s1uare of 21*21mm and holed for the switches and Led.
Also, I holed a rectangle of 45*42 mm in the center of the shape for the arm of the third bracket.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the A02_Structure Grid Base Side part, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
I draw a rectangular shape 60*50,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side.
Then I make holes of the Ardunio Supply Outlets in the shape i made 11*3mm and 12*3mm.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the A03_Structure Grid Side part, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
I draw a rectangular shape 300*50mm,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side.
Then I make hole of the toggle switch in the center of this shape.
i make a copy of this shape to fit along the other side.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the A04_Structure Grid inside 1 base part, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
I draw a rectangular shape 300*50mm,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side.
Then I make different holes inside the shape in order to make it free to fit the wires to the upper side of the model.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
For the A04_Structure Grid Board Base part, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
I draw a rectangular shape 320*50mm,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
Then I make different holes inside the shape in order to make it free to fit the arduino Uno and the breadboard. later, I made a projection from the arduino model after uploading it into my program. and use those holes in the shape I extruded.
For the A04_Structure Grid Board Backside part, it is an identical part from the front base but with removing the holes of switches and led.
For the A04_Structure Grid inside 2 parts, From solid >>Sketch tool >> i choose the X Z plane to draw in it. i started to draw from the origin point of the fusion.
To hide all the wiring, those 3 parts are designed in order to enclose the final model.
I draw a rectangular shape 150*50mm,then I draw the holes of screws and nuts on the borders. first beginning with a hole of D= 3.2 mm then draw a rectangular 3.2x10mm and using the mirror I repeated it on the other half side.
Then I repeated it 3 times.
Then I extrude it to only 3 mm thick, by choosing to extrude option from Create panel,, then made it as a new component.
The next step after drawing the structure parts was to make joints between all those previous parts.
i made the Structure base Front part as GROUND.
Then, i made the rigid joints between all the structure parts I draw.
Then I import the file of bracket louver into this file to assemble both into the file.
i also uploaded all the electronics of the circuit from Grabcad such as breadboard, Arduino uno, switches, LED and potentiometer.
Milestone 2: DEMOS for Animating the 3 UNITs
'Complete Feature'
Final Product of the Milestone 2: 3 UNITs
'Complete Feature'
Laser Cutting preparation Steps
I saved all the sketches as a DXF files to go through the laserworks software to be ready for the cut process. And for the 3D parts, i saved them as STL binary to be used in Ultimate Cura for printing.
Then I opened Laser works and import them all through the laser works software.
I navigated each view through the software and with corresponding the wooden sheet size 30*50 cm. i imported each view separately then I re-oriented their position.
I adjusted the setting of the program by selecting the cut main lines (Black color with power 68 and 20 speed), Scan (Red color with power 25 and 280 speed) then i saved it as .RLD.
I printed this two parts outside the fablab as i needed a machine with a sheet size bigger than 30*50.
3D printing preparation Steps
First, I Converted my model to a STL file. by right click on the component panel and choose save as mesh then clicking on the STL Binary and save it on the computer.
Then, i opened the Cura software >>open from file >>then I modified the setting of the ultimaker Cura 4.10 program as follows
Filament is PLA type.
profile is 0.2 and infill is 20% and the temperature is 215, with no supports only skirts.
i imported each file and placed it on the left or right of the bed far from the center.
ONLY For Rods, i added the Brim in supports to be more strength.
ONLY For Servo motor base, I added supports to hold the cantilever parts of the model.
i put my flash memory into the computer that are connected to the laser cutting machine. i opened the laser works interface and open my .RLD file.i checked my design on the computer then download it to the machine. i renamed my file and opened the machine.
i opened the two switches of the machine and prepared the position of the laser nozzle to be focused and at my origin of the file nozzle to the top-left point. then Checking machine focus by pressing the Pulse button. then i press file then work frame then time frame then i pressed run to start the operation.
First Test
Second TEST
The Metal Corrosion Finish Effect!
To make the effect of the corrosion metal finish, you have to spray two different shades on your sheet.
beginning with the light shade at first, and with a near distance to make something like bubbles/Spots.
Then let it dry for around 12 hours, then use the dark spray shade at a far distance as 30 cm.
let it dry again for around 6 hours.
Finally, you will get this effect!!
3D printing Steps
the machines used are prusa i3 MK1 &2.
then I saved the file into .GCODE and saved it on the SD card of the machine.
Then i opened the machine.
i preheat the Filament at first,, then unload the old color and reload the new one as i chose.
with using the Info Screen. i pressed the Control Knob to access the Main Menu. i choosed the file from SD card and pressed enter to begin its operation.
The machine begins with heating the filament, then the first layers are constructed. the following layers are filled till the end. At the end, I pulled out the magnetic bed to remove my model from it.
Main Concept:
In the Complete Feature (along with the 3 units): It has two modes one for manual and the other automatic mode for control. IN the manual mode, the user will modify his preferences of the louvers angle by using a potentiometer ranges from 20 to 67 degrees.In the Automatic mode: It begins with taking input motion signals from the distance between the users' workflows and the wall by using ultrasonic sensors. It will differ its opening angle according to the distance of the occupants. and The wall will emit different lights according to its opening angle states. For the manual mode: The fully Closed state 20 degrees for detecting no one in space with a far distance of more than 40 cm / the light will be purple then- semi-opened/closed state 45 degrees for detecting a near body from the wall between 40 and 20 cm and the color will be cyan color Fully opened state 67 degrees for detecting a very near body less than 20 cm with green color. For the automatic mode: the louvers will be smoothly sliding between those angles while green it will be sliding until open. while purple it will be sliding until it closes. Also, there will be a slide switch (toggle switch) to modify the modes and an on/off switch to open or close the whole device.
In the nice to have Featured: the on/off switch will be transferred in its off mode to the graphical control via mobile app.
The technical components: the ultrasonic sensor, on/off switch, potentiometer, and the slider switch/toggle switch are as input component, the output component: motion and light, the action components are done by using servo motor and RGB LED, The brain is the Ardunio UNO, power management: the breadboard will take the power from Ardunio UNO that is taken from the 9 v power supply.
Main components I used: Ardunio UNO, on/off Switch, 6v and 5 v regulators, Bluetooth module, potentiometer, ultrasonic sensor, Slide Switch (toggle switch), RGB LED, and 3 Servo motors.
Steps of WIRING Simulation by Using Tinker Cad
First, I chose from the panel: the Arduino Uno, mini breadboard, Slider Switch, Servo Motor, potentiometer, on/off switch, Ultrasonic sensor, RGB LED, and resistors of 220 ohms.
I supplied the 5 V power pin from Arduino to the + side of the Breadboard and the GRD to the -Ve side of the Breadboard respectively.
Then I settled the slider switch and connect the 2 terminals of it to the +ve and -ve sides of the breadboard. The common middle terminal to pin 2 of the Arduino.
5. i placed the RGB LED in the bread board and supplied the common cathode of it with the -Ve of the breadboard. Also for the anodes colors i crossed resistors of 220 ohms along them then to the Arduino digital pins as 9,10,11 respectively.
6.Then i added the potentiometer along +ve and GRD Arduino and the mid pin to analog pin A0.
7. I added the on/off switch of the whole circuit to fix the opening of the device. the switch pin is 4 and the other leg with the GRD.
7.Then, i supplied the circuit with the 9 V power supply in order to power the whole circuit with adding the 6v and 5v regulators. the 5 V regulator will supply the arduino , switches, potentiometer, ultrasonic sensor and RGB LED. the 6V regulator will supply the 3 servo motors.
8. i connected the ultrasonic sensor to the circuit. By supplying the power pin to the +ve and the GRD to the -Ve of the breadboard. And the Echo, trigger pins to pin 6 and 7 respectively.
9.i connected the 3 servo motors to the breadboard by supplying the power pin to the +ve and the GRD to the -Ve of the breadboard. And, the signal pin to the the Digital pin 3 on Arduino.
The Complete Feature Wiring Circuit
10. Last, i connected the Bluetooth Module HC-50 to the breadboard by supplying the power pin to the +ve and the GRD to the -Ve of the breadboard. Also, the TXD to the the Digital pin 0 on Arduino and the RXD to Digital pin 1on Arduino. i added 560, 1k as voltage divider 3.3 v.
The Nice - To - Have Feature Wiring Circuit
The Circuit real implementation
First, I conducted the power by using MM jumper wires on one side along with the mini breadboard and the other on 5V of the Arduino. the same was done for the GRD side.
i placed the slide switch and the potentiometer on a place of the breadboard.
i connected the slider switch terminals with the Arduino by supplying the power and GRD to the upper slots in breadboard and the common pin with the Digital pin 2.
4. Then i began to connect the potentiometer to the breadboard by supplying the power and GRD to the upper slots in breadboard. And the middle pin to analog in pin A0 respectively.
5.Then, I put the slider switch on the lower part of the breadboard. i settled the RGB LED and i placed the RGB LED in the breadboard and supplied the common cathode of it with the -Ve of the breadboard. Also for the anodes colors i crossed resistors of 220 ohms along them then to the Arduino digital pins as red, blue, green 9,10,11 respectively.
6. Then i began to connect the on/off switch of the circuit to the breadboard by supplying the power line to pin 4 and GRD to the upper slots in breadboard. i used the crocodile wire jumpers to connect it.
7. Then, i added the power supply 9V to my circuit as illustrated in the power management section below.
8. So I connected the Ground of the DC jumper connector to a -ve of the breadboard, and the supply socket with the +ve of the breadboard.
9- i placed the regulator 5V that will supply the arduino placed, i connected a +ve of the power supply line to a side of the regulator, the mid pin to the groound and the last pin to the +ve line that served the arduino 5v.
9- Also, i placed the regulators of 6V that will supply the Servo motors. i placed 2 in series connection.
10- i connected a +ve of the power supply line to a side of the regulator, the mid pin to the ground and the last pin to a pin along the other side and this will be the =ve line of all 3 servos.
11- then i took a ground line to an empty pin and connected all the grounds of servos to this pin.
12- the last pin is the signal pin>> i connected the 3 Servo motor to the circuit by connecting the signal pin to the Digital pin 3 on Arduino.
13- Last, i began to connect the Ultrasonic sensor to the breadboard by supplying the power and GRD to the +ve and -Ve Arduino lines in breadboard. And the Echo, trigger pins to pin 6 and 7 respectively.
14- Later, I replace the slide switch with the toggle rocker switch, to be placed well on the structure.
15- Also, i added another 5V regulator in series to cool down the heat.
The Nice-to-Have Circuit
14- i connected the Bluetooth module HC-50 to the board. there are 4 pins in this module, Vcc to the =Ve of the board, GRD to the -ve of the Board, TXD to pin 0 in the Arduino uno, RXD to the pin1 of the Arduino uno. but the RXD needs to be as 3.3V output, so I added 2 resistors 560 and 1K ohm to act as a divider module (Regulator).
15- Then, I opened Mobile app ( Mobile Bluetooth controller) after i paired it with HC-50 on my phone. i re connect it in the app.
I supplied the circuit with 9v power Adaptor supply.
i started with listing all the components i need to power in the project circuit in the complete feature state.
i have 3 metal servo motors, 1 ultrasonic sensor, 1 slider switch, 1 on/off switch, 1 RGB LED, and 1 potentiometer.
The following are the technical sheets of each component i used:
Arduino Datasheet
Torque Equation Concept
From Datasheets>>>
i will use a 5V regulator to reduce the 9 V from power supply to the 5 volt for Arduino uno, ultrasonic sensor, RGB LED and the Slider switch. Also, I used the 6V regulator for the 3 Servos as from the datasheet, they are worked along only 6 Volt.
RGB LED:
Required Blue color voltage= 3.2 V
Required Red color voltage= 2 V
Required Green color voltage= 3.2 V
Input of Arduino = 5Volt
V=IR ---- OHM's Law
5-3.4=40/100R
R= 230-320 Ohm ( for RGB LED resistors).
Servo motor:
Angles from 0 to 180 degrees.
Operating speed =0.10sec/60degree, Stall Torque = 15 -18 g.mm, D= 23.2 x12.5 x 22 mm, Operating voltage= 4.2- 6V.
This servo will need a regulator of 6V as its operating voltage is up to only 6V.
Calculating the Torque that is needed for moving the second gear from the big one::
For the Spur Gear 7mm>>>
F=m.a = 15 grams x 0.10 =1.5 N (Force Equation)
To move the Spur Gear 5mm>>>
Torque= F.R.sin (angle)
Torque= 1.5x12.5x1=18.75 g.mm (the highest torque needed to act the motion).
Ultrasonic sensor:
Required voltage= 5V
Current =15 ma max
slide switch//Rocker switch:
Required voltage= 5V
the complete Feature Code
First, i begin to assign each value that will be used to integer variables, the distance of the ultrasonic with an initial value of zero, the x distance that will be calculated by any body near the device, val is the value of mapping from the potentiometer reading. Also, I added the <servo.h> library to read the servo motor and I named it as servoMotor. Then, I set the trigger and echo of the ultrasonic sensor to be able to read the distance of any object correctly. The last step was to add the flag function and set it as false, this step will be used later in the ultrasonic loop to stop the for function of the servo motor.
2. Then, in the void setup(), i begin with assigning each pin to its pin number and its state. also i attached the serial monitor code >> Serial. begin (9600) to be able to read the readings on my screen. the main switch and the slider switch 2,4 are as input pins, the RGB LEDS 9,10,11 are as output pins. the servo motor is attached to the pin 3 and the potentiometer is attached to analog in A0 pin.
3. Then through the void loop(), re const the distance as 40 cm, the distance will read from pins 7 and 6 the trigger and ECHO pins. then i made the IF condition, if the slider and the switch are on , then it is the automatic mode. in this mode the device will use the ultrasonic to calculate the distance of anybody in front of it and act as the following code. i wrote an IF condition to restrict the RGB color and the motor angle between 20 and 67 ( the perfect ssetup for the revolving action in my project ). After that, i chose the output pins 9,10,11 with High/LOW to make the light colors emitting from RGB LED. by adding myflag = false ( this means that the servo will be ON mode and the loop will work). The full path can be illustrated as follows: this is done by adding the Distance order as follows:
4. then i made the IF condition, if the slider and the switch are off, then the manual mode is on. in this equation i used the analog read from the potentiometer VAL and mapping it from 20 to 67. then printing this value to the serial monitor to see the results of the readings. then i made three equations by fixing the angle to the RGB led lights to be simulated as the automatic mode but with using manual operation. Then ending the loop with the Low condition of the circuit. they are as follows:
5. The Nice to Have addtion code to my circuit , was to add the bluetooth module. in order to control my circuit with a mobile application into 3 angles (20,45,and 67 degrees). when the main bush button is low state, the app will be work then. i begin with constructing the While condition that illustrate when I added a value the system will act as it. So iadded then the incoming data will be euqal the serial read function. if the incoming data as an example (pressing =1), the motion and light of the RGB LED will act by constrained values. By pressing 1 >>> it will be slide from 67 to 20 degree, pressing 2>>> it will be slide from 20to 40, pressing 3>> it will be slide from 40 to 67. The full path can be illustrated as follows: this is done by adding the Distance order as follows:
The First TRY
N.B: The implementation step by step is below in the second try.
At first, i connected the main big gear connection in order to test the gear and arm dimensions that i made. it was working well, but the connection was needed a support between the gear and the arm, the arm was loosing in the main rod. So i fixed it at first with a double face glue as a non-permanent solution. Only to check the motion and i fixed this later by adding another part between the both to hold it well.
Then i began to add the other rod with small gear, to check the reverse motion if it is clear or not. i was fixed the second rod with a small base and top part in the holes of the wood to hold the rod from sliding.
i saw the same issue of the sliding arm along the rod so i did as above and this was fixed later as i said.
The Second TRY
i added the servo base part in order to hold the servo well in the bracket base.
Then I re-test the model again to check if it works well.
Updated Step by Step of Fixation parts
I place the base cut part of the bracket on the ground.
then I fixed the servo motor 3D part into the hole of the ground base. i removed all the supports from the printed model.
then I entered the servo motor into it and check if it is fixed well.
Then i added the round horn of the servo and fixed it with its bolt.
i added also the small fixation part of the rod 5mm into the base bracket hole in order to hold it from sliding down.
After that, i printed the fixation part between the arm and the gears I illustrated above.
i added the gears into its rods then placing the fixation part between the gear and arm .
i also printed a apart between the Rod 7 mm and the horn of the servo to fix my rod into the shaft of the servo.
i edit the openings of the holes by using the melting gun tool.
At the end of the big rod I fixed the servo motor connection part that will be fixed to its horn.
Then i placed the rod 7mm into it and check if it is fixed.
At last , I added the side of the bracket after fixing the arm into the rod.
After that, i began to add the connection cut parts of the louvers and the rods 3.2mm.
i added the revolving parts and the fixation small stop parts below them.
Then I fixed the louvers by using nuts and bolts.
then connecting the arms along the inside rods.
After that, i began to add the connection cut parts of the louvers and the rods 3.2mm.
i added the revolving parts and the fixation small stop parts below them.
Then I fixed the louvers by using nuts and bolts.
then connecting the arms along the inside rods.
TEST DEMO For ONLY a ONE-UNIT
(Minimum Features)
TEST DEMO For THREE-UNITs
(Complete Features)
The next step was to mount all 3 units on the base structure and place the electronics into it.
Then, I test again the circuit to recheck if all things goes right.
Then, I fixed the wire positions of the Dc jumper terminal and the crocodile jumpers of the switch along the back of the structure base.
i fixed the breadboard on the base by using cables tie and the Arduino by using bolts and nuts.
Then, I fixed the middle structure part that will cross the wires of the 3 servos, the Bluetooth module, and the toggle switch.
Final Product
DEMO For Final Product
(Complete Features)
DEMO For Final Product
(Nice To HAVE Features)
DEMO For Final Product
(Full Journey From Sketches Till the End)
For me, i asked the specialist Noha about her feedback on my project. she admires it and suggests me to weld the jumpers of the potentiometer. In case of the connection between it and the jumpers is loose connection. I did this advice and this hepled me alot later. The instructor Amany helped me alot in the process of welding this connection.
Also, I got a very good idea about my automatic sensor motion from my instructor Shrief. it was about making the motion gradually smooth in its motion until it reach a specific angle case. i learned a new function about the Bool.FLAG. With his help, I accomplished this point in my circuit code. Also, he advised me to replace the slide switch with the rock toggle switch to be able to deal with its pins on the structure grid.
on the other hand, I helped my friend Aya with her project idea. it is about sorting the coins into different holes. so we were testing the right position and angles for this motion. So i adviced her that her motion depends on the angle of the cut part and the position where we put the coin. this affects the speed of the coins.
Also, my friend Sara was testing on me her project idea about asking some questions and answers. i advised her to slow down the question sliding bar on the screen. As when it is with a great speed, the letters aren't clear enough for users. So, i advised her to make it a delay of 600/700.
Problem 1: At my First Try of the Gears motions, i made the size of holes of Wood parts as the 3D parts. When i pressed all into others, i found that the connections are loose and not fixed well!! So i began to fix it with a non-permanent double face as a first try only to check my motion.
Solution 1: it was all about the Kerf distance of the laser-cut, as the machine heat is taking some millimeters of the sheets. So I fixed it by minimizing all the Wooden laser cut parts by 3 mm of the main sizes. And finally, it works well!
Problem 2: After that, i solved the problem of losing and Kerf of the machine. i tested the arms and the motion, it works but with many trials the connection becoming loose and the motion is not strong?! i recognized that the PLA is easily corroded and the connections becoming loose with the several trials.
Solution 2: I think about making another connection between the gear part and the wooden arm part in order to direct link the motion and make the arm stronger in its motion link. So I made it and it solves this problem but the corrosion concept is still on with fewer errors.
Problem 3: The revolving parts that hold the louvers were sliding by continuous motion.
Solution 3: i added a small fixation part below each revolving part to stop it from sliding.
Problem 4: Some broken parts of the wooden cut.
Solution 4: I increased the distance between the nut drawing and the edge of the inner rectangle. This makes it stronger in its structure.
5Problem 5: While testing my circuit with the power 9V supply, I saw that my 5V regulator was overheating ?!
Solution 5: I added another one in a series connection along with the breadboard and this makes its heat down.
Problem 6: While printing a rod of my designed rods, the rod was moving from its position and broken.
Solution 6: i added Brim support from the setting of ultimaker cura, in order to make it with a strong base enough. And this works well!
Problem 7: the balance issue of my model, as the load is higher in the front part than the behind one.
Solution 7: i added a plate sheet under the base but longer than it, to stop it from sliding . this helps the model to be more balanced.
Problem 8: i face a problem in the ultrasonic sensor automatic mode. when i added the code of the smooth motion as i illustrated above in the code section. the motion were continuously moved without stoping as the loop is still on.
Solution 8: i added the Flag function to my loop in the condition of distance by adding myflag = false ( this means that the servo will be ON mode and the loop will work). This helps alot in solving my issue.
continuously run the For Loop Issue
To Do>>> I will add an RGB LED Strip Along the inner triangle structure base. The light will be emitting from the base especially at night, this will visualize it in a better way i guess.
To Change>> if I will implement this idea again, i will actually replace the PLA material for the 3D printing with much more strong material in its properties. As the PLA is easily corroded and the connections becoming loose with the several trials.