How to run 50 IR LEDs off an Arduino UNO? Hi I have 50 camera devices I want to program. Luckily the camera devices have a param.xml file I can import. I have already loaded the param.xml file on each of the camera devices however, now I need to import the param.xml file.

The devices work on IR waves, Usually I would have to import the params on each individual device with a remote but I decided to try and create a neat project where I would attempt to program all of the devices at once using an Arduino.

I would like to buy 50 IR LEDs, make small booster circuits for each LED and then point each one too the receiving module on the camera devices. All the Signal wires would be connected to Arduino pin 3.

I am mostly concerned about all the signal wires connected to Arduino pin 3. is there perhaps some kind of circuit I can use on pin 3 to ensure that this project will work perhaps someone Knows of a better way or has some advice?

Any suggestions will be appreciated. 

I am not worried about power because I will connect the IR LEDs + &amp; - to an external Power supply with adjustable current and voltage.

Booster Circuit:

Link To IR Led Datasheet

Link To Transister Datasheet







simulate this circuit &ndash; Schematic created using CircuitLab

This is the code I am using with an Arduino Uno and I have tested it with the IR booster circuit and it does work.

#include &lt;IRremote.h&gt;

IRsend irsend;

void setup()
{
}

void loop() {
    for (int i = 0; i &lt; 3; i++) {
        irsend.sendNEC(0x1067E21D, 32); // Login
        delay(1000);
        irsend.sendNEC(0x106722DD, 32); // Password Digit 1
        delay(1000);
        irsend.sendNEC(0x106722DD, 32); // Password Digit 2
        delay(1000);
        irsend.sendNEC(0x106722DD, 32); // Password Digit 3
        delay(1000);
        irsend.sendNEC(0x106722DD, 32); // Password Digit 4
        delay(1000);
        irsend.sendNEC(0x106722DD, 32); // Password Digit 5
        delay(1000);
        irsend.sendNEC(0x106722DD, 32); // Password Digit 6
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x10678877, 32); // Right Arrow 
        delay(1000);
        irsend.sendNEC(0x10676897, 32); // Down Arrow 
        delay(1000);
        irsend.sendNEC(0x1067A857, 32); // Enter 
        delay(1000);
        irsend.sendNEC(0x1067A857, 32); // Enter 
        delay(1000);
        irsend.sendNEC(0x10678877, 32); // Right Arrow 
        delay(1000);        
        irsend.sendNEC(0x1067A857, 32); // Enter 
        delay(1000);
    }
    delay(5000); //5 second delay between each signal burst
}
You should put a current-limiting resistor in series with each LED.
You could then try to drive all of those LEDs from a beefy transistor, like
a power MOSFET or a Darlington. Alternatively, you can use a small
transistor for each LED, and then drive all of them from a PNP transistor,
like this:







simulate this circuit &ndash; Schematic created using CircuitLab

This way, if you want to drive some of the LEDs independently, you can just
connect an Arduino pin to its R2.

Beware that the PNP reverses the logic: pin LOW turns the LEDs ON.