0

I have kind of a proof-of-concept project ahead. I want to transmit a very short message to a smartphone via light. What I have is:

  • a LED strip (NOT individually addressable)
  • an Arduino
  • a typical smartphone
  • 8 Bytes I want to transmit

The obstacles:

  • not every smartphone camera works well under all light conditions (the recorded color is sometimes not the same as the one the human eye recognizes)
  • I don't have complete darkness around, but tough daylight :D.

I want to encode a message in a sequence of light, for example by varying color or pulse duration.

Are there any suitable encoding algorithms or libraries around that can be recommended and I should take a look at?

Norbert
  • 4,239
  • 7
  • 37
  • 59
  • For starting I think I'll use the morse code... Of course on the smartphone you'll need to do some image analysis, and the bitrate will be terribly slow (I think you'll need at least 2 frames to detect a light, so you can send at most 12 pulses per second). Another simple way is to use the manchester coding, so you are sure you'll have at least a light in the cycle. But, again, at least 2 frames per light, plus 2 for the void, is about 6 bits per second... – frarugi87 Nov 13 '15 at 08:54
  • what is wrong with serial encoding like RS232 ? see http://www.fiz-ix.com/2012/11/introduction-to-serial-communication/ You can use the serial port of the AVR you are using directly ... Also a good idea is see how ZX Spectrum loads Tapes ... so you have some ideas on synchronization between async devices... – Spektre Nov 13 '15 at 09:27

0 Answers0