LASER Projector University-Project

I have a small problem, I volunteered to program a laser projector meant to draw RASTER images like for example, be able to display the number 1 for a few seconds.

I have ended up working on a simple design, using a red laser that pulsates a beam at the right intervals towards an octogonal mirror drum set on a DC motor (mirrors are inclined at a different angle).

I have watched a lot of tutorials and even read throgh a begginer's book but for the love of me, I can't grasp the coding part all that well, everything I come up with is way off and non functional.

Do you guys know of any sources that might help?

P.S. Teacher doesn't know or won't care to help me :frowning:

How are you driving the spindle motor?

With the risk of sounding like an utter newbie (which I am), I've just assigned it a value of 255 with analogWrite and ina foor loop subtract 0.005 each 30 ms until it reaches 250 and that is the time it has to rotate and with the help of the laser hopefully display a 1

Try to imagine I can't see your schematic, your physical setup, or your code.

It shouldn't tax your imagination, because I can't

1 Like

Read up on ‘television’… and dot-matrix printers

For a raster, you need two axes. The X spindle (Horizontal?), and a means of deflecting the other Y (Vertical?) axis.

As a starting point, you need to derive a tach pulse from the spindle shaft to denote a known position on the rotation of the mirror.

Being reflective, you only have some fraction of a whole 360 rotation available to ‘scan’ the image area…
e.g. a 90-degree sweep will only use a quarter (360/4) of the 360 rotation….

There may be a delay needed to horizontally ‘centre’ your sweep in the visible field.

Vertical, you need to count those sweep tach pulses… increment the vertical ‘line’ counter an deflect X-degrees* with each sweep of X, and return to the top every ‘n’ lines that represent your scanned height. * the vertical deflection will very small.

Now the raster is defined, you need to determine your X pixel width… the line Y height is determined by the scanned line height.

For the image content, you read the data from memory - indexed by the Y row (lower frequency) and the X horizontal ‘bit’ position to turn the beam on or off as the beam is deflected by the spinning mirror and vertical deflection mechanism.

A bevelled mirror, usually

I was trying not to give too much away, or lead the OP into not making his own choices ! :hugs:

And it must be FRONT surfaced to avoid double reflections.

1 Like

Extremely generous of you!

1 Like

You need some sort of pickup to detect the rotation of your mirror disk, then you sync the software to that pickup signal.

Can you please post a picture/diagram of what your mirror drum consists of including the motor and power supply?
What RPM do you aim to spin the drum at?
With eight mirrors you should be able to produce some recognizable characters.

Tom.. :grinning: :+1: :coffee: :australia:

usually for driving a laser over an XY-Area something like this is used

best regards Stefan

That's not how laser printers work.

How large, in terms of number of pixels horizontally and vertically, is the image area?

I think we scared the OP off.

Almost, I was caught up on other stuff the past days, just came in to check the answers and to say the least I am a bit overwhelmed.

It sounds beyond complicated but I will manage.

Thanks for all of the inputs, can't say I will use any of them as they a bit over my paygrade but I'll try to implement some elements, especially last/member and Tom.

Yeah it was pretty generous of my, at the beggining I would laugh it off as "work cleanses the soul" but now.... I don't laugh so often

a raster-image shall be created.
Depending on how bright it must be maybe a projection of an LED-matrix could work too. Remember these bedroom-clocks that can "throw time" to the ceiling? They have two lenses to adjust to create a sharp picture.

Raster-image remembers me of this art-project pipestream
crazy fantastic !
best regards Stefan