What is infra-red (IR)? Infra-red is an electromagnetic wave who wavelength is between 0.75 microns to 1000 microns (1 micron = 1µm). Since infra-red is out of visible light range, we can’t really see IR with naked eye. However, there is a method to “see” IR which will be shown later on. Some of the infra-red applications includes night vision, hyperspectral imaging, and communications. We also use IR daily in our TV remote or any device remote.

IR range in electromagnetic spectrum

IR transmitter and receiver can be obtained at low price. Their shape is looks exactly the same as LED. To distinguish between transmitter and receiver, the transmitter always come in clear LED while receiver is black in colour. Other than that, there is also receiver that is used to pick up specific frequency IR, 38kHz. For your information, 38kHz frequency IR is commonly used in remote control.

IR LED pair
Left: IR Receiver
Right: IR Transmitter
TSOP 4838 IR Receiver, 38kHz

IR transmitter will emit infra-red when powered. You can connect the IR transmitter like a LED together with a current limiting resistor. The current limiting resistor is used to prevent too much of current passing through the transmitter and burnt it. I am using 330 ohms resistor for the IR transmitter.

As mentioned before, there are ways to “see” the infra-red from the transmitter. All you need is a camera, be it from the phone camera or digital camera. Camera has sensor which can pick up infra-red, so you can use this technique to check whether your IR transmitter is working or not.

IR from TV remote

The IR receiver that I am going to discuss is the normal IR receiver instead of 38kHz IR receiver. IR receiver detects the amount of infrared received and varies the resistance across the receiver. Therefore, we can measure the voltage across the receiver to detect the amount of IR received.

I am going to show two methods of using IR receiver. The first method is using comparator which able to convert it to either HIGH or LOW. Comparator is a device that compares two signal and outputs a digital signal indicating which is larger. More info on comparator available here.

I am using LM 324 Low Power Quad Op Amp. LM 324 has four op amps, so I just use only one of them for this test.

LM 324 Connection Diagram

I will briefly explain the operation of this comparator.

(1) IR transmitter will directly shine to IR receiver. IR receiver is connected in reverse biased with a 1M ohm series resistor. This will create a potential divider to the op amp non inverting input, V+.

(2) A 100k ohm variable resistor is connected to the op amp inverting input. By adjusting the variable resistor, we can adjust the reference voltage of comparator.

(3) When IR receiver is blocked from IR transmitter, the resistance across IR receiver will increase. Thus the voltage at non inverting input will increase.

(4) Since the V+ > V-, the output of op amp will be 5V. In this case, it will turn off the LED. Only when V+ < V-, the output of op amp is 0V, thus LED lights up.

Schematic for comparator
When V+ > V-, Vout = +Vcc;
when V+ < V-. Vout = 0

You can actually implement IR receiver with comparator when you only need to compare to a fixed reference voltage. You can use this as a simple sensor for line following robot to detect the lines.

IR transmitter
IR transmitter and receiver
Comparator set up on breadboard

Video demo for IR sensor using op amp comparator.

However, there are times we need to obtain the raw values on IR receiver instead 2 discrete levels, HIGH and LOW. Now I am going to show the second method, which utilize the Arduino. I connect the IR receiver to Arduino’s Analog Input and use the Analog-to-Digital Converter to get the values. I am going to show how to obtain the values from IR receiver using Arduino and display it on LCD.

The connection is pretty simple for IR receiver. All you need is connect from IR receiver to any of the 6 analog inputs of Arduino. In this case, I am using analog input A0.

The code for Infrared sensor:

//Infrared Sensor Experiment
//By Zxlee

#include <LiquidCrystal.h>

LiquidCrystal lcd(2,3,4,5,6,7);

#define photodiode A0

void setup()

 lcd.print(" Infrared Sensor");


 lcd.print("By Zxlee");

 lcd.print("Analog Val= ");

void loop()
 int value = analogRead(photodiode); //Read analog value from IR receiver

 //Convert each digit in decimal and display on LCD

Some images on how to use infra-red sensor with Arduino.

Same configuration for IR transmitter and receiver
The IR receiver is blocked
IR receiver partially blocked
Set up on breadboard
Overall Circuit

Finally a video demonstration for IR sensor and Arduino.