DIY Apple Remote Shield for the Arduino
Intro: DIY Apple Remote Shield for the Arduino
Have you ever wanted to make an apple remote? Or maybe want to have one of your arduino creations be able to control iTunes on your Mac, your iPod, Or your Apple TV? Now you can!
Awhile back I was working on a project that that I wanted to be able to start music the on my mac through the IR receiver. After a while of looking around I found this library which allows you to use your arduino as an Apple Remote. I integrated it in to my project and it worked great! So the other day I decided to make an Apple Remote shield for my arduino.
Note: Depending on the IR Led's you use, the performance of this can vary greatly.
If you have any questions, comments, &/or suggestions. Please ask them.
Voting starts Nov 16th. So please come back & vote!
Awhile back I was working on a project that that I wanted to be able to start music the on my mac through the IR receiver. After a while of looking around I found this library which allows you to use your arduino as an Apple Remote. I integrated it in to my project and it worked great! So the other day I decided to make an Apple Remote shield for my arduino.
Note: Depending on the IR Led's you use, the performance of this can vary greatly.
If you have any questions, comments, &/or suggestions. Please ask them.
Voting starts Nov 16th. So please come back & vote!
STEP 1: The Stuff:
Parts:
- Arduino
- 2 or 3 IR Led's
- 5 NO Momentary push buttons (NO Stands for Normally Open)
- Wire
- Perf-Board
Tools:
- Computer
- A-B USB Cable
Software:
- Arduino Software
- Apple Remote Library (This can be found in the step: Coding the Arduino!)
- Arduino
- 2 or 3 IR Led's
- 5 NO Momentary push buttons (NO Stands for Normally Open)
- Wire
- Perf-Board
Tools:
- Computer
- A-B USB Cable
Software:
- Arduino Software
- Apple Remote Library (This can be found in the step: Coding the Arduino!)
STEP 2: Assemble the Board
This is pretty flexable, If you want more Led's feel free to add them in. If you want to control the led with a transistor feel free to add that in! Also you may have noticed that my shield doesn't have a menu button. I decided not to put one in, But if you want to add one in you can. The library does support.
Notes:
- Make sure the leads for the IR Led's don't touch the ICSP Headers!
- If you want to use header pins DON'T push the end of the wire from the top to the bottom in other words do picture 7, but picture 8.
Steps:
- Cut the Perf-board. I used a piece 23x18 that has a few cutouts.
- Layout the switches
- Bend the ground wire & solder it in
- Wrap the loose end of the ground, up through a hole in the perf-board. Then push it down through the next & trim the end. (Pictures 5 - 10)
- Bend the IR Leds
- Insert the Led's and solder the cathodes (Short Lead) to the ground wire
- Bend the anode of one led & solder it to the other one (Picture 21)
- Install a wire for the closest button (Picture 22)
- Add a wire for the IR LED's (Picture 23)
- Connect the lower button (Picture 24)
- Connect the middle button (Picture 25)
- Wire the top button (Picture 26)
- Connect the furthest button (Picture 27)
- Your Done!
Notes:
- Make sure the leads for the IR Led's don't touch the ICSP Headers!
- If you want to use header pins DON'T push the end of the wire from the top to the bottom in other words do picture 7, but picture 8.
Steps:
- Cut the Perf-board. I used a piece 23x18 that has a few cutouts.
- Layout the switches
- Bend the ground wire & solder it in
- Wrap the loose end of the ground, up through a hole in the perf-board. Then push it down through the next & trim the end. (Pictures 5 - 10)
- Bend the IR Leds
- Insert the Led's and solder the cathodes (Short Lead) to the ground wire
- Bend the anode of one led & solder it to the other one (Picture 21)
- Install a wire for the closest button (Picture 22)
- Add a wire for the IR LED's (Picture 23)
- Connect the lower button (Picture 24)
- Connect the middle button (Picture 25)
- Wire the top button (Picture 26)
- Connect the furthest button (Picture 27)
- Your Done!
STEP 3: Using Header Pins (Optional)
If you want to use header pins instead of wire to connect your shield to your arduino here's how.
Steps:
- Leave the leads from the led's & buttons straight
- Strip and trim the wires so they can be soldered to (Picture 2)
- Cut your headers pins so you have a piece that is 7 pins long
- Solder the header pins in
Steps:
- Leave the leads from the led's & buttons straight
- Strip and trim the wires so they can be soldered to (Picture 2)
- Cut your headers pins so you have a piece that is 7 pins long
- Solder the header pins in
STEP 4: Coding the Arduino! (Windows)
Install the libraries:
Download & unzip the file "AppleRemote.zip". Copy that unzipped folder to:
'"/hardware/libraries/"
Upload the code:
- Download the file: 'Arduino_Apple_Remote.pde'
- Open it in the Arduino IDE.
- Plug in your arduino
- Press Upload to I/O board button.
Download & unzip the file "AppleRemote.zip". Copy that unzipped folder to:
'"/hardware/libraries/"
Upload the code:
- Download the file: 'Arduino_Apple_Remote.pde'
- Open it in the Arduino IDE.
- Plug in your arduino
- Press Upload to I/O board button.
STEP 5: Coding the Arduino! (Mac OS X)
Install the Libraries:
Download & unzip the file "AppleRemote.zip". Copy that unzipped folder to: '"/Applications/Arduino/Contents/Resources/Java/hardware/libraries/"
Upload the code:
- Download the file: 'Arduino_Apple_Remote.pde'
- Open it in the Arduino IDE.
- Plug in your arduino
- Press Upload to I/O board button.
Download & unzip the file "AppleRemote.zip". Copy that unzipped folder to: '"/Applications/Arduino/Contents/Resources/Java/hardware/libraries/"
Upload the code:
- Download the file: 'Arduino_Apple_Remote.pde'
- Open it in the Arduino IDE.
- Plug in your arduino
- Press Upload to I/O board button.
STEP 6: Using & What to Do Next
Usage:
Point at IR receiver & press button. Depending on the LED's you may need to move the remote around a little to get it to work.
Note: Pairing must be disabled for this to work. (Picture 2)
Advancement Ideas:
Use a transistor to control the led's instead of just running them off Pin 13. This 'should' improve the range.
Use this to make a remote for a robot.
Add more IR Led's
Use aluminum foil to boost the range.
Point at IR receiver & press button. Depending on the LED's you may need to move the remote around a little to get it to work.
Note: Pairing must be disabled for this to work. (Picture 2)
Advancement Ideas:
Use a transistor to control the led's instead of just running them off Pin 13. This 'should' improve the range.
Use this to make a remote for a robot.
Add more IR Led's
Use aluminum foil to boost the range.
21 Comments
SidP7 8 years ago
My real struggle is deciding which project I'm going to tackle.
Will the project of tearing my room apart and re-cleaning it to find the original remote yield quicker results vs tinkering anew. I still sit wasting time pondering which to do.
ibenkos 9 years ago
dizzwold 9 years ago
Forgot to say. Thanks to computergeek for the original post.
dizzwold 9 years ago
Hi all. For anyone who cant get this working, i just did "on a mac anyway, tested on breadboard for volume up/down only".
I don't know code "a complete novice", but with a little research, it would seem to be written for an old IDE "0017".
To get it working do as stated with AppleRemote.zip and Arduino_Apple_Remote.pde.
Arduino_Apple_Remote.pde, will be a .tmp file, change to .pde.
Open where you put AppleRemote.zip, open the .cpp file in TextEdit "mac", and change WPrograme.h to Arduino.h and save back in the .cpp file.
Do the same in the .h file and save back to the .h file.
Now open Arduino IDE drag and drop the .pde file and verify.
All should be good.
Robbiezxc 10 years ago
gomako 11 years ago
Unfortunately, this sketch and library aren't working for me. I get an error when compiling that I don't understand. Something to do with the library. Blorp.
madrulzzz 12 years ago
but cud u tell me why u are calling ars.play(),ars.left() etc.... three times in each if block...
do_too 12 years ago
Anyone know how to change (on the computer end) the codes or is that doable?
...as in creating new commands for the remote to tell the computer?
Thanks
do_too 12 years ago
i.e."AppleRemoteSender does not specify type" (line 4)
kotofeiivanovich 13 years ago
supermaggel 13 years ago
mrodal 13 years ago
posox2000 13 years ago
andrucha 13 years ago
led235 14 years ago
WHAT THE DEUCE!?!?!?
Radioactive_Legos 14 years ago
zuixro 14 years ago
computergeek 14 years ago
joejoerowley 14 years ago
computergeek 14 years ago