Final Project Journal
Project Ideation
1- Tell us about the idea of your project. Why do you care about this? What were you inspired by? Include images and videos of similar projects
I had a visit to very a unique interactive exhibition called "Dialogue in the Dark,". It was is an exciting life-changing experience where visitors are guided by visually challenged guide firstlt, with minimum sort of light and then to an absolute dark mockups for 3 different daily enviroments (a walk in the park, grocery and clothes shopping, a daily walk on the street and finally, preparing a hot and cold drink on your own and finally have a seat on a cafe learning about braille method). Since then, I've decided that one day i'll do something useful towards easier life for visually challenged people.
Image source: https://www.dialogue-se.com/what-we-do/dialogue-in-the-dark/
Project Construction
2- Explain the CAD process of your project. How did you use the software to design your project? (List the softwares/tools/materials...etc that you used)
Projects main parts:
Base Part (circuit , stepper motor , bearings and components mount ).
Light mount arm.
Lamp Body: (Servo Motor Mount ).
The used software for Designing, Sketching, modeling and parts assembly for the project is Fusion 360. Most of the parts are connected with t-slots Then after sketching, all parts are extruded 3mm, and fittings are checked by joining the box parts together.
Used Software:
Fusion 360
Phase 1: Project Construction:
1.1.Base Part:
1.1.1.Sketching Faces:
Firstly, I started sketching roughly sketching and extruding for the for views with t-slots and required connections and then i started to implement the project componenets to make sure they will fit at the base enclosure.
Top
Side 01
Side 02
Bottom
1.1.2.Extruding Sketches:
I extruded the for views and then i started to implement the project componenets to make sure they will fit at the base enclosure.
Top
Side 01
Top
Side 01
1.1.3.Mounting components/face :
Implementing the project componenets to make sure they will fit at the base enclosure and projecting components faces, then re-extruding the projected sketches.
I listed the needed components for the bottom and uploaded STEP files for the following: (Arduino, stepper motor and driver ) and i sketched stands for bearings for the turn table lamp.
1.Select show data panel
2.Upload following these steps
Uploaded Components for the project.
Uploaded Components for the project.
Sketching and extruding the Bearing stand.
Projecting the parts on faces: (select the face, capture position, p on keyboard, select needed faces from component and it will project its geometry on the sketch. and extrude- cut to subtract screw locations. (Helping link)
project
extrude cut
For the stepper gear, i downloaded a ready open source model from THIS LINK and modified it on sketchup to take less time on fabrication using sketchup and increased its height to fit on the base and link between it and the turntable that's connected to the lamp arm to make it rotate .
The main gear model is on the left and the modified gear to fith in the model is on the right
The fixed on the turn table and the stepper and rested on the base-bottom body.
Base bottom components
For the base top components i didn't find the same models for components (Joystick and Slide potentiometer), so i measured the dims with Caliper and sketched them then extrud cut to them.
Joystick
Digital Caliper
Slide potentiometer
1.2. Lamp Arm and Body :
1.2.1.Sketching Faces:
Sketching the faces the same as previous steps .
Lamp arm and body sketches.
Lamp arm and body sketches.
1.2.2.Extruding faces:
Extruding the sketchs with value 3mm to be converted into bodies the same as previous steps .
Lamp arm and body sketches.
Lamp arm and body sketches.
1.2.3.Mounting components/face :
At the first i downloaded the servo bracket from Thingiverse , and when I uploaded it to the project file it needed to be extruded extra more, and Fusion doesn't allow editing on the stl files, so i uploaded the file to sketchup and adjusted the bracket and then re-uploaded it into fusion. Then, I mountened the servo bracket and the servo on the lamp body.
Updated bracket on Sketchup.
Mounted bracket and Servo after editing
Rendered Model parts after joining and assembly and assigning materials
Rendered Model parts after joining and assembly and assigning materials
3- Explain the fabrication process of your project. How did you use the machine to fabricate your project? (List the softwares/tools/materials...etc that you used)
For Laser Cutting
Used Machines
Laser Cutter: Malky ML1930
Materials
Plywood 3mm
Software:
RdWorks v8
For laser cutting exported dxfs extracted from fusion360 software compatible with laser cutter machine
For 3D Printing
Used Machines
3D Printer: PRUSA i3 MK2
Materials
Black PLA Filamant
Softwares:
Sketchup for editing the open source models, as fusion can't do edits on .stl files
Ultimaker Cura V 5.1.1 for adjusting printing settings and time
Phase 2: Project Fabrication:
2.1Laser Cutting process :
Firstly, I exported DXFs for the model parts from fusion (Base parts and Arm Parts).
Then, I imported the dxfs to rd works and adjusted speed and Power and save rd file to be read by the laser cutter machine
Adjusting base parts layers on Rd works to be ready for fabrication.
Black layer is cut with speed 10 and Power 60.
Blue is scan with speed 300 and Power 35
Adjusting body parts layers on Rd works to be ready for fabrication.
Black layer is cut with speed 10 and Power 60.
1.Base
Fabrication process on laser cutter for base parts
The bearing stand parts was burned as the machine started with cutting the outer shell and it fall down on the base of the machine before cutting the circle in the middle, so i repeated the process without the screw holes and made it with the drill.
Yasen taught me how to use the drill step by step.
2.Body
Fabrication process on laser cutter for base parts
2.2 3D-Printing Process :
2.2.1. Opening files on Cura and adjusting printing settings.
Layer height: 0.2 mm
Infill Density: 20%
Supports: None
Brim: Included
Weight: 11g
Time: 1h, 7mins
2. Stepper gear
Layer height: 0.2 mm
Infill Density: 20%
Supports: None
Brim: Included
Weight: 5g
Time: 30mins
3. Servo Bracket
Layer height: 0.2 mm
Infill Density: 20%
Supports: Everywhere
Brim: Included
Weight: 18g
Time: 1h, 23mins
4.Servo horn
Layer height: 0.2 mm
Infill Density: 20%
Supports: None
Brim: Included
Weight: 1g
Time: 12mins
2.2.2. Fabrication on 3d-printer.
3. Servo Bracket
4.Servo horn
Horn fitting with the Servo motor
Project Electronics & Power Management
4- Describe your electronic circuit. What are the input and action components? What is the function of each? How do the components integrate together to form your smart system? (List the softwares/tools/components...etc that you used)
Tools:
Medium size Breadboard
Jumper Wires (female-male and male-male)
Arduino Uno - R3
220ohm Resistor
Slide Potentiometer - Linear Module
White LEDs
Metal LED Holder 3mm
Servo Motor Metal Gear MG995
28BYJ-48 Stepper Motor
2PH64011A Stepper Motor Driver
Power Supply Adapter 5v
Female DC Power (2.1mm) Plastic Connector for Box
on/off Switch
1.JOYSTICK WITH STEPPER:
Controlling the stepper in 1-axis to move the turntable, so the body lamp could be rotated. Code
Wiring Diagram
5- What is your power source? How did you select the suitable power source for your project? (List the softwares/tools/components...etc that you used)
The power source is: Power Supply Adapter 5v, as all my components operating voltage was in range and more compitable with 5v.
The stepper motor is connected to the ULN2003A driver which is supplied with external power source of 5V.
The Leds are powerd by the Arduino 5V and connected to 220ohm resistor for each of them as each needs only 3v.
In case of powerin both the servo and the stepper, I would use 9v power supply indeed.
Project Programming
6- Describe the code of your project. How did you program each function of the project?
Software:
I used Arduino IDE for programming.
The code starts with including Stepper library in the code.
Defining number of Steps
The stepper motor is connected to the ULN2003A driver which is supplied with external power source of 5V.
The control lines (IN1, IN2, IN3 and IN4) of this board are connected to the Arduino as follows:
IN1 to Arduino pin 11
IN2 to Arduino pin 10
IN3 to Arduino pin 9
IN4 to Arduino pin 8
The joystick board has 5 pins: GND, +5V, VRX, VRY and SW where:GND and +5V are power supply pins VRX is the X-axis potentiometer outputVRY is the Y-axis potentiometer output SW is the push button terminal (the other terminal is connected to GND).
The output of the X-axis potentiometer (VRX) is connected to Arduino analog pin A0
Y-axis potentiometer output (VRY) can also be used.
The switch pin (SW) is not used.
The Slide potientiometer is defined as analogue input on pin A1 on Arduino and the value read from the pot. is defined as sensor value
The 2 LEDs are defined as outputs on pins 3 and 5 on arduino
The output value is defined as outputValue.
The void setup begin with value 9600 bps
pinModes Setup, for (potentiometer) as an inputs and outputs for leds.
The void loop
For the LEDs and Potentiometer: reading the value from potentiometer , map its value into a range (0,123,0,25). Based on the input value from pot., change the value of the outputs (LEDs)
For the Joystick and the Stepper : reading the value from Joystick based on this graph (that shows the X and Y directions and how the outputs will respond)
Setting conditions:
-if the joystick in the middle (value is >500 and <523, stop the motor. and print at the serial monitor this value to make sure it works well. then wait for 2 seconds before the next loop
-Else, move the motor, while the value is >or=523, map the value into range , somwe have to define the motor speed and move the motoe based on the input value from joystick forward, and while the val.<=500 the stepper move counter the step.
Project Integration & Testing
7- Demonstrate with text and visuals how did you integrate the project’s modules together? What are the testing results? (Include a Demo video separately, showing a proof of functionality)
Wiring the components and conncecting them on the breadboard for test
Wiring the Potentiometer
Wiring the stepper motor
Wiring the Joystick
Mounting the Servo
Wiring the DC power and moving Leds to their location, connected to their location the breadboard using jumpers
Closing the box to make sure the components fit
Fixing the slide pot. and the joystick with screws
Wiring the DC power and moving Leds to their location, connected to their location the breadboard using jumpers
I tested the device, but one of the LEDs didn't work , so i rechecked the wires
The minimum features is now completed
Wiring the servo
Fixing the body on base with screws
Closing the Lamp body
Yasen assisted me in assembly and testing the device, special thanks to him
Sharing & Collaboration
8- Did you ask for feedback? What are the ideas that others have contributed or suggested? What was someone else’s idea that you built upon? How did you help your peers? How did your peers help you?
Integrating and making the device works was so hard for me and i repated so many steps so many times. I wouldn't complete the project without the unconditional and endless support, assistance and encouragement from the trio Rawan, Doaa and Yasen . I also would like to thank Fikry and Sehetry for trying to help me in combining the code . And last but not least, my instructors Esraa, Sherif, Menna , Mohanad and the the unknown soldier Roaa, the ODC lab speialist. I am honoured to have you all, and I truly appreciate you and everything you have done for me.
Overcoming Challenges
9- When you got stuck, what/who did you turn to? At what point did you have to pause to research or learn more before moving on? What are some mistakes, pitfalls, or challenges that others can avoid if they were doing this project?
1.Exporing DXFs for Fabrication for edited faces by project gemotry for project components:
The original sketch was without the edits on faces after projections and extrude cut, so i downloaded a plugin called DXFs for Laser from Autodesk.
I found a problem with it later when i tried to assemble model parts after fabrication that the dimenisions is always exported (around 0.1 mm) smaller than fusion and with the tollerance of the machine too some parts didn't fit so, i re-fabricated them again.
I didn't figure out the real reason, but i think it's something related to the laser kerf.
2.Turn Table base:
The base didn't fit with the stepper, so i tried to remove the top and re-printing it instead of repeating the part, i tried with a cutter and it was hard, then Mohanad gave me an idea to subject it to hot air and i removed it easily with the help of Mohanad and Yasen
I re-printed the part after doing modifcation on its height so it can fit with the stepper (in the base) without re-figuring the base and adjusting the stepper position to be resterd as it is on the base bottom
I fixed it with the glue to the base and it worked this time.
3.Servo bracket :
I didn't print the bracket the first time with supports and didn't figure it out until the bracket started to print the horizonatl part and faded away.
I stopped the machine and re-print it with supports.
I think supports could be decreased for a less printing time and material consumption, but the time was too tight to think about it.
4.Servo horn :
The horn height was short so i couldn't fix the lamp arm between it and the servo itself, so i used another horn part and welded it to the horn with hot air and then glue to fix them together.
Credits for this idea goes to Mohamed Sorour.
The horn was so weak and had broken so i downloaded a .stl model for the horn after editing the model to fit in the project and 3d-printed it
Normal horn heigh vs after modification
The Servo's horn was so weak and had broken so i downloaded a .stl model for the horn after editing the model to fit in the project and 3d-printed it
Open source .stl model horn before and after modifications
3d-printing the Horn
3d-printed horn fixed on the servo
Testing the 3d-printed part with the servo
5.Servo Weight :
The Servo weight is heavy to hold the lamp body.
6.The code worked for each to parts only :
When i merged the code it didn't work for all of the features together.
I started with the minimum features only, When i powered the system, the lamp intensity didn't work until i give an input action to the servo.
I started the void loop with everything related to the LEDs and the potentiometer and then the conditions for the stepper and it worked.
7.The joystick STEP file :
I found models with squaric base, and the component i had was with retangular base so i re-fabricated the base-top part because the screw locations wasn't true. I didn't figure out this problem before fabrication, so i removed it from the model and statred sketch it using measuring dimensions with caliper.
Future Work
10- If you had more time, what is one thing you would change/ Do next in your project?
I wouldn't start a project without knowing about how every single component works needs and the mechanism of the electronic components even its weight , I explored so many different things in small time and it was hectic, overwhelming and disappointing.
I would choose a much more simpler device with straight forward design so i would have extra time for integrating the design with the components and make sure about its function and the programming as well.
I would do modifications to the design to fit in its original function better for its original purpose and to be more user friendly for visually impaired people .
Finish the complete and nice to have features.
Final Project Design Files
1.Fusion Model:
2.Fabrication Files:
For Laser Cutting:
For 3d-Printing:
3.CODES: