Clock With Laser Projector!
by cristinepotu7171 in Circuits > Arduino
1714 Views, 24 Favorites, 0 Comments
Clock With Laser Projector!
Attention: this project uses laser light, handle the components with care, DO NOT expose your eyes to the laser beam!
- Hello, today I present to you the construction of a clock with a laser display. A laser beam coming from a pointer excites a paint with phosphorescent properties in a certain movement sequence.
- A project in which we make the junction between painting, electronics and Arduino programming.
Supplies
- Glow In The Dark Paint (https://www.gloeffex.com/collections/glow-in-the-dark-paint)
- 3x brushes& canavas for painting
- Laser Point Blue
- Arduino NANO
- RTC 1307 clock module
- 3x SG90 servomotor
- LM 317
- BC 547 npn transistor
- 10 potentiometer
- push button
- 240 ohm resistor
- 390 ohm resistor
- 820 ohm resistor
- LED
- Visuino programm
- Arduino IDE
Schematic Diagram
The electrical diagram is shown in the image above. The servomotors will be connected in the order indicated and following the attached photo. The laser diode is powered by a constant current circuit made with LM317. You can adjust the brightness of the laser beam in small limits from the 10k potentiometer.
Mount a 3V battery on the RTC 1307 module in the module's special slot. This will ensure the operation of the internal clock even if the supply voltage of the assembly is interrupted.
Connect + to the pointer housing, and - to the central connector, as seen in the photo.
Mechanical Construction
- having 3 servomotors in motion, the mechanical construction represents an important factor in the accuracy of displaying the numbers on the paint. Make the solder joints as rigid as possible.
- Disassemble the case of the pointer and remove the part that supports the batteries. On the side with the laser diode, solder the wire for the + terminal to the case. and the one for -, in the center, as you can see in the attached image.
- fix the laser switch to ON with a clamp.
- fasten the 3 servomotors together with the help of a hot glue gun. In the same way, fasten the body of the pointer to the engine wheel 1. Careful! Observe the placement order of the servomotors!
Let's Paint!
- We choose the color of the display depending on your preferences or the model we have.
- The paint has phosphorescent properties and can be found in stores with the specification "Glow in the dark". It is excited especially by ultraviolet light or light close to the wavelength of ultraviolet rays. For this reason, a laser with blue/violet light is chosen, this being the closest to the wavelength of UV rays. You can see in the attached images how a laser with green light, 10 times stronger than the blue one, does not excite phosphorescent paint at all.
- For the painting, choose a light-colored support, preferably white, which can be cardboard, plastic, paper.
- I painted on a painting canavas purchased from the stationery store.
- If you want a longer effect, paint the canvas in several layers, usually two.
The Code
- The code is compiled in Visuino, but you can find the IDE format and link to the libraries used in the attachment. If you use the Arduino IDE, copy the "Mitov" folder to Arduino=libraries.
- Since there are mechanical moving parts, it is possible to make some changes or want a different form of the numbers on the display, for this reason I recommend you to use Visuino.
- The working principle is very simple: A time decoder reads divided hours and minutes from the RTC 1307 module. A counter moves the digits in order: tens of hours, hours, tens of minutes, minutes.
- Then, a text comparator from 0...9 detects the consecutive digits.
- Let's take the number 5 as an example, as it is in the video: the comparator detects the text "5". Its output commands a "sequence" component that will move the 3 servomotors to form the figure 5.
- The movement amplitude of the servomotors and implicitly the size, shape and length of the digits is given by the 3 "Analog value" components, one for each servomotor.
- By changing the values of these 3 components, you can change the shape of the display.
- "Analog value 1" moves servomotor 1 in horizontal direction, "Analog value 2" in 2 vertical movements and the 2 points between hours and minutes.
- "Analog value 3" moves motor 3, moving the whole assembly with the distance between characters (digits)
- Since there is no constant display and the code is at the limit of the Arduino controller's memory, setting the time is done from the code, changing the hour and minutes in the "date/time value" component The current time set in the code is 12:00, but you can choose any device start time.
- We choose the correct port and load the code into the Arduino
- link to libraries:
https://app.box.com/s/aynowhr3pwuut4y9otc2zcw6vy3oa7u2
Start the Device
- We power the device through the micro USB plug. Press the connect button in pin D12. The orange LED will light up for 5 seconds, indicating that the time has been set with the value defined in the code.
- We place the assembly about 40 cm from the phosphorescent support, in the center. We can close or widen the distance depending on preferences.
- The servomotors will move, the laser will generate pulses and the exact time will appear on the support. This is set to 12:00 by default.
- Handle the device with care, keep it out of the reach of children.
Enjoy!