A common question asked on forums is one about – Driving an Infrared Led directly from an Arduino pin. Although the answer may be obvious to anyone with at least a basic knowledge of Ohm’s Law, many are confused about how to choose a resistor value for optimum performance. Often, there is a debate about whether a resistor is required at all, given that the AVR pins are rated to deliver an absolute maximum of 40mA on a pin. (Note: All of the quoted specs in the data sheet are for test conditions of up to 20mA on a pin). Of course there are better ways to drive an IR LED with a transistor circuit or even a constant current circuit. However, in this post we consider only the direct drive circuit using a current limiting resistor, as illustrated in the diagram down below. Make sure to read the caveats at the end of this post.
Anyone who has tried controlling an Air Conditioner unit using an Arduino, USB IR Toy, RPi or any MCU will know how difficult it can be to record the longer infrared signals they use. Typical TV systems use IR signals circa 32 bits long, while this Chigo AC unit uses a signal with 197 marks & spaces (or 97 data bits). One of our users, Sertunc – from Istanbul in Turkey, reported his success using AnalysIR to easily record the signal timings for his AC unit and sent us the details along with some nice photos. After testing the validity of the recorded signals using an Arduino, he then set about loading the signals onto his Samsung smart phone (models S4, s4 mini, S5 and more supported). This was helped by installing the free ‘Samsung IR – Universal Remote‘ app onto his phone via Google Play.
Our recent post about the silver bullet IR receiver proved very popular and we promised that we would follow-up with another variant of the poor maker’s Infrared receiver. This time we are using an IR Led (emitter), 2 resistors and any standard Arduino. You will also need to download the Arduino code provided below, compile and upload it. One of the most common problems encountered when trying to decode IR signals is that makers don’t always have the appropriate IR receiver for the job in hand or have to wait for one to be delivered by mail. Here we present an affordable method to allow you to use any IR emitter (LED) as a receiver and as a bonus we are publishing the Arduino code to make it all work.
hRecently we have been helping several members on the Arduino forum to record and playback their remote control signals from their Air Conditioners. These signals are typically much longer than those of TVs or common media devices. The 2 most popular libraries for Arduino, IRremote & IRlib are excellent, but have some limitations which we have covered in a previous post. In this post we address one particular issue that is proving challenging to users.
Over the last few months we have been regular contributors to the Arduino and other forums, answering questions about Infrared remote control projects. It became apparent that beginners typically trip up on many common ‘pitfalls’. So we decided to list off our ‘Top 10’.
Dublin, Ireland – 31st January 2014. We are happy to announce the latest ‘New Year’ release of AnalysIR to all our backers & supporters. Since the completion of the crowd-funding campaign on Indiegogo we have added over 125 updates and enhancements to AnalysIR, with more to come.
For anyone following the progress of our ‘Custom TV Infrared remote control’ for the SKY+ box, we received it back for some upgrading over the last week and tomorrow (weather permitting – there are lots of high winds in Europe today, with many flights being cancelled) it will be flown back to its owner, with several upgrades on board.
Here is a screenshot showing the new automatic signal cleaning feature in AnalysIR. You will notice in channel 2 (yellow & red) where I have overlaid the recorded signal from CH1 (green) on top of the cleaned signal in CH2 (yellow). The green & red signal is the recorded signal & the yellow signal is the ‘cleaned’ signal.
Note: Use CTRL+, CTL-, or CTRL0 – to zoom in & out on most browsers The reason for the signal degradation in the first place is due to the way all IR receivers work. Typically, marks will be shorter and spaces will be longer. Also, weak IR signals will also alter the duration of marks/spaces.
Combined with AnalysIR’s sensitivity setting for decoding it is possible to rebuild a perfect signal from a really poor signal.
With this new ‘Bonus Feature’, we can export almost perfect signals from AnalysIR and re-import the exported signal to compare against the original recorded signal. This will be a great benefit when designing IR devices or circuits.
Yesterday we successfully managed to import from the RAW/DUMP output of the 2 main Arduino IR libraries (IRremote & IRLib). To use it’s very simple, just copy and paste all of the text output and paste into AnalysIR. Simple! You then get a graphical display of the signal and the option to save it to disk as part of the session History. We will continue to test over the coming weeks and maybe even add another import source. Suggestions Welcome!.
You may ask – why is this feature useful when AnalysIR can just record and decode and save the signal directly. Well there happens to be a huge resource across the Internet of pre-recorded signals from all sorts of tools & devices, and it may be beneficial to import them into one place for comparison or troubleshooting. Another use would be to help others who are looking for help on support Forum(s) etc. Once the signal is imported into AnalysIR, you can then export an image of the signal trace (or plot) which could also have advantages in education.
Now that the end date is on the Horizon, we are finalising our release plans. So if there are any feature requests, from backers we would like to hear about them in the next 3-5 days at the latest, so that we can include them in the initial release(if feasible).
Here is an extract of the Arduino blog post featuring AnalysIR. Click the the link above to visit the Arduino Blog.
The power of infrared light was widely and best appreciated with invention of television’s remote controls. The signal between a remote control handset and the device it controls, consists of pulses of infrared light, which is not visible to the human eye.
Tomorrow at MakerFaire Dublin you’ll we able to see the work of AnalysIR, a project that is taking this technology to a whole new level.
They implemented a Windows application which connects to an Arduino with the addition of an IR receiver and can decode new IR signals in a fraction of the time: no need for expensive Logic Analyzers or Oscilloscopes.
Here they are with their Indiegogo campaign:
At MakerFaire they will be showing some cool demos of what you can do with IR like generating electricity, seeing the invisible -Using iPhone & Android camera to check if TV remote is working, long range TV remote Control Demo Using Optics and many more applications for a total of 10 installations. Look out for them on Saturday!