Sometimes you start building, and the project evolves. Layers upon layers of functionality accrue, accrete, and otherwise just pile up. Or at least we’re guessing that’s what happened with [Varun Kumar]’s sweet “Surveillance Car Controlled by DTMF“.
In case you haven’t ever dug into not-so-ancient telephony, Dual-tone, multi-frequency signalling is what made old touch-tone phones work. DTMF, as you’d guess, encodes data in audio by playing two pitches at once. Eight tones are mapped to sixteen numbers by using a matrix that looks not coincidentally like the old phone keypad (but with an extra column). One pitch corresponds to a column, and one to a row. Figure out which tones are playing, and you’ve decoded the signal.
Anyway, you can get DTMF decoder chips for pennies on eBay, and they make a great remote-control interface for a simple robot, which is presumably how [Varun] got started. And then he decided that he needed a cell phone on the robot to send back video over WiFi, and realized that he could also use the phone as a remote controller. So he downloaded a DTMF-tone-generator app to the phone, which he then controls over VNC. Details on GitHub.
Yeah, that’s right: VNC over WiFi controls an app on the phone that makes two tones out the audio jack, is decoded by a DTMF IC, and the (parallel) binary output is fed into an Arduino that serves as the brains of the bot.
In the end, it looks Rube-Goldbergian, but using the phone’s audio out as a control signal is actually pretty clever. The phone-to-Arduino interface is the tricky part, after all. DTMF is an easy standard to work with and it avoids having to go through the hassle of a USB or Bluetooth device, for instance.
We love DTMF. With sixteen signals, it’s just a lot cooler than the Kansas City tape standard and derivatives, and there’s a whole (by now partially defunct) infrastructure built up around it. Bring on the DTMF hacks!