Light Graffiti with Servos and Python

servo-laser-light-graffiti

Light Graffiti is can be lots of fun if you have a decent amount of artistic ability, and a keen sense of timing. If you don’t have the necessary skills, you can always compensate by using Python-controlled servos to move everything automatically. The Python code can be found here, and makes use of the Python Image Library to process the images into a “drawable” form. A [pyMCU] with firmware capable of simultaneous servo control was used to move the laser fixture around.

One of the more difficult aspects of this experiment was getting the timing correct between each laser pulse. The timing routine involes a bit of geometry, calculating the distance between each using trig. As explained in the article, this may be a bit of overkill.  It still didn’t compare to the trig involved in a previous experiment drawing a circle with this laser-servo fixture.  Be sure to check out the video of this laser-setup in action after the break.  I’ve been quite pleased with the results, and look forward to what can be done with it in the future!

Thanks to [pyMCU] for letting me have a few of these boards to play with!

12 thoughts on “Light Graffiti with Servos and Python

      1. “Light Graffiti is can be lots of fun” <——- something(s) doesn't belong there. Just another thing you need to get corrected.

  1. If he’ed slap some phosphorescent paint on the hunk of wood he’s using as a display he’ed probably get a better final image. (And if he could get his hands on a UV laser all the better.)

  2. Put it in an oblong, white housing with three black legs and an audio clip playback of “Helloooo, friend!”

  3. This homebrew servo version is cool, but if you want to do some serious laser projection get a set of galvos! They use special motors that run at insane speeds. A set on the cheaper end would be 20kpps (20 thousand points per second). They usually make vector displays, but you could use them like this if you wanted.

    1. Can you elaborate a little bit more on that one? I am looking for high speed servo alternatives for a long time now. This could be interesting.

      1. Galvanomoters. They’re very fast/sensitive but inertia and/or friction can quickly overcome them, so they’re not really suited for heavy loads, but they work nicely for moving a light little mirror.

  4. I did this a few years back and learned some interesting things in the process…

    – Some lasers are really great for PWM intensity modulation and others refuse to cooperate unless driven from a fixed voltage.

    – RC car/plane servos don’t have reliable “end stops”. Thus repeatability is almost impossible without adding sensors (galvos don’t have this problem).

    Here’s my best effort at drawing the arduino logo with my laser…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s