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.
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"
yep the latter,
here's another one http://hackaday.com/2010/09/15/l...
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 ?
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?
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 ?
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.
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.
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?
laser scanner motors are usually synchronous BLDC motors. They have hall effect sensors and the speed is very stable as they are crystal locked.
© 2021 Microchip Technology Inc.