一、红外对管模块说明

        红外对管模块 Arduino 常使用的模块之一,其主要构成及部分原理如图。

红外对管即一对红外线发射与接收管,其中发射管发射出一定频率的红外线,若在检测方向遇到障碍物,红外线反射被接收管接收,绿色指示灯会亮起,同时模块输出数字信号(一个低电平信号);模块输出接口输出低电平信号,同时输出指示灯亮起;若前方无障碍物,射线未被反射,则输出接口输出高电平信号。

        该模块工作电压为 3.3V-5V,有效检测距离范围为 2~30cm,测试角度为35°。检测距离可通过电位器进行调节,目标的反射率和形状是探测距离的关键,其中黑色物体探测距离最小,白色最大;表面积较小的物体距离小,表面积较大的物体距离大。

        红外对管模块具有对环境光线适应能力强、便于装配、使用方便等优点,可被广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多项目中。

二、所需元件

  • 1 x Arduino Uno R3(以及配套USB数据线)
  • 1 x 红外对管模块
  • 3 x 杜邦线

三、硬件连接

 

四、软件代码

#define MHHensor   3
//将红外对管模块(以下简称传感器)连接至三号引脚
#define LED    2
//定义LED管脚连接到2好管脚
void setup()
{
    pinMode(MHSensor,INPUT);
    //初始化传感器引脚为输入状态
    pinMode(LED,OUTPUT);
    //初始化传感器为输出状态
    Serial.begin(9600);
    //初始化串口,设定串口通信速率为9600(波特)
}
void loop()
{
    uint8_ data = digitalRead(MHSensor);
    //获取传感器信号状态
    if(data==1)
        digitalWrite(LED,HIGH);
        //使led亮
    else if(data==0)
        digitalWritel(LED,LOW);
        //使led亮
    Serial.println(data);
    //向计算机发送传送信息
}

五、运行结果