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:

  1. Base Part (circuit , stepper motor , bearings and components mount ).

  2. Light mount arm.

  3. 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

Prusa

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

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

2.LEDs + Potentiometer :

  • Adjusting LEDs intensity with slide potentiometer. Code

3.JOYSTICK WITH SERVO :

  • Controlling the servo with slide potentiometer to move 4 steps up and 4 down to move the lamp body. Code

  • My Instructor Shrief helped me alot in this 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