Arduino Infrared Distance Sensor basic test

Posted on Jan 17 -

Hi folks,

Today, a very simple test to check the honeywell infrared emiter and receiver SE 5455-3 and SD 5410-2 capability as distance sensor.

I use the schematic from QTR-1A polulu reflectance sensor just changing the 150 ohm resistor with a 47 Ohm to match witch the SE 5455-3 specifications

Honeywell infrared led voltage is 1,7 V and current is 100 mA (!) so current limitation resistor should be :

( 5 - 1,7 ) / 0,100 = 33 Ohms instead of 150 Ohms, I put 47 ohms ‘cause i had this value directly avalaible ;)

QTR1-A schematic

The breadboard wiring diagram is :

Distance sensor wiring diagram

It’s cleaner than reality…

A red led (inside the paper tube) is used as PWM output visualisation on digital output 9, I used a led symbol as emiter and a transistor as receiver, by the way, it’s pretty much correct…

The arduino code is coming from AnalogInOutSerial Arduino example and the sensor (used instead of the potentiometer) range adjusted to match with sensor output.

/*
  Analog input, analog output, serial output

 Reads an analog input pin, maps the result to a range from 0 to 255
 and uses the result to set the pulsewidth modulation (PWM) of an output pin.
 Also prints the results to the serial monitor.

 The circuit:
 * potentiometer connected to analog pin 0.
   Center pin of the potentiometer goes to the analog pin.
   side pins of the potentiometer go to +5V and ground
 * LED connected from digital pin 9 to ground

 created 29 Dec. 2008
 by Tom Igoe

 */

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = 0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);
  // map it to the range of the analog out:
  outputValue = map(sensorValue, 150, 900, 0, 255);
  // change the analog out value:
  analogWrite(analogOutPin, outputValue);           

  // print the results to the serial monitor:
  Serial.print("sensor = " );
  Serial.print(sensorValue);
  Serial.print("\t output = ");
  Serial.println(outputValue);   

  // wait 10 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:
  delay(10);
}

And not really explicit but for your eyes only :

Arduino infrared distance sensor test

And the corresponding terminal snapshot

Terminal Snapshot

As this, the honeywell emiter and receiver seem to be ok to measure distance between  2 and 10 cm from their built in lenses.

This range could be certainly extended using optical system like external lenses. In case I give a try on this, I’ll keep you in touch ;)

Other Posts