This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Phase-shifted patterns on a Pico2 (via Arduino)?


I see in the documentation (dlpa021.pdf) that there are Gray codes embedded in the projector.  Are these patterns in the DLPC100 controller, or in the DLPR100 ROM?

Long-story-short: I've had a lot of success doing phase-shift imaging (sinusoid) via the HDMI connector (via Mac laptop) but am hoping that there are either extra buffers that can have patterns written to them OR be able to replace the Gray code patterns (hack the ROM?) with my own (via I2C and, so, not having to run the projector via HDMI).  Then I ought to be able to use an Arduino (Uno or Mega) to cycle the patterns and supply a sync to the camera (Prosilica GE1050).

Yes, Grays are binary (and smaller to store) while mine are 8-bit but - hey - I'm asking.  I don't have a large range to the surfaces I'm scanning, surface color isn't a factor, and I'm limited by the camera's framerate; so it's more-efficient to 'throw' three patterns in lieu of sixteen.

Failing 'embedding' my patterns: do 'pattern generators' exist which would let me store patterns and flash them to the Pico via HDMI (eliminating the need for supplying them from a computer)?  It would be a plus to have the three-piece camera/projector/Arduino 'head' bundled together with the recording computer CAT5'ed some distance away (and no need for an HDMI interconnect, which would also eat processor cycles).

Finally, when I2C commands are issued to the Pico, are they stored in non-volatile memory (so the device doesn't have to be re-configured after every power-up)?  I've been working with the default projector settings (640x480 interpolated down to 480 x 320) and haven't gotten around to I2C-control of the unit yet (Arduino being my choice over Beagle because of personal experience and availability).

I welcome everyone's comments/suggestions.

  • sj3n,

    In the 0.17 HVGA chipset (used in the Pico Kit v2), the built-in Gray code patterns are not accessible for modification by the user. There is no provision in this chipset for user generated stored patterns.

    As you say, a pattern generator can be used to drive the Pico Kit v2 through the HDMI port. I have used a BeagleBoard to do just this. You could probably do something similar with an Arduino, but I am not familiar with that processor.

    The I2C commands (that is, the setup of the DLPC100) are volatile. The chipset has to be reconfigured after every power-up.

    Best regards,

    Pascal