A week ago I finally got an Arduino kit. I decided to mock up a solution for a “picoprojector” in work environments. I previously listing the shortcomings of current offerings, and sometimes it’s best to follow a trashing with an alternative!
The idea is that many applications need only pointing indicators, not full-frame video projection. So, start with a steerable laser pointer. The theory was that you could use very cheap, low-power mechanics and a control electronics if you used them in conjunction with a low-cost camera module, and used video feedback control.
The first iteration is messy and bulky, but seems to validate the concept.
There are a couple of emerging needs that I have been tracking that require this functionality. I’ve filed a provisional on one complete solution (great way of forcing a brain dump!) and have a decent parts list to get the total size down to that of a webcam. It would eventually need some serious iterations on image processing / control algorithms too (and not just in Java-lite!).
- Adafruit ARDX – nice Arduino starter kit with breadboard, etc.
- An extra mini servo motor (one comes with the kit)
- A $10 pen+laser pointer from Staples that can be “rewired” a bit
- An ancient crappy USB webcam
- A bunch of LEGOs to hold everything together (topped off with hot glue)
- Arduino’s software cousin, Processing (now includes video library to capture webcam frames)
An Update: “Terminator” App
I used the platform functionality above as the basis for a pointer that finds a face in the field of the camera, and aims the laser at the base of it (chin or neck). Used subset of OpenCV library that has been brought over to Java. The control parameters for the video-based laser guidance (good old PID) still need some tuning.
You’ll have to excuse the q&d video editing with speedup and generic iMovie soundtrack!