This device can project attractive laser beam patterns on virtually any desired surface. The basic idea is to manipulate the path of a laser beam from a source such as a laser pointer. The beam is deflected by a small mirror fitted to the end of a motor shaft. The mirror is not perfectly perpendicular to the axis of the shaft, so the originally linear beam path is converted into a cone. This cone strikes the second mirror on end of the shaft of a second motor. The beam from the second mirror goes to the projection surface.
The motor speeds are high enough that viewers see a stationary figure instead of a moving point of light, thanks to the persistence of human vision. A wide variety of fascinating figures can be created by varying the speeds of the motors. All of this is controlled by an Arduino microcontroller, using a program written in C. The software can be downloaded free of charge from the web page for this article .
The speeds of the two motors are set by potentiometers P1 and P2 (which are fitted with the red and blue knobs in the photo), whose positions are read by the microcontroller. The microcontroller converts these two input signals into PWM outputs that determine the speeds of the motors. The rest of the circuit diagram is simple. The outputs of the Arduino MCU are fed directly to the ULN2803 driver IC, which can handle up to 500 mA per channel. The two motors (scavenged from printers) operate at 24 V with current consumption well below 500 mA. To be on the safe side, two channels of the ULN2803 are wired in parallel for each motor. The laser diode is energized by the microcontroller immediately after start-up and is always on. It is powered from a 5-V supply voltage. The current is limited to approximately 140 mA by a 15-ohm resistor. To avoid problems with pulse noise from other supply rails, the Arduino is powered from a separate 6 V source, such as a rechargeable battery.
The author used the potentiometers to find various combinations of motor speeds that produce attractive figures. They have been arranged in sequence to provide a show lasting several minutes, with a repeating series of fascinating figures in an automatic loop. This is included in the C code. This loop, as well as other pre-programmed figures, can be selected using a set of four switches. A short video demonstrating the projected figures can be viewed on Elektor’s YouTube channel .
Internet links www.elektor.com/110166  www.youtube.com/ ElektorIM