real cool project, any experience?

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

saw this http://heim.ifi.uio.no/haakoh/avr/

a few others have made this since then.
Have anyone on here made one.

I need some help with understanding how the code/system works.

would really appreciate any help.

Thanks.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are you talking about the "5x7 LED dot matrix pong" or the "Laser video projector".

Both are simple projects so if you ask specific questions here, you will get help for sure.

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

yep the latter,

here's another one http://hackaday.com/2010/09/15/l...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That project might not be as simple as I initially suggested, but the explanation seems to be straightforward.

Ok, so what is it you don't understand ?

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I tried to recreate a similar system, have the mirrors, laser etc.

The coding is what am confused about. How does the whole system work.

Are you familiar or good with arduino coding?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Are you familiar or good with arduino coding?
Most of us here are professionals, and will have no problem reading/writing some arduino sketches.

A drum with mirrors attached in a circle spins around. Each mirror is tilted a bit differently so each mirror projects to a different line.

If you now project a constant laser source onto the drum, you will see that it scans all pixels, horizontally and vertically, just like a traditional display does.

Only here the blank times are near instantaneous, and you only want to use a small portion of the X axis, depending on the distance to the screen.

So all they need to do is synchronize their pixel clock (turning laser on and off) with the rotation (motor) speed. The start of the pixel clock is when the first mirror is aligned to produce the pixel at (1,1).

So what it comes down to is accurate timing and some geometry.

Where are you stuck, and what is your exact setup ?

Does your system mechanically adhere to the above ?
eg. does it create the same scan pattern when rotating the motor slowly by hand while having the laser on continuously ?

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

the laser sweeps from left to clock, there is no flyback.

it scans left to right creating 7 lines.

I have the code but it is too complicated for me to understand. Thygate I sent you a message with some pictures, you might have seen it already.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I created some quick simulation code to gain insight into the physical setup and linearity of pixel spacing after reflection.

windows binary and C# sourcecode included in zip file below.

left-click and drag to move objects around.
right-click to set laser target.
mousewheel to set drum rpm.
'+' and '-' to change number of sides on drum.

Attachment(s): 

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you got any ideas on how to make the code respond appropriately to changes in speed.

I mean so that the pixel width does not change with speed of motor and also somehow maintaining a centered screen.

Even a new method of detecting position of each new mirror to come next?

Any ideas?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

laser scanner motors are usually synchronous BLDC motors. They have hall effect sensors and the speed is very stable as they are crystal locked.