$pageTitle = "TV-B-Gone Arduino Workshop";
?>
TV-B-Gone Arduino Workshop, 04-May-2012

I've given this workshop at
Noisebridge
hackerspace in San Francisco (a few times), at
27C3
and
28C3
in Berlin,
at
CCCamp2011
outside of Berlin, at
HeatSync Labs
hackerspace in Phoenix, AZ, at
Fabelier
hackerspace in Paris,
at
Unit One
as Guest-In-Residence at the University of Illinois, in Urbana, IL, at
Makerspace Urbana
in Urbana, IL,
at
Workshop Weekend
in Oakland, CA (twice), at
XinCheJian
hackerspace in Shanghai,
and at
Maker Carnival
in Beijing (twice).
Each time 25 to 50 people showed up! (Folks seem to like it.)
Itinerary for workshop:
* Intro to Arduino
* Very short lesson to learn everything you need to know about electronics!
* Then we will learn to solder. Don't let this scare you! I've taught well over 35,000 people to solder, many of whom have never made anything before in their lives. It is actually a very easy skill to learn. It is also very useful.
* Then we will each make our own Arduino clone from a kit made by Ladyada: BoArduino
* Now that we each have our own Arduino, we will set up the free and open-source software on our laptops (if you bring one) -- Windows, MacOS, or Linux are all fine!
* And then its time to make something and learn how easy it is to use Aruino! I'll (very easily!) show you how to read schematic diagrams, and you'll put together your own TV-B-Gone remote control using your BoArduino. We will use a solderless breadboard. These are really useful, and provide a fast, and very easy way to put circuits together without needing to solder.
* Target practice!
Here is what is available for downloading for the TV-B-Gone Arduino Workshop:
You need to download the latest Arduino software for your computer (Windows, Mac OS, or Linux):
You need a driver for your USB programming cable. Several different ones are available. Choose the driver for the cable you have and the operating system for your computer.
FTDI Friend drivers:
FTDI Cable drivers:
SiLabs CP2102 USB-to-Serial TTL adapter drivers:
You also need the TV-B-Gone Arduino Sketch
(download this, unzip it, and copy it to your computer in "libraries" folder inside your "arduino" folder that you downloaded):
Schematic Diagram for Arduino TV-B-Gone remote control:
Parts List for Arduino TV-B-Gone remote control:
Soldering Is Easy comic book:
More details about the workshop:
After everyone has their Arduinos going, and before I have them make TV-B-Gone remotes from them, I show everyone how to program the blink "sketch" (programs for Arduino are called "sketches") into the BoArduino, and have them program the blink sketch into their own BoArduino, and show them how to change the blink rate (without explaining the "C" language, or how to actually program -- anyone can hack existing code without needing to know how to program!). Then I have everyone gather around my setup, and I show them how to blink an external LED using a solderless breadboard. Then I replace the external LED with a 3v motor, using the same blink sketch to show that the same setup can make a motor spin. If there are two output pins instead of one, and a motor on each, then turning both motors on makes a robot move forward. Only one motor on, makes the robot turn right, only the other on makes it turn left. We have a robot controller, simply from hacking the blink sketch! Then I replace the motor with a speaker using the same blink sketch, and everyone can hear the speaker click. Then I increase the blink rate more and more, until everyone hears an audio tone on the speaker. Then I ask people to imagine what it might take to hack the sketch so that it makes an audio tone of one pitch for awhile, then off for a little bit, then another pitch for awhile, then off for a little bit, and then another pitch for awhile -- and in this way hack the sketch to play a melody. Then, imagine having a few input pins, with switches on each, and making the sketch play a different pitch depending on which switch is pressed. Now we have a simple music synthesizer, simply from hacking the blink sketch! Then I replace the speaker with an IR LED, and reprogram the BoArduino with the TV-B-Gone sketch (explaining that it is basically the same as the blink sketch, but the blink rate varies in a specific way to become an OFF code for Sony (and other) TVs -- similar to playing a melody on a speaker). Then I point the IR emitter at the Sony TV (which has been on, without comment, playing snow in the background), and "take care of it." Then I repeat my explaination of transistors: LEDs are brighter when you push more current through them, but microcontrollers can only push so much current -- but if you hook the transistor input to the microcontroller output, and hook the IR emitter to the output of the transistor, then we can blink the IR emitter with a huge amount of current controlled by the microcontroller, so now we can turn off Sony (and other) TVs from a long way away, making the world a better place everywhere!
Many thanks to Ken Shirriff for the original
TV-B-Gone for Arduino project!