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.

infrared
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
42269347
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
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.

lm324
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.

DSC08234
Schematic for comparator
fig4-28
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.

DSC08180
IR transmitter
DSC08182
IR transmitter and receiver
DSC08176
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.begin(20,4);
 pinMode(photodiode,INPUT);

 lcd.setCursor(0,0);
 lcd.print(" Infrared Sensor");

 lcd.setCursor(5,1);
 lcd.print("Experiment");

 lcd.setCursor(6,3);
 lcd.print("By Zxlee");

 lcd.setCursor(2,2);
 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
 lcd.setCursor(17,2);
 lcd.print((value%10));
 value/=10;
 lcd.setCursor(16,2);
 lcd.print((value%10));
 value/=10;
 lcd.setCursor(15,2);
 lcd.print((value%10));
 value/=10;
 lcd.setCursor(14,2);
 lcd.print(value);
}

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

DSC08189
Same configuration for IR transmitter and receiver
DSC08190
The IR receiver is blocked
DSC08191
IR receiver partially blocked
DSC08192
Set up on breadboard
DSC08188
Overall Circuit

Finally a video demonstration for IR sensor and Arduino.

Advertisements