Arduino Laser Projector

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
25,391
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Jul 2, 2010

I have been playing with Arduinos for about a year now, and I noticed that none of my projects were really utilizing the speed capabilities of the ATmega328 chips. At 16 MHz, they can do a hell of a lot more than blink LEDs. To improve my appreciation of their capabilities, I wanted to build a project which required very fast and precise timings. That is what motivated me to build a persistence of vision alphanumeric laser projector.
My projector uses a single laser and has only one moving part. 6 mirrors are hot glued to a spinning platform. Each mirror is at a slightly different angle, and each is responsible for 1 of the 6 lines of vertical resolution. One full rotation sweeps the laser across the target 6 times at 6 different heights. An optical sensor detects the start of a rotation and times the laser pulses to produce readable text. Due to the crudeness of construction, the mirrors are only stable within a small range of speeds. Too fast or too slow and the spinning platform wobbles. Consequently, I am forced to use PWM to throttle the speed to exactly 833 RPM. I was able to compensate to a great degree in code for the inaccurate alignment of the mirrors. For example, the mirrors are far from perfectly aligned at 1/6th rotation from each other, and most are not perpendicular to the center axis. Another small issue is the laser's "warm up" time. If it has not been fired within the last 3 milliseconds, there will be a small delay between power on and illumination. To partially compensate for this, I fire the laser for a brief period between mirrors. I believe the cause of this warm up time is the current control circuitry built into the laser pointer. In theory, I could try bypassing that circuitry and it may fully correct the problem. For the curious, the project was built on an empty DVD player case. I am using the player's power supply, but everything else was removed. I may eventually move the Arduino and other circuitry into the case, and interface it with the buttons on the front to allow custom strings to be programmed without a computer.

For the Arduino code and a schematic visit http://members.cox.net/qbikal/LaserProjector.html

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 0 dislikes

Link to this comment:

Share to:

Uploader Comments (npaltmp)

  • heim.ifi.uio.no/~haakoh/avr/#p­rojector

  • @Spoif You are second to reference this link. I will now be honest. Many years ago (maybe more than 6, I don't remember) I saw that page and found it very interesting. When I built my projector, I had not revisited that page since the first day I saw it. I only vaguely remembered the concept and implementation. All the construction and design decisions I made for mine where the results of my own brainstorming and problem solving.

  • great!

    wouldn't it have been easier just to add a stepper motor so that it would be easier to maintain a steady speed?

  • @YetAnotherShow Sorry my reply is 4 months late. A stepper motor could maintain a much steadier speed, but it is MUCH more difficult to control software wise and significantly more complex to power circuitry wise. With a cooling fan motor, all I have to do is make an occasional adjustment to the PWM power level when ever it is convenient for my software to do so. With a stepper, I would constantly have to time and adjust the motors state during drawing routines.

see all

All Comments (22)

Sign In or Sign Up now to post a comment!
  • Excellent idea. Try 8 parallel laser beam to project at wall. How can you modulate the laser pen?

  • @jazzbaby84 Your question interests me but I am not sure what you are referring to. If you are talking about the flickering problem in the video recording, that has nothing to do with my device. It has do do with how the camera records the video frames. If the camera is "exposing" each frame for only 33 ms but my projector is taking 56 ms to draw a frame, each video image is only capturing half of the projection. Make the projector run faster, and more of the projection is drawn per vid frame.

  • @npaltmp Also known as a 2D array for any ooo peeps out there. Nice vid, Can I ask, was there a reason the laser image would only display correct upon full speed? Couldn't this be adjusted using your ir sensor?

  • @HypoPyros Thanks. I have working on an improved model on and off (I have many other projects going on simultaneously). I will be more compact, it will use a much more powerful laser, and it will likely have many extra features. One of the features I am strongly considering is SD memory card support for displaying text files. Another is programmable scheduled reminders with audible alarms. I am even considering more exotic features like Caller ID.

  • Dude, this is the coolest Arduino project ever. NASA and shit should employ you.

    What you could do is add a Arduino Bluetooth and lots of coding to send it instant messages or even images with new mirrors.

    Kepp up the great work, Cheers!

  • You are a fucking genius !

    Amazing work !

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more