This Infrared Obstacle Avoidance Sensor Module is an inexpensive solution to avoidance detection for robotics and other electronics uses.
It comes as an assembled module, as shown above, there are only four pins: +5-volts, GND, output, and EN. Output is an active LOW and has an onboard status LED. It’s very easy to interface directly with Arduino or other micro-controllers. It also works with the Raspberry Pi with a voltage range of 3-6 volts. Connect Vcc to 3-volts!
The enable pin “EN” will disable the device when HI (Vcc) and enable when LO (GND). The onboard jumper can be left open to allow external control of enable/disable of the module. I see no use for this function and would leave the jumper on and the pin disconnected. There are two potentiometers on the module one controlling operating frequency (centred at 38 kHz) the other controlling intensity. The detector was designed for 38 kHz and the onboard oscillator circuit is based on a 555 timer. Tweaking gives a little better range but I’d suggest leaving it alone because the useful range is narrow. It worked well as is. The maximum reliable range in my test was around 30-40 cm and depended on the type of material. A smooth white surface worked far better than a black or rough surface.
Specifications:
Working voltage | DC 3.3V – 5V |
Working current | More than 20mA |
Working temperature | -10 to 50 centigrade degree |
Detection distance | 2 – 40cm |
IO interface | 4 line (- / + / S / EN) |
Output signal | TTL Level |
Adjusting mode | Multi-resistance regulation |
Effective angle | 35 degree |
Weight (gm) | approx 20 |
Dimensions in mm (LxWxH) | 40 x 16 x 11 |
Sample Code:
int detector = 8; // define the obstacle avoidance sensor interface
int val ;
void setup ()
{
pinMode(13, OUTPUT); // Built in Arduino LED
digitalWrite (13, LOW);
pinMode (detector, INPUT) ;// define the obstacle avoidance sensor output interface
}
void loop ()
{
val = digitalRead (detector) ;
if (val == HIGH) // When the obstacle avoidance sensor detects a signal, LED flashes
{
digitalWrite (13, HIGH);
delay(100);
}
else
{
digitalWrite (13, LOW);
delay(100);
}
}
Reviews
There are no reviews yet.