Why PIN3 stays at 1v3 in a IR emitter project? Here is my very simple IR emitter circuit.
OSI5FU5111C-40 is an infrared LED.



I am using the IRremote library from here
in this simple sketch,

#include &lt;IRremote.h&gt;
unsigned int raw[100]={... *SOME RAW SIGNAL* ...};
IRsend irsend;

void setup()
{
  Serial.begin(9600);
}

void loop() {
  if (Serial.read() != -1) {
    for (int i = 0; i &lt; 3; i++) {
      Serial.print("Start sending ...");
      irsend.sendRaw(raw, 100, 38); 
      delay(40);
    }
  }
}


The problem is when I send 1 to serial monitor,

it outputs triple Start sending ... and LED emits no signal. 

So I test the voltage between PIN3 and GND before and after sending the 1.
The voltage stays around 1V3.

Would someone please give me some advice? Thank you!
A few things. As somebody else suggested, try a normal red LED and make sure that works first.

Note that your resistor is allowing too much current through the LED. A high-current LED might tolerate 20 mA (thousandths of an amp.) With a 47 ohm resistor, you're pumping 5/47, or about 106 mA into the LED, which is likely more than 5 times what it is designed to handle. You will quickly burn out your LED. You should use a 270 ohm resistor instead.

Also try just setting pin 3 to an output with this line:

pinMode(3, OUTPUT);


And then manually setting that pin to on:

digitalWrite(3, 1);


If the LED lights up, you know the pin is working correctly. Then use the code you posted with the same setup, and make sure your LED flashes. If THAT works, try putting your IR LED back in the circuit.