Monday, June 10 2013
My friend Mark, the one who likes to show up unannounced and spend the afternoon drinking beer, smoking pot, and reorganizing my greenhouse, is dogmatically opposed to television. For years he has equipped himself with a device called a TV-B-Gone, which, at the push of a button, outputs a series of infrared pulse sequences designed to turn off a wide range of televisions. The other day after the KMOCA opening, I'd mentioned this TV-B-Gone to KMOCA Michæl, and he sounded intrigued. On Wednesday he'd be celebrating his birthday at a restaurant down in Ellenville, and it occurred to me that a TV-B-Gone would be the perfect gift. But there wasn't enough time to order one, so I was going to have to build one from scratch. Happily, though, someone has already ported the technology to the Arduino platform, and it is possible to make a functioning TV-B-Gone using a handful of components, all of which I happened to have on hand. (The reason I'd bought two pill battery holders yesterday was that I needed a miniature portable power supply for such a device.) The great thing about a TV-B-Gone is that it has the simplest possible interface: an input to tell it what to do and an infrared LED as an output. Between those two things sits an Atmega microcontroller (an Atmega168 or better) running a program of about 12 kilobytes in length. It would be overkill to use an actual Arduino in such a circuit, since the stripped-down Arduino functionality required only needs a 16 MHz crystal, an Atmega168, a few pieces of wire, some sort of breadboard, and (for a power supply) a couple three volt lithium pill batteries, battery holders, and a couple of diodes (to somewhat diminish the six volts provided). An "Arduino" with these specs cannot be programmed in-circuit, but for an application like this, where the code is already written and won't need to be changed, this isn't much of a handicap.
To get this stripped-down "Arduino" to become a TV-B-Gone, I only needed to add an IR LED, a 20 ohm resistor, an NPN transistor, and a momentary normally-off switch. Because I was working with a salvaged infrared LED of unknown specifications, I had to experiment to determine what the value of the current-limiting resistor had to be. To do this, I looked at that LED through a digital camera (which makes the near-infrared visible) and adjusted the resistor value until the IR brightness seemed to be about what is typical for a TV remote. When I initially tried a 1 kilohm resistor, the IR LED was far too dim, and it didn't look correct until I tried a 20 ohm resistor.
It's an indication of how amateurish the Arduino scene is that none of the information about the Arduino TV-B-Gone included a schematic diagram. [So I made one for those who stumble upon this page. To do this, I used a program called Fritzing.]:
The device was so simple that it worked the first time I assembled it, without the need for any sort of debugging. To keep the overall design as simple as possible, I made it so the button that activated the Atmega168 was actually a momentary connection to the power supply. Hopefully that button wouldn't have to be held for too long before the Atmega168 would power up and cycle to the code necessary to turn off the target television.
With the electronics working, I had to create some sort of case to house it. Though I'd made the device as small as possible, the use of a socketed through-pin Atmega168 and 20mm lithium batteries meant that it was still a bit larger than a modern cellphone: about a half inch thick, two inches wide and three inches long. After considering various options, I decided I could route out a three-quarter-inch-thick block of wood and use that as a case. I could then cover it with a plate having a hole for its single button. Instead of using a plunge router, I put a router blade in the drill press and moved the block of wood with my hands while the drill press turned. An actual router turns the blade much faster than a drill press, so the block of wood tended to shimmy and shake as I shaped it. But with some persistence, this method proved to be a fairly accurate way to route out the interior of the block. Since the board would be lying in the routed block upside-down, I didn't gave to completely hollow the block out; I only had to hollow out the places where components (such as the batteries and the microcontroller) stuck out from the board. The remaining wood helped to strengthen the structure more than it would have been had I emptied it out completely. As I shaped the wood, I was a little concerned about what might happen if the wood slipped suddenly and my hand flew into the spinning blade. But I was careful and nothing unexpected happened.
Once I had the block cut down enough to accept the circuit board, I had to come up with an idea for how to decorate it. Since the idea behind a TV-B-Gone is to enable a television hater to secretly power-down televisions, they're often disguised so as to resemble other devices. Some, for example, are made to look like cellphones. Because of its size, I decided to make this one look like a pack of cigarettes. The fact that cigarettes have their own acceptance issues (which are rather different from the issues encountered by the anti-television guerilla) appealed to me. The brand of cigarettes I chose was "GPC," which I remember back in Charlottesville to be sort of the Pabst Blue Ribbon of cigarettes. They were considered cheap but authentic, and the fact that there was no advertising on their behalf was a feature, not a bug. At Big Fun, "GPC" was understood to mean "Gutter Punk Cigarettes." I found a picture of a GPC pack on the web, and I traced it onto the block of wood and then colored it with acrylic paint and Sharpie maker. You can see the results below.
The routed block of wood with the backside of the TV-B-Gone circuit board.
The component side of the TV-B-Gone circuit board.
The block of wood painted to resemble a pack of GPC Cigarettes.
For linking purposes this article's URL is:feedback
previous | next