Comments: IR Communication
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Hi, this tutorial looks awesome, i tried it on my arduino but i get this error, C:\Program Files (x86)\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // the pin the IR receiver is connected to
Multiple libraries were found for "IRremote.h" Used: C:\Program Files (x86)\Arduino\libraries\RobotIRremote Not used: C:\Users\Gabri\Documents\Arduino\libraries\Arduino-IRremote-master exit status 1 Error compiling for board Arduino/Genuino Uno. can u help? thanks:)
Hi and thanks for this tutorial!
I was hoping you could help me out here, or put me back on track:
I have an old AIWA stereo system with a broken remote (RC-TN520EX), so I can't retrieve codes with an IR receiver (I don't have one anyway, only unsoldered the IR led from the remote and plugged it on my breadboard...)
It doesn't seem to be hopeless though, since I found in another arduino IR article's comments a link to a sourceforge FTP containing a LIRC config file for specifically my remote model.
Of course, it is not supported by default in the IRremote library, so I guess I need to use the sendRaw function right? And that's where I'm lost: The LIRC config file contains a header with remote informations I guess (I don't understand it at all):
header 9060 4455
one 594 1656
zero 594 531
repeat 9058 4454
And then there are the key codes (e.g. KEY_VOLUMEUP 0x000000000000B24D KEY_VOLUMEDOWN 0x000000000000728D ....)
but the sendRaw function takes an array of "codes", a duration value and a frequency value, not just a code.
So I might have missed something, but I believe I'm missing some data to make this work.
Thanks in advance, I hope you can help me! =)
Hi. Fellow engineer here. I really like your system diagrams. For example, the "Hardware setup for both of the examples" diagram. What tool are you using to generate them?
Looks like http://fritzing.org to me
Yup! You can find all of our parts generated from our boards here. Several are included by default in the Fritzing download as well.
Where can I find some info on how it works, WITHOUT the library? I bought my Arduino for LEARNING - and I'm not going to learn by typing one line to read the data. I want to really know how the IR communication works and how to read it manually.
I'd recommend reading through the library .cpp and .h files. Those individual functions will show you the nitty gritty of how the input is read and translated by the Arduino. You can also run those manually instead of using the precompiled library files.
It's also depends on how deep you are willing to learn.
I'm trying to do the same thing but using an Arduino pro mini; I've plugged the IR LED to pin 3 and it looks like it is transmitting something but what it outputs is obviously different to what I recorded from the remote. I know that just by looking at the led that comes with my IR receiver; it behaves different when sending from the remote. Is there something else to do when using an Arduino pro mini? Thanks!
can this be done using the analog pins? I am running short on pin outs on my project and I need to add both transmitting and receiving to it
what is the push button (pin 12) used for?
Edit - ah, for transmitting.
If you've found an issue with this tutorial content, please send us your feedback!
Just wanted to mention I bought all the parts to do the tutorial. The code are outdated but when you get the latest library you can just load the example included.
The hardware portion is what I spent alot of time thinking I got a broken board, or wrong pin, the resistor 330 ohm is just too high for the LED, meaning the signal is so low it can not even be seen on the phone, so I thought it is not working. It turns out I have to put the LED within a foot of what I wanted to control. As a quick fix to get a smaller resistor I put a second resistor in parallel to make the resistance in half (metered in at about 160 ohms) That works alot better, still hard to see with a camera, but it can be operated within several feet. The tutorial mention 100 ohm can get the brightest result so I would think most people would want that for a remote control project.
Receiving and decoding worked very well to "capture" the code of most existing remotes. I did not have to send any raw signal.