@Spoif You are second to reference this link. I will now be honest. Many years ago (maybe more than 6, I don't remember) I saw that page and found it very interesting. When I built my projector, I had not revisited that page since the first day I saw it. I only vaguely remembered the concept and implementation. All the construction and design decisions I made for mine where the results of my own brainstorming and problem solving.
@YetAnotherShow Sorry my reply is 4 months late. A stepper motor could maintain a much steadier speed, but it is MUCH more difficult to control software wise and significantly more complex to power circuitry wise. With a cooling fan motor, all I have to do is make an occasional adjustment to the PWM power level when ever it is convenient for my software to do so. With a stepper, I would constantly have to time and adjust the motors state during drawing routines.
@HypoPyros Thanks. I have working on an improved model on and off (I have many other projects going on simultaneously). I will be more compact, it will use a much more powerful laser, and it will likely have many extra features. One of the features I am strongly considering is SD memory card support for displaying text files. Another is programmable scheduled reminders with audible alarms. I am even considering more exotic features like Caller ID.
Hi, I am using your project to learn Wiring. One line of code is slightly confusing.
shifted = the Chars[charsToDisplay[displayChar]][lineOrder[pass]]; I don't understand the square brackets in the square brackets [[ ]][]. I know it is an array function. I have already gotten the hardware running. Thanks for your help. Daniel Pollit dpollit@rogers.com
@beaver1111111 It looks strange, but nothing too fancy is going on. Normally when you look into an array you have a variable that stores the index value of where you want to look. In this case, that variable is actually stored in another array. The program needs to look into arrays charsToDisplay and lineOrder in order to determine where to look in array Chars. If you are still confused, personal message me and I will explain in more detail.
@npaltmp Also known as a 2D array for any ooo peeps out there. Nice vid, Can I ask, was there a reason the laser image would only display correct upon full speed? Couldn't this be adjusted using your ir sensor?
@jazzbaby84 Your question interests me but I am not sure what you are referring to. If you are talking about the flickering problem in the video recording, that has nothing to do with my device. It has do do with how the camera records the video frames. If the camera is "exposing" each frame for only 33 ms but my projector is taking 56 ms to draw a frame, each video image is only capturing half of the projection. Make the projector run faster, and more of the projection is drawn per vid frame.
@tekvax Thanks for your interest. Now that you ask, I probably will. I hesitate to release it as it is because it currently has a lot of poor programing practices and bugs, plus it is almost completely uncommented. I have decided to continue working on the project, and I am making improvements daily. Within a week or so, I may set up a web page detailing the steps I took to build this project with tips for others to build their own. It will be there that I post code. If I do, I will notify you.
Great work! You help demonstrate how much computing power is on the Arduino (or on the ATmega328 itself). I like that you recycled materials to build this. I've seen projectors like this that show the date/time on a wall. Nice job.
@field16 Thanks. Despite the fact that I am timing events down the the microsecond, I still feel that I am not even close to pushing the limits of these chips. If I profiled performance, I bet I would find that the chip spends the vast majority of its time in delay functions. However I do agree with you, this project is a good demonstration, just more so for precision timing and less so for computation speed.
@npaltmp That's great that you think the chip could be pushed harder. And they don't consume nearly the amount of power as a desktop computer. So the chips are cheap to purchase and cheap to power. I'm playing with these, too.
Excellent idea. Try 8 parallel laser beam to project at wall. How can you modulate the laser pen?
ferenckarvak 3 months ago
heim.ifi.uio.no/~haakoh/avr/#projector
Spoif 11 months ago
@Spoif You are second to reference this link. I will now be honest. Many years ago (maybe more than 6, I don't remember) I saw that page and found it very interesting. When I built my projector, I had not revisited that page since the first day I saw it. I only vaguely remembered the concept and implementation. All the construction and design decisions I made for mine where the results of my own brainstorming and problem solving.
npaltmp 7 months ago
great!
wouldn't it have been easier just to add a stepper motor so that it would be easier to maintain a steady speed?
YetAnotherShow 11 months ago
@YetAnotherShow Sorry my reply is 4 months late. A stepper motor could maintain a much steadier speed, but it is MUCH more difficult to control software wise and significantly more complex to power circuitry wise. With a cooling fan motor, all I have to do is make an occasional adjustment to the PWM power level when ever it is convenient for my software to do so. With a stepper, I would constantly have to time and adjust the motors state during drawing routines.
npaltmp 7 months ago
Dude, this is the coolest Arduino project ever. NASA and shit should employ you.
What you could do is add a Arduino Bluetooth and lots of coding to send it instant messages or even images with new mirrors.
Kepp up the great work, Cheers!
HypoPyros 1 year ago
@HypoPyros Thanks. I have working on an improved model on and off (I have many other projects going on simultaneously). I will be more compact, it will use a much more powerful laser, and it will likely have many extra features. One of the features I am strongly considering is SD memory card support for displaying text files. Another is programmable scheduled reminders with audible alarms. I am even considering more exotic features like Caller ID.
npaltmp 1 year ago
You are a fucking genius !
Amazing work !
LunaVorax 1 year ago
you rock!!!!!! this is one of the greatest projects ever seen!!!!
I really mean it!!
keep doing such a great work!!
peace from greece!.
notag43100 1 year ago
Hi, I am using your project to learn Wiring. One line of code is slightly confusing.
shifted = the Chars[charsToDisplay[displayChar]][lineOrder[pass]]; I don't understand the square brackets in the square brackets [[ ]][]. I know it is an array function. I have already gotten the hardware running. Thanks for your help. Daniel Pollit dpollit@rogers.com
beaver1111111 1 year ago
@beaver1111111 It looks strange, but nothing too fancy is going on. Normally when you look into an array you have a variable that stores the index value of where you want to look. In this case, that variable is actually stored in another array. The program needs to look into arrays charsToDisplay and lineOrder in order to determine where to look in array Chars. If you are still confused, personal message me and I will explain in more detail.
npaltmp 1 year ago
@npaltmp Also known as a 2D array for any ooo peeps out there. Nice vid, Can I ask, was there a reason the laser image would only display correct upon full speed? Couldn't this be adjusted using your ir sensor?
jazzbaby84 7 months ago
@jazzbaby84 Your question interests me but I am not sure what you are referring to. If you are talking about the flickering problem in the video recording, that has nothing to do with my device. It has do do with how the camera records the video frames. If the camera is "exposing" each frame for only 33 ms but my projector is taking 56 ms to draw a frame, each video image is only capturing half of the projection. Make the projector run faster, and more of the projection is drawn per vid frame.
npaltmp 7 months ago
Hi Nicolas, great job! may you build one of your projectors to my business? How much would it be? We only need some six words on it.
Vik Perez
vik.perez@machupichu.eu
Victorperez11 1 year ago
its so amazing how fast the arduino (ok the at mega328) can be...u did a very nice work...its much about managing the resources when programming a uC
punisher17011990 1 year ago
nice copying, you could at least reference other people's work, so people don't think you are smart
heim.ifi.uio.no/haakoh/avr/
jawedkarimisgay 1 year ago
can you post the arduino code sketch? please... ;>)
I'd love to try to make one too...
tekvax 1 year ago
@tekvax Thanks for your interest. Now that you ask, I probably will. I hesitate to release it as it is because it currently has a lot of poor programing practices and bugs, plus it is almost completely uncommented. I have decided to continue working on the project, and I am making improvements daily. Within a week or so, I may set up a web page detailing the steps I took to build this project with tips for others to build their own. It will be there that I post code. If I do, I will notify you.
npaltmp 1 year ago
Nice job! A true hack, literally :D
kahara00 1 year ago
Great work! You help demonstrate how much computing power is on the Arduino (or on the ATmega328 itself). I like that you recycled materials to build this. I've seen projectors like this that show the date/time on a wall. Nice job.
field16 1 year ago
@field16 Thanks. Despite the fact that I am timing events down the the microsecond, I still feel that I am not even close to pushing the limits of these chips. If I profiled performance, I bet I would find that the chip spends the vast majority of its time in delay functions. However I do agree with you, this project is a good demonstration, just more so for precision timing and less so for computation speed.
npaltmp 1 year ago
@npaltmp That's great that you think the chip could be pushed harder. And they don't consume nearly the amount of power as a desktop computer. So the chips are cheap to purchase and cheap to power. I'm playing with these, too.
field16 1 year ago