Report by Guy Lee, last update 2/24/06

I bought this infrared sensor from HVM Technologies Inc., $1.50 each. See the datasheet here. Initially I chose another infrared sensor for test, PIR Motion Sensor, which was to detect any motion in front of the sensor but it turened out not so sensitive. So that I looked at this QRD1114 IR Sensor for substitute. In this test, I used both as digital and analog input to see what difference it has and how sensitive it is.

Features

  1. Phototransistor output
  2. Non-contact surface sensing
  3. Unfocused for sensing diffused sufaces
  4. Compact package (size 4.6 x 6.1 x 4.4 mm)
  5. Daylight filter onsensor

What Can QRD 1114 IR Sensor Do

1. Object / Surface detection
Object or surfaces must be within 0.5cm. This circuit will not distinguish between white and black objects but it will let you know when you are at the edge of a surface.

2. Color Differences ( White / Black )
If you want to detect the difference between white or black surfaces, in the circuit the Input pin on the Micro should be an analog to digital converter or some other device that can utilize variable voltage levels. A black surface will give a voltage some where between 0V and 5V and white surfaces will give a voltage of 5V. Determining the voltage level for your black and white surfaces will require experimentation.

PIN Diagram


*Pins 2 and 4 are typically shorter than pins 1 and 3. See the reference circuit here.

Related Tables

Below shows the relationship between normalized collector current and distance.

Demonstration

Digital input
I have tested object/surface detection and stiil try to figure out Black/White difference detection. Here is the schematic of how I hooked up QRD1114 IR Sensor to PIC18F452. Portd.1 is used for digital input from QRD1114 IR Sensor's signal while portb.7 is for output to light a LED.

1. Trigger with finger - See the video here, 900k, avi.

2. Trigger with a piece of paper - See video here, 800k, avi.

[PicBasic code]

DEFINE OSC 20
output portb.7
input portd.1

main:
     if portd.1=0 then
     high portb.7
     else
     low portb.7
     endif
goto main

Analog Input
Here I use PWM to let LED light gradually. The lighness depends on the variable "adcVar", which is in direct-ratio (code 1) or inverse-ratio (code 2) to the distance between reflecting surface and the sensor. In code one, when the reflecting surface is out of the range (0.5cm), the sensor will read adcVar in the maximum (It should be 1023 in theory but it's 1016 in fact. Also, the minimum is 30 instead of 0.

[PWM PicBasic code 1]

DEFINE OSC 20
DEFINE ADC_BITS 10 ' Set number of bits in result 
DEFINE ADC_CLOCK 3 ' Set clock source (3=rc) 
DEFINE ADC_SAMPLEUS 50    ' Set sampling time in uS

TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %10000010 ' Set PORTA analog and right justify
output portb.7 
adcVar  VAR word
dutyCycle var byte

main:
    ADCIN 0, adcVar
    serout2 portc.6, 16468, [DEC adcVar, 13]
    dutyCycle = adcVar/5
    pwm portb.7,dutyCycle,10
goto main 

See videos which show the direct-ratio between the distant and the lightness: video1(1mb, avi), video2(800k, avi).

[PWM PicBasic code 2]

DEFINE OSC 20
DEFINE ADC_BITS 10 ' Set number of bits in result 
DEFINE ADC_CLOCK 3 ' Set clock source (3=rc) 
DEFINE ADC_SAMPLEUS 50    ' Set sampling time in uS

TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %10000010 ' Set PORTA analog and right justify
output portb.7 
adcVar  VAR word
dutyCycle var byte

main:
    ADCIN 0, adcVar
    serout2 portc.6, 16468, [DEC adcVar, 13]
    dutyCycle = (1023-adcVar)/5
    pwm portb.7,dutyCycle,10
goto main 

Here are images that present the inverse-ratio between the distance and the lightness.


See video here (1mb, avi).

Questions

  1. The range is from 30-1016 instead of 0-1023. Why?
  2. How to set up Color difference (White/Black) detection circuit ?
  3. Is infrared sensor THAT dangerous to eyes?
  4. linear or radial?