Show HN: Canny the Robot – Programming a device with headphones
research.kumpf.cc
research.kumpf.cc
https://www.youtube.com/watch?v=780A0cv1qgA
Any comments or questions about how the robot/audio programming works are more than welcome :)
More specifically, it's AFSK. See the diagram/info on the Wikipedia page about for a more detailed explanation.
https://en.wikipedia.org/wiki/Frequency-shift_keying#Audio_F...
http://spectrum.ieee.org/automaton/robotics/diy/canny-robot-...
Would love to hear thoughts from other engineers and designers oabout where you think a programming interface like this could lead.
To send data to the robot, the transmitter (computer + headphones) encodes 1s as tone (9876Hz) and 0s at another frequency (12345Hz).
So for the decoding circuit all you really need are 3 stages: a microphone, an amplifier (opamp chip), and something that can very tightly look to see if the 0s frequency (12345Hz) is present since UART rests high when idle. A phase locked loop (PLL) is excellent for frequency locking, but can be a little hairy to use. The LM567 tone decoder chip however has a PLL inside but is a simple chip to work with.
A little variable resistor next to the tone decoder is used to precisely dial in the frequency. Lots of other resistors and capacitors in there to hook everything together, but that's essentially it. Does that make sense? Happy to answer more questions if you have any :)
Circuit schematic for reference here: http://research.kumpf.cc/2015-ProgrammingWithHeadphones/imgs...