recently I have been looking for a way to define a pin on the Arduino Uno. once I got that right I expected that I would be able to send IR signals over at least 5 pins.This would be because I had defined the other 4 pins to suit the characteristics of pin 3.

Below is an example of IR transmitting code for pin 3

 * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
 * An IR LED must be connected to Arduino PWM pin 3.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com

#include <IRremote.h>

IRsend irsend;

void setup()

void loop() {
    for (int i = 0; i < 3; i++) {
        irsend.sendSony(0xa90, 12);
    delay(5000); //5 second delay between each signal burst

These pins will be used to send the signal of an IR LED. My logic is that if I can define pins then I can hook up multiple IR LEDs (one on each pin) and thus I can send a different signal to each LED.

enter image description here

Unfortunately This can't be done on and Arduino Uno alone. So I am looking for an alternative IC or microcontroller which will fit my requirements.

Is there any alternative microcontroller specifically built to do what I want to do here?

Here and Here are links to questions I asked on the Arduino forum related to this post.

Any suggestions and pointers will make me very happy thanks.

  • \$\begingroup\$ is your solution working for one IR Tx RX pair? \$\endgroup\$ – User323693 Jan 20 '17 at 11:45
  • \$\begingroup\$ @Umar Yes one pair works like a charm. \$\endgroup\$ – MALKAVIAN Jan 20 '17 at 11:47
  • 1
    \$\begingroup\$ "Unfortunately This can't be done on and Arduino Uno" What exactly do you mean here? Can you communicate with the receiver on all pins, one at a time?. say for ex,: only Pin 3 configured as output --works. in the next sketch, only pin 4 is configured as Tx, --works. in the next sketch only pin 5 is configured as Tx, --works?... \$\endgroup\$ – User323693 Jan 20 '17 at 11:52
  • 1
    \$\begingroup\$ Irsend can only send on one pin. That is a limitation of the library, not of the hardware. You need to see if there's a different library for the Arduino. \$\endgroup\$ – JRE Jan 20 '17 at 12:14
  • \$\begingroup\$ If the codes are different, why not just change the IR code sequentially for all RX. I assume the alignment of Transmit LEDs isn't a concern... \$\endgroup\$ – User323693 Jan 20 '17 at 12:44

You're going to want an external driver for each LED anyway, in order to provide more current than an Arduino pin can supply on its own. There's no reason that external driver couldn't be a decoder/demultiplexer. You'd connect the Arduino's pin 3 to the enable input of that decoder, and use a few other GPIOs to drive the select inputs of the decoder. A 3:8 decoder would give you 8 independent LEDs that you can drive one at a time.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.