Photoresistor programming flow chart

On Thursday I shared the start of the hardware side of my new project. I want to use flashing squares on a computer monitor to program a microcontroller via two photoresistors. I’ve been thinking of how to control it in a way that is useful and ended up drawing this somewhat elaborate flow chart.

Of the two photoresistors, one serves as a clock signal (PR1) and the other serves as a data signal (PR2). My program flow will loop until a low level is seen on the clock, then it will loop until it see a high level on the clock. At this point PR2 will be read to pull in a 1 or a 0. Along the way I’ll watch for a timeout, at which point I’ll do some data processing and then exit.

Hopefully this will be a robust setup. It should mean that timing is not an issue from the microcontroller side of things. The next problem will be to write a web interface that is used to do the actual programming. I think this will prove a bit tougher, but we’ll see.