Description:
Allows for sensing of solid objects within a fixed range (adjustable with on-board potentiometer) of approximately 5 to 45cm. Ideal for robotic applications.
Pinout:
PIN 1: GND
PIN 2: DATA OUT (LOW = Object detected)
PIN 3: +5V (VCC)
PIN 4: ENABLE (REMOVE JUMPER EN BEFORE USING)
Example Arduino Sketch:
Code: Select all
/* FILE: ARD_Obstacle_Avoidance_Sensor_Module_HMODU0006_Example
DATE: 04/06/13
VERSION: 0.1
This is a simple example of how to use the Hobby Components obstacle avoidance sensor
module (HCMODU0006). It is a very simple module that requires only one DIO
pin (defined as an input) to operate. When the sensor detects a reflective object
in close proximity it will pull a connected DIO pin LOW. A non reflective or no object
in close proximity will cause the DIO pin to go high.
PINOUT:
PIN 1: GND
PIN 2: DATA OUT
PIN 3: +5V
PIN 4: ENABLE (NOT CONNECTED)
You may copy, alter and reuse this code in any way you like, but please leave
reference to HobbyComponents.com in your comments if you redistribute this code.
This software may not be used directly for the purpose of selling products that
directly compete with Hobby Components Ltd's own range of products.
THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS MAKES NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
REASON WHATSOEVER.
*/
/* Define the DIO pin that will be used to communicate with the sensor */
#define SENS_DIO 2
/* Initialise serial and DIO */
void setup()
{
/* Setup the serial port for displaying the status of the sensor */
Serial.begin(9600);
/* Configure the DIO pin the sensor will be connected to as an input */
pinMode(SENS_DIO, INPUT);
}
/* Main program loop */
void loop()
{
/* If the DIO pin is pulled low then an object has been detected */
if (!digitalRead(SENS_DIO))
Serial.println("Object detected !");
}
FAQ:
How do I adjust the range of the sensor?
With the pin header facing towards you the left pot will adjust the sensitivity of the sensor, and the right pot adjusts the brightness of the IR LED. Turning the the left pot Anti (counter) clockwise will increase the sensors sensitivity. Turning the right pot clockwise will increase the intensity of the IR LED. Increasing the sensitivity of the sensor or intensity of the IR LED will increase the range of the sensor.
How do I set up the sensor to get the maximum range?
Firstly adjust both potentiometers to to their maximum (fully anti-clockwise for the sensitivity and fully clockwise for the IR LED intensity).
When setting up the sensor for maximum range make sure it's pointing away from any solid objects. You will need to adjust the two potentiometers (see above) to find the sensors sweet-spot. For the pot that sets the IR intensity you can usually get away with setting this to maximum brightness (fully clockwise) however the IR light may then be bright enough to bleed directly across to the sensor. If the sensor is permanently triggered (SLED remains illuminated) even when the sensitivity is reduced then just reduce the intensity of the IR pot a little.
Next reduce the sensitivity pot until the LED marked SLED turns off. You should then be close to it's maximum range although as mentioned before you may still need to adjust them slightly to find the sweet-spot.
I've adjusted the sensor as suggested above but I'm still not getting the maximum range. Why is this?
Maximum range is not only dependent on finding the ideal positions of the two potentiometers (see above). The following can also effect range:
Ambient light and infra-red levels in the room. This will dictate the maximum sensitivity that the sensitivity potentiometer can be set to. If the sensor is in a well lit room with lots of natural daylight then this will reduce it's maximum sensitivity.
IR reflectiveness of the of the object to be sensed. For the sensor to detect the object there must be a sufficient amount of IR light reflected back from the IR LED to the sensor. An object with a flat surface perpendicular to the sensor will reflect more light back compared to a object with a uneven surface or a surface pointing away from the sensor. Also, an object that is good at reflecting visible light may not necessarily be good and reflecting IR light. When setting up the sensor we recommend using a piece of folded white paper.
Position of the IR LED and sensor. The LED and sensor should be positioned so that light can reflect directly back from the LED to the sensor. It is possible for these components to be moved out of their ideal position during transit. Make sure they are both pointing in the correct direction by very carefully adjusting the position of the components.
Finally make sure there are no objects near the sensor that may be reflecting some of the IR light emitted by the LED directly back into the sensor.
Disclaimer: Libraries, example code, and diagrams are provided as an additional free service by Hobby Components and are not sold as part of this product. We do not provide any guarantees or warranties as to their accuracy or fitness for purpose. Diagrams are for illustration purposes only and may not be to scale.
Copyright notice: Descriptions and diagrams on this page are copyright Hobby Components Ltd and may not be reproduced without permission.