Hi- Check out this AVR site: http://heim.ifi.uio.no/~haakoh/avr/ David Gary Fixler wrote: >Let me start off by saying "this is just for fun." > >I whittled away the shell of a very tiny keychain laser and soldered >in leads so it's PIC-ready. I want to build a small box with >motor-mounted mirrors in 2 directions to create a mechanical scanner >that draws a grid on the wall by reflecting the laser beam. I figured >some kind of light-sensor(s) being tripped each pass could trip a PIC >interrupt for sync. The problems I ran up against were motor speeds. I >imagine I'd sync the mirror blocks with a timing belt assembly. They >can't spin at the same speed, or I'd only be able to draw diagonals - >it would work out as though I had only one mirror, set at a diagonal. > >If the mirrors were triangular blocks, such that every rotation was 3 >mirror passes, and I wanted 30fps, then the Y block could spin at >10rps, or 60rpm. If I wanted 640x480, just as an example, the X motor >would need to scan horizontally 480 times for each pass in Y, which >would be 1440x for every Y block revolution. With the Y block @ 60rpm, >that would be 86,400rpm for the X block :) > >I've tried to think of alternate ways of scanning, including tracing a >diagonal path that visits every pixel once (even if it skips around a >bit), but the math on that is a bit above me, and compounds the >software/video signal issue. I've dumbed down the resolution and >thought of things like interleaving. Maybe each pass in Y (one third >of Y block revolution) draws a separate 1/3 of the screen? I've also >pulled way back on the fps. By the time I was done, I had block rpms >in the low thousands, with something like 80x60 @ 6fps. I've also >considered more sides to the mirror blocks, but each new side >increases the radius, or decreases the side length. > >I know there are some great minds on this list, so I thought I'd throw >the idea into the group and see what kinds of ideas came back. I'm not >totally sure what speeds PICs can handle, or how fast the interrupt >routine to flash the laser beam could work, or what kind of sensor >would pick up the sync signal at that kind of speed (phototransistor, >CdS cell?). Also, it would be nice if I could alter the brightness of >each dot to create a 'redscale' image. I tested the laser on 3v with a >2k pot, and I was able to dim the beam all the way to off. I'll be >able to run some experiments with flash timings to get values for the >brightness levels. I'm thinking I'd probably draw lines of on/off >instead of worrying about every individual pixel when it isn't >necessary. > >Thanks for any suggestions or observations >-gary > >-- >http://www.piclist.com#nomail Going offline? Don't AutoReply us! >email listserv@mitvma.mit.edu with SET PICList DIGEST in the body > > > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu