See updated instructions for IRremote 2.5+ below....
First, install the latest copy of the IRremote library (available via GitHub)
Once you have the IRremote library installed in your Arduino IDE, you can proceed to the next steps.
Next, you should configure IRremote to work with KontroLIR, which uses pin 9 and Timer1 for IR Tx (vs default of pin 3 and Timer2). Once installed the library folders can typically be found in C:\Users\[USER]\Documents\Arduino\libraries\IRremote\ where [USER] is your username on your PC.
- Step 1: Edit the IRremote file "boarddefs.h around line 190 (ref point 4 in image).
- Step 2: Comment out this line for using Timer2 (line #194 above)
- Step 3: Un-comment this line for using Timer1 (line #193 above)
When completed save the file and restart the Arduino IDE, to make sure the changes are registered.
Congratulations you are now ready to use IRremote with KontroLIR. The KontroLIR firmware makes use of and in some cases extends the IRremote library for sending IR signals.
UPDATE: For IRremote versions 2.5 & 2.6. The file name is now IRremoteBoardDefs.h and the line number is now circa line 350. The file is now located in the "Private" sub-directory. You need to comment out the line with the "#error" statement and un-comment the line defining "IR_USE_TIMER1"
UPDATE: For IRremote version 2.8.x & later. (This supersedes the update note above) The file name is now IRremoteBoardDefs.h and the line number is now circa line 195/196. The file is now located in the "Private" sub-directory. You need to comment out the line with the "IR_USE_TIMER2" statement and un-comment the line defining "IR_USE_TIMER1". You may also notice that support for the Atmeg328PB has now been officially added from IRremote 2.8.0+. (IRremote version 2.7 is not supported, please use 2.6 or 2.8+)
DO NOT USE IRREMOTE 2.8.0 or 2.8.1 as we have identified a significant bug in the library for these releases. We have provided a solution for the bug via GitHub. Only use 2.6.1 or (later 2.8.2+)