DoDe. Lamp

Smart - Geometric - Dodecahedron shape - Night Lamp

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

Some of us need, after a long and hard day’s work, to sleep quietly and do a few meditation exercises before bed to enjoy a quiet and comfortable sleep instead of browsing the mobile and based on my interest in modern designs of Islamic art, I wanted to use that to make a smart bedside lamp...

I was excited about this idea for two reasons, the first because I actually suffer from this problem, as my workdays are usually hard and I need something to help me sleep peacefully and practice meditation, and the second is because I want to use Islamic motifs in the manufacture of a smart device to make new designs based on our oriental culture and designs

My main source of inspiration in terms of the idea was our old use of the traditional kerosene lamp and its flame continued until the morning. As for the design idea, it was inspired by the designs of Moroccan and Mamluk lanterns, and in terms of technology, I searched and found similar products on YouTube, and the “Wanasah” project was one of the inspiring projects...


DoDe. lamp, which would be sensitive for the level of light, where when the level of light is low, it starts to work automatically at a low brightness until it reaches the appropriate level for sleeping at night and also rotates to spread the ornaments formed on it around in an aesthetic way, and after 15 minutes it will turn off automatically. The user can change the intensity of light and changing the timer setting, also can pause it.

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)

I used the Fusion 360 to design from scratch on sketches and saved it as a DXF file to develop it on Corel Draw & Laserwork software .and the project was divided into four parts...

For the first part of the geometry drawing, I drew it manually, then I copied the steps to Fusion 360, then after completion, I transferred the sketch to a new project to make offset and trim, then I extracted as DXF to develop it and assemble with shape faces sketches on Corel Draw software.

Note: Fusion is not suitable for this type of design. It is better to use AutoCAD and then import the DXF files to Fusion.

In the second part, I drew the parts of the lamp, I drew the upper and lower part and the connections, then I made sure that the drawing was valid by extruding and assembly options.

In the third part, I drew the Components enclosure and import the components from GRABCAD to assemble it and make the final sketches with screws holes.

The cardboard prototype helped me a lot in transferring the measurements and ascertaining the locations of the components on the enclosure.

In the last part, I made the coupling part that connects the stepper motor with the top of the upper part of the lamp.

After Assembly and adding the appearance.

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)

Software:

After the design, we prepare the design files for implementation on the laser machine, and the process is divided into three stages...

The first stage: assembling the decorative shape on the face of the lamp using Corel Draw because it is more suitable than Fusion 360 in this particular process.

The second stage: Extracting the rest of DXF files from Fusion 360 and assembling the shapes on the cutting sizes using the Laser-work software. And writing the description words in their places on the design.

The last one: Extract the coupling part Body as an STL file to slice it using Ultimaker Cura and generate G-Code for 3d printer.

After preparing the files I started the implementation stage in parallel ...

Machines:

  • PRUSA i3 MK2 3d printer Machine.

  • MT3050D CO2 Laser Cut Machine.


Materials:

  • Plywood 3mm, it's suitable material for the lamp cover and components enclosure.

  • screw and nuts, to join the parts.

  • PLA for the coupling part. it's suitable material for it.


Tools:

  • Screwdriver to join the screws and nuts.

  • Wood file to adjust the measurements after implementation.

  • Sandpaper to smooth the surface and remove the effect of the laser beam.

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)

Software:

I used Fritzing software to build the circuit diagram because it's easier to import components to it, and most parts of the circuit are imported from fritzing forum.

This circuit contains a stepper motor, an LED strip, and an LDR light sensor, and these are the main components to perform the lamp's function. Once the light sensor senses a low light intensity, the motor starts to move and the LED strip lights up gradually.

it will be turned off automatically after 15 minutes, but the user can change the time and set a new one using the rotary encoder, also can restart the lamp using it.

the user can change the intensity of light using the potentiometer, and pause the lamp using the push button, and the function of the LCD Screen is to display the welcome message and timer setting and pause message.

The input components:

  • LDR Sensor: to sens the intensity of light, if it lows the lamp turns on

  • 1k Potentiometer: to change the intensity of light.

  • Rotary Encoder: to change and set the timer, and restart the lamp after time out.

  • Push Button: to pause the lamp.

  • On/off switch: to turn on the circuit.


The output components:

  • 5v stepper motor: to rotate the dodecahedron cover.

  • LED Strip: the main lighting unit.

  • LCD with I2C module: to display the welcome message and timer settings, and pause message.


Other components:

  • Arduino Uno Board: for controlling the electronic circuit.

  • Motor Driver "ULN2003 Driver Board": to drive the motor.

  • L298 Module (H-Bridge): To convert the value of the voltage entering the circuit from 12V or 9V to 5V to be suitable for the Arduino board as well as the stepper motor.

  • Breadboard: to connect the GND and VCC wires.

  • power jack female: to receive power from the electrical source.

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)

I used the 9V adapter for powering the lamp, Ahmed Abdelnaser helped me to test the amper and voltage using the AVO Meter and we found that it's suitable for this project after calculating the values that the components need.

  • Arduino board: 7:12V - Operating 5V

  • Stepper Motor: 5V

  • Motor Driver: 5V

  • LED Strip: 12V (but after testing it works with 9V well)

  • LDR Sensor: 3.3:5V

  • L298 Module: 5:35V

  • LCD with I2C module: 5V

Project Programming

6- Describe the code of your project. How did you program each function of the project?

It is not easy for me to write the code yet, so I divided the code into several functions and programmed each function separately, and then combine them with the help of instructors ...

I installed and included the libraries I'll need in this code:

AccelStepper: for Motor.

LiquidCrystal_I2C: for LCD Screen.

I used a ready-made code for the stepper motor just changing the pins number and the values to be suitable for this project...

I used a ready-made code for the rotary encoder and made some changes by adding counter and interval while using millis() function...

I revised the code of week 8 to define and write the right code for LCD Screen...

I made the main condition of this code depending on the code I write it before at weeks 6 and 7 using map() to change the value of the intensity of light.

----

boolean: A boolean holds one of two values, true or false. (Each boolean variable occupies one byte of memory.)

it helped me make the soft-start in the void loop without needing to make it in the void setup, also I used it to make the pause condition and timer.

unsigned long: Unsigned long variables are extended size variables for number storage, and store 32 bits (4 bytes).

I used it to save the interval of the timer.

millis(): Returns the number of milliseconds passed since the Arduino board began running the current program.

I used it to count the time more accurately than the delay() function, cause the last one had more bugs and errors.

I reviewed the entire code with Muhammad Askar to ensure its effectiveness, errors were corrected, the numbers were reviewed, and we reached a good result.

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)

First, I assembled the parts of the enclosure with screws and nuts and assembled the electronic components inside it, and connected the wires, then I assembled the upper cover of the lamp and installed the coupling with screws and then tested the code before the final assembly.

Final Result

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?

It was a very useful advice

-------------------------------------------------------------

I gave some advice to Mariam and Ahmed Abdel Fattah during the design stage and instructed Thomas on how to remove the laser burn effect using the random sander.

-------------------------------------------------------------

Helping Merit to complete the circuit

Ahmed Abdel Nasser, Mohamed Askar, and Nada helped me a lot in programming the code, so I would like to thank them a lot for their patience and fatigue with me.

--------------------------------------------------------------------------------------------

Rawan and Michael teaches me how to connect the copper terminals to jumper wires

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?

The second challenge was while writing and trying the code, after writing the code for the LED strip and trying it successfully, I started writing the code for the motor, and the motor was not responding to the signal, I thought for the last moment that the problem was in the motor, and I tried a new motor, but it did not help, And by trying a different Arduino board, it turned out that the Arduino board does not work efficiently with all the components and I had to replace it with a new one

-------------------------------------

As for the biggest challenge, it was how to assemble the lamp cover at right angles, due to the difficulty of assembling the dodecahedron shape, whether the assembly was on the Fusion 360 or in reality, I searched on the 3axis website for similar projects and relied on a ready-made design to transfer the sizes from it and adapt it to fit My design, but the result was bad due to the designer’s error in calculating the angle, then I started searching through YouTube on how to draw the dodecahedron shape. I found several videos and started experimenting with drawing them to find out the appropriate angles, then I redrew the drawing again according to the angles deduced from watching the videos and calculating them from cardboard using Aristotle’s triangle and Some traditional methods. Finally, I drew it carefully and succeeded in assembling the shape.

-------------------------------------

Another challenge we faced during connecting the potentiometer, which is the instability of the jumper wire with it, and it had to be soldered, Ahmed Abdel Nasser helped me with that

The first challenge I faced was changing the two main components in the project and replacing them with other components with lower volts and DC power to suit the Arduino and to avoid the danger of high voltage electricity.

-------------------------------------

Before showing the recent video library, I did not know how to install the lamp cover on the motor and I thought of many complex solutions that contain a lot of work with gears and mechanisms that might fail because I could not design them well or calculate them accurately. Amani and Michael helped me with the idea of coupling and I have already done.

Future Work

10- If you had more time, what is one thing you would change/ Do next in your project?

I would add some aesthetic touches to the shape to display the lighting better, such as lining the interior with a material such as acrylic or soft white fabric.


And I was going to add a Bluetooth module to connect the control unit to the mobile to give another feature to the user so that he can connect the timer with the mobile alarm...

Final Project Design Files