IR LED without resistor nano

markyj:
I am trying to send IR signals using an arduino nano. I have got it all working, it sends signals fine, the device picks up the signals fine, my only issue is range.
I had calculated the resistor I needed through a calculator site for it and everything works great, just the range is the issue. When I removed the resistor from the circuit the range is much better but I'm worried about having that as a permament solution as everywhere tells me I need to use one but then I looked at some of the outputs of the nano and checked against the LED and found that the nano doesn't even produce the ma's of the max ma on the LED. So I was hoping someone could confirm if I can use the LED without a resistor. Im using a nano, it also has a radio reciever module on it too and an IR LED with the following stats:

  • Forward Current: 50 mA
  • Forward Voltage: 1.2V
  • Max Forward Voltage: 1.6V
    I was hoping that the fact the duration of the LED being on would be milliseconds occasionally might be ok enough to run without a resistor too. Could someone please let me know on their thoughts of this or if there are any better LEDs to use for this with better range.
    Thanks

Hi,

A couple things...

First, the 50ma is probably an average current rating and that is what the LED should be run at not what it does run at no matter how you power it. If you overpower it, you burn out the LED. So you can drive it at 200ma but that would burn it out so you dont want to do that. That is what the resistor is for, to prevent an over current level.

Second, since that is probably an average rating (check data sheet) you can probably pulse it much higher like 100ma at 50 percent duty cycle and thus with a standard IR pattern you can get much farther communication distance.

Also, since the characteristic voltage is around 1.2v and you are using a 5v supply, the current is about 3.8/Rs where Rs is your series resistor. Thus a 100 ohm resistor gives you about 38ma, but then again the output pin probably does not put out the full 5v at that current so you have a little safety margin already.

Next, to drive the LED safely from a 5v Arduino, use 2 i/o pins set up as outputs instead of just 1. Use two 100 ohm resistors, one for each pin, to drive the LED assuming you will pulse it at about 50 percent duty cycle or less. Alternately you can use 3 i/o pins set up as outputs and use 110 to 120 ohm resistors, one for each pin and that will get you up near 80 or 90ma peak current.

If you want to stick with 50ma anyway, use 2 pins and one 150 ohm resistor on each of the two pins. That will mean you'll get about 25ma from each pin for a total of about 50ma.

None of these designs require a transistor circuit but they do require that you have at least one more i/o pin to spare that you can use for the second output pin. They also require that you set both output pins to the same state one right after the other using digitalWrite() with no other instructions in between, or use a direct register i/o software technique to set both output pins at the same time.

Of course your power supply has to be able to handle whatever peak current you decide to use in addition to the normal running current of the board.