Remotes are everywhere. They are the interface to your TVs, music systems and what-not. You probably have a few spare ones lying around, devastated at the demise of their better halves. Cheer them up and put them back into use! (Skynet approves...)
Here are some reasons why you should implement or emulate remotes in your projects (there is really no need to write down any reasons, but the things is, I really like lists):
- if you need to hide your project someplace and need to operate it covertly like spy devices.
- if project will be installed in some inaccessible or high reaching place like DIY overhead projector, bird house water supply, etc...
- if you need to remove all those ugly buttons on your project enclosure.
- if you want to control your remote-controlled devices like TV with an Arduino or Raspberry Pi.
- if you want to survive the singularity (earn brownie points with Skynet while you still have a chance)
- because remotes are cool
In this instructable, I'll show you how to: (Warning: Another list follows)
Using Raspberry Pi:
- Using Arduino:
- read remote signals using interrupts, so you can do other stuff on your Arduino while waiting for someone to press that button. Also interrupts will get the most accurate timing data.
- decode remote codes to identify individual buttons without overflowing your memory. Usually saving a few button's IR codes will fill up your Arduino's memory...
- recreate IR signals for any of your remote's button super easily. Control your TV with an Arduino!
- read IR signals and implement it in your Python scripts. Play games with remotes!
- recreate IR signal using Raspberry Pi. Make a universal remote control.
Note: Since posting this instructable, I've discovered Shirriff's IR library for Arduino and I suggest that for the Arduino part of this instructable as it's extremely easy to use. But if you want to understand how IR really works on those remotes, the instructable will provide a good read. Maybe if I get some free time, I'll add steps for Shirriff's IR library: https://github.com/shirriff/Arduino-IRremote