Step 6: Mount the Moving Mirror

Poke a small hole in the housing right above the lens head.

Stick the wire holding the mirror into the hole until it touches the lens head.

Fix the wire to the head. we used a sticky putty-like glue made for putting posters on walls. A small ball 2mm across is enough. It can also be done with a small dab of hot glue or superglue.

Let it settle for a bit, then carefully move the head around a bit with your finger. The mirror should tilt but stay attached to the head.

If you made the hole too big, glue a layer of strong sticky tape over it, and poke the hole in that.
are the projections stable?
Hi Please tell me the source code of the program in avr
Thanks for a great instructable!<br> <br> I'm having problems identifying <em>which cables control which axis</em> - any tips on how to find this out? I'm debugging with <strong>setPos(x, 0)</strong> and <strong>setPos(0, y)</strong>, and can manage to get a good clean vertical movement but the horizontal movement always has a small vertical movement as well.<br> <br> Also, I wonder about the code line&nbsp;<strong>digitalWrite(8, HIGH);</strong> - doesn't one of the corresponding coils need to be ground/zero/LOW for this to work?
the code is one run on line that wont auto format due to too many syntax errors.
Hi. <strong>Please, linefeed, change the code.</strong> I spent a bit of time fixing the code. Yours didn&acute;t work because of the aclarations (//pins 10-11, e-t-c).&nbsp;They made&nbsp;the loops (obligatory and optional ones) as aclarations, and arduino&acute;s software doesn&acute;t permit code without the<strong> void loop</strong>. I fixed the code, and it&acute;s here:<br> <br> /* LASER TAGS - CD LENS MICRO LASERSHOW<br> (Copyleft) 2006 by linefeed @ Ljudmila.org GRL */<br> &nbsp; int t=0;<br> &nbsp; int inc=4;<br> &nbsp; int pause=1000;<br> &nbsp; int x,y,x0,y0,x1,y1;<br> &nbsp; int pt,phase,loopcnt;<br> &nbsp; int nshapes=6;<br> &nbsp; int shape=0;<br> &nbsp; int shapes[20]={0,4,7,9,11,20, 24};<br> &nbsp; int ptsx[50]={-250,250,250,-250,&nbsp; -250,250,0,&nbsp;&nbsp;&nbsp; -250,250,&nbsp;&nbsp;&nbsp; -250,250,&nbsp;&nbsp;&nbsp; -230, -230 ,-15, -11, 220, -17, -17, -15, 150,&nbsp;&nbsp; -250,250,-250,250&nbsp; };<br> &nbsp; int ptsy[50]={-250,-250,250,250,&nbsp; -250,-250,250, -250,250,&nbsp;&nbsp;&nbsp; 250,-250,&nbsp;&nbsp;&nbsp; -220, 200,&nbsp; 200, -200, -200, -210, -210, -35, -40,&nbsp;&nbsp;&nbsp; -250,-250,250,250&nbsp; };<br> //pins<br> //&nbsp; 8,9 - vertical<br> // 10,11-horizontal<br> &nbsp; void setup(void) {<br> &nbsp;&nbsp;&nbsp; // initialize inputs/outputs<br> &nbsp; pinMode(8,OUTPUT);<br> &nbsp; pinMode(9,OUTPUT);<br> &nbsp; pinMode(10,OUTPUT);<br> &nbsp; pinMode(11,OUTPUT);<br> &nbsp; digitalWrite(8,LOW);<br> &nbsp; digitalWrite(10,LOW);<br> }<br> &nbsp; void setPos(int x, int y) {<br> &nbsp; if (x&gt;=0) {<br> &nbsp;&nbsp;&nbsp; digitalWrite(10,LOW);<br> &nbsp;&nbsp;&nbsp; analogWrite(11,x);<br> &nbsp;&nbsp;&nbsp; } else {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digitalWrite(11,LOW);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; analogWrite(10,-x);<br> &nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp; if (y&gt;=0) {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digitalWrite(8,LOW);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; analogWrite(9,y);<br> &nbsp;&nbsp;&nbsp; } else {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digitalWrite(8,HIGH);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; analogWrite(9,255+y);<br> &nbsp;&nbsp;&nbsp; }<br> &nbsp; }<br> &nbsp; void loop(void) {<br> &nbsp; //next shape<br> &nbsp; if (loopcnt&gt;100) {<br> &nbsp;&nbsp;&nbsp; shape=(shape+1)%nshapes;<br> &nbsp;&nbsp;&nbsp; loopcnt=0;<br> &nbsp; }<br> &nbsp; //tick phase<br> &nbsp; phase+=inc;<br> &nbsp; //next point<br> &nbsp; if (phase&gt;=100) {<br> &nbsp;&nbsp;&nbsp; phase=0;<br> &nbsp;&nbsp;&nbsp; pt=pt++;<br> &nbsp;&nbsp;&nbsp; //loop points in shape<br> &nbsp;&nbsp;&nbsp; if (pt&gt;shapes[shape+1]) {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt=shapes[shape];<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t=pt*100;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loopcnt++;<br> &nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp; x0=x1;<br> &nbsp;&nbsp;&nbsp; y0=y1;<br> &nbsp;&nbsp;&nbsp; x1=ptsx[pt];<br> &nbsp;&nbsp;&nbsp; y1=ptsy[pt];<br> &nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp; //current coordinate<br> &nbsp; x=((x0*(100-phase))+(x1*phase))/100;<br> &nbsp; y=((y0*(100-phase))+(y1*phase))/100;<br> &nbsp; setPos(x,y);<br> &nbsp; delayMicroseconds(pause);<br> }
I had a similar idea, had a quick web Google for a laser display using a CDROM&nbsp;drive coil assembly and was directed straight back to good old Instructables.&nbsp; <br /> I've extracted the coil assembly and wired it up and can see it moves side to side and up and down under the influence of the coils. It's also centre biassed, so to get full range of movement you need to pass current through the coils both ways.<br /> I can see you've used the pivoted rod at right angles to translate this into X&nbsp;and Y&nbsp;motion, but the mass of this will limit the speed. &nbsp; Have you tried other ways of doing this?&nbsp; (My initial idea is a mirror attached at a corner using flexible silicone rubber close to the assembly, then a small rod straight up in the plane of the lens, which will rock the mirror (X axis) or tilt it (Y axis) as the lens moves.)&nbsp; This would be more compact then the rod design, but a lot more fiddly to make.&nbsp; I'll report back (and probably post an Instructable) if I&nbsp;make progress with it.&nbsp; <br />
Hi,<br /> I was just wondering .. Isn't the lasers bad if its hit your eye ?<br /> Any safety suggestions. (I've seen a video where a DVD&nbsp;burner laser burn though a balloon. I'd probably stay with the CD )<br />
I'm curious, just how fast do these CD lens assemblies move? Can they move with high enough frequency to project POV images, or did you need to use a long exposure to capture your images?
i have not measured their resonant frequency (anybody have an estimate?) but they are fast enough to project simple shapes at pov speeds. <br/><br/>i used one recently with nice results on dark facades of <a rel="nofollow" href="http://www.flickr.com/groups/metelkova/">metelkova</a> and on the wall behind a dj at our <a rel="nofollow" href="http://www.festivalpomladi.com/SpremljevalniProgram.html">local spring welcome festivities</a>. it was packed with 8 nimh aa batteries and powering the laser pointer with the arduino's 5V. it lasted all night.<br/>
If you use an old DVD Burner, one of the Diodes is red (~650nm) one is IR.<br/>from an 8x Burner u can get 90mW from a 16x Burner u can get more than 200mW if properly cooled. Here]http://dreiling-kamen.net/hubidrei/html/dvd_laserdiode.html <br/>is how I made it.<br/>I found a <a rel="nofollow" href="http://www.b-kainka.de/bastel67.htm">german Site</a>, where the same is done much easier without microcontroller and the mirror also comes from the Drive.<br/>Sorry for my bad english<br/>
It would be alright if i could read it Time to start learning german :[
<a rel="nofollow" href="http://babelfish.yahoo.com/translate_url?doit=done&tt=url&intl=1&fr=bf-res&trurl=http%3A%2F%2Fwww.b-kainka.de%2Fbastel67.htm&lp=de_en&btnTrUrl=Translate">here is the translated version</a><br/>
Oh, Thanks It wasn't as interesting as I thought it would be...
maybe you willtry google translation or if you use fiefox, there are lots of tranlation addons available, like quick translation,translation panel ...
Sorry for my bad english? <br/><br/>Your english is better than some of the people on this site who's <strong>first language </strong>is english. <br/><br/>No need to apologise, and thanks for the link.<br/>
Thanks for the link hubi, was not aware of that site. This is indeed very similar, with a somewhat different way to mount the mirror. I'll add a note about using the mirror salvaged from inside the optical assembly. <br/><br/>I agree that using a DVD laser diode turned into a pointer for this would be the coolest. But that's a more difficult project in its own, and also <a rel="nofollow" href="https://www.instructables.com/id/Laser-Flashlight-Hack!!/">well documented</a> on Instructables already.<br/>
Now if only you could use the laser inside the CD lens to do the show... Great instructable by the way!
Some drives (DVD? I forget) have UV lasers instead of visible light. Actually, I would like to see the whole thing mounted inside a box (laser-pointer and all), with a window (or hole) for the laser to shine out of, then you could leave it unobtrusively on a wall . Excellent project all the same.
CD drives use IR, DVD drives use red, and Blu-Ray drives use <strong>blue.</strong> They are very much too powerful for this though, unless you want to etch your wall.<br/>
bluray drives use 405nm violet lasers and it would only etch the wall if you took it from a burner.
DVD drive or burner? Regular ol' CD players have an infra-red laser, i checked this by poping a CD into a CD player, taking the cover off, and using night vision an a camcorder.
IR or UV, either way, neither are any use for a light show.
if yo u have a cellphone camera, or reglar camera, you can see it
Yeh, but when you're trying to make a <em>show</em>, it's not much good if people can only watch it via a video.<br/>
god point
Im having a go at doing this myself but using only audio signals to drive it, so far no results as i need software that can generate digital signals through audio and with individual left and right "speaker" control. System of a down makes large scribbles!
wow first builder! great to read this kyotee. please definitely post some pictures!<br/><br/>you could try using <a rel="nofollow" href="http://audacity.sourceforge.net/">audacity</a> to make some 2 channel custom waveform sound... it's easy to use! <a rel="nofollow" href="http://en.flossmanuals.net/audacity/">read manual</a><br/><br/>and for real-time control something like <a rel="nofollow" href="http://en.wikipedia.org/wiki/Pure_Data">pure data</a>? it's great fun playing with it, just don't be intimidated by its looks. <a rel="nofollow" href="http://en.flossmanuals.net/bin/view/PureData/Oscillators">read manual</a><br/><br/>i see you needed an amplifier, how did you hook that up?<br/>
Im using a TDA7386 car radio amplifier that i got out of my busted headunit where i also salvaged the lens mechanism. Its not attached yet and im kinda busy for next few days but should be up and working within a week or so, i will definitely keep you updated with the results once i have some
Just downloaded audacity. it is exactly what i needed. Thanks a bunch. results to follow
Have got lens mechanism moving in the x and so far theoretical y direction, it seems that when the mirror pivots in the y dimension it is somehow twisted back to the x axis. i think i need 2 lens mechanisms, one for x and one for y and i think this will be much better and with the setup im using it will not be hard to make this happen. i was too impatient to get my TDA7386 amp wired up so im using a sony xplod 222W lol a bit overkill but it does the job. (while i was waiting for picture to upload amp decided it was way too overkill(probably due to being a 4ohm rated amp and the coils on the mechanism wont be 4ohms i think)and has shutdown into protect mode!)
wow... dude...wayyy to expensive for the board. I mean, if this was a robot..sure, but for this..c'mon. you can get the same result by gluing the mirror on top of a speaker.
I am a little confused by this instructable. Will it allow you to project an arbitrary vector image?
In principle, yes, it's a 2D vector display. so far there is a low ceiling to the complexity of the shape. with the current arduino code the shapes are coded as arrays of integers. they are displayed in sequence on an endless loop. you do get great random variations and throbbing of the shape for free. :) the initial application we thought of was light graffiti. but it should be possible to create a basic oscilloscope, vector clock or even a game with some clever programming.
Great tutorial, def. gonne try it

About This Instructable




More by linefeed:Micro LASER Show with a CD Lens Mechanism 
Add instructable to: