Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】168种传感器模块系列实验(66)---红外寻迹传感器

[复制链接]
 楼主| 发表于 2022-4-3 17:46 | 显示全部楼层
二、红外光电开关(Infrared photoelectric switch
1、红外光电开关是一种红外调制型无损检测光电传感器。属于光电接近开关的简称,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测。它采用高效红外发光二极管和光敏三极管作为光电转换元件,工作方式有同轴反射式和对射式两种,使用电源有交流和直流两种。红外光电开关的 检测距离为0·05-10m,并有灵敏度调节及动作前后延时等功能。产品具有体积小、使用简单、性能稳定、寿命长、响应速度快以及抗冲击和抗干扰能力强等 特点,可广泛应用于现代轻工、机械、冶金、交通、电力、军工及矿山等领域的安全生产、自动生产控制及计算机输人接口信号。

4.10-04.jpg

 楼主| 发表于 2022-4-3 17:47 | 显示全部楼层
1、根据检测方式的不同,红外线光电开关可分为漫反射式光电开关、镜面反射式光电开关、对射式光电开关、槽式光电开关、光纤式光电开关等。
1)对射式光电开关
对射式光电开关包含在结构上相互分离且光轴相对放置的发射器和接收器,发射器发出的光线直接进入接收器。当被检测物体经过发射器和接收器之间且阻断光线时,光电开关就产生了开关信号。当检测物体是不透明时,对射式光电开关是最可靠的检测模式。
2)镜面反射式光电开关
镜反射式光电开关亦是集发射器与接收器于一体,光电开关发射器发出的光线经过反射镜,反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关信号。
3)槽式光电开关
槽式光电开关通常是标准的U字型结构,其发射器和接收器分别位于U型槽的两边,并形成一光轴,当被检测物体经过U型槽且阻断光轴时,光电开关就产生了检测到的开关量信号。槽式光电开关比较安全可靠的适合检测高速变化,分辨透明与半透明物体。
4)光纤式光电开关
光纤式光电开关采用塑料或玻璃光纤传感器来引导光线,以实现被检测物体不在相近区域的检测。通常光纤传感器分为对射式和漫反射式。

 楼主| 发表于 2022-4-3 17:59 | 显示全部楼层
二、反射式光电开关(Reflective photoelectric switch
1、反射式光电开关也属于红外线不可见光产品,是一种小型光电元器件,它可以检测出其接收到的光强的变化。在前期是用来检测物体有无感应到的,它是由一个红外线发射管跟一个红外线接收管组合而成,它的发射波长是780nm-1mm,发射器带一个校准镜头,将光聚焦射向接收器,接收器出电缆将这套装置接到一个真空管放大器上。检测对象是当它进入间隙的开槽开关和块光路之间的发射器和检测器,当物体接近到灭弧室,接收器的一部分收集的光线从对象反射到光电元件上面。它是利用物体对红外线光束遮光或反射,由同步回路选通而检测物体的有无的,其物体不限于金属,对所有能反射光线的物体均可检测。

4.10-05.jpg

 楼主| 发表于 2022-4-3 18:23 | 显示全部楼层
3、反射式光电开关是包括一个红外发光二极管和硅光电晶体管,包裹并排在聚光光学轴在一个黑色的热塑性塑料外壳。光电晶体管不受辐射的红外发光二极管在正常情况下,当一个物体靠近时,辐射是由物体反射和光电接收更为接近的物体辐射。反射式光电开关检测方法都反应比较快、高解析、精度度高、峰值波长λ=模式 灵敏度高易散热、无铅,使用寿命比较长,符合RoHS标准,是新一代的绿色环保能源,而且可测参数多,它的结构也比较简单,形式灵活多样。

反射式光电开关广泛应用于鼠标,打印机复印机,开关扫描仪软盘驱动器,非接触式开关直接板、感应洁具,感应水龙头;作位置运动的检测器,磁带检测器,送带控制以及无触点开关;检测物体的有无,定位计数,测速等各种自动控制设备中;可用于料位控制、行程控制、定长剪切裂缝、断料检测、防盗报警等应用领域。



4、使用反射式光电开关的注意事项
1)反射式光电开关的工作原理是红外传感器红外发射管发射出红外光,红外接收管根据反射回来的红外光强度大小来计数的,故被检测的工件或物体表面必须有黑白相间的部位用于吸收和反射红外光,这样红外接收管才能有效的截止和饱和达到计数的目的。所以在选择工作点、安装及使用中最关健的一点是红外接收管必须工作于截止区和饱和区。
2)使用中光电传感器的前端面与被检测的工件或物体表面必须保持平行,这样反射式光电开关的转换效率最高。
3)反射式光电开关的前端面与反光板的距离保持在规定的范围内。
4)反射式光电开关必须安装在没有强光直接照射处,因强光中的红外光将影响红外线接收管的正常工作。
5)反射式光电开关的红外发射管的电流在210mA之间时发光强度与电流的线性最佳,所以在电流取值一般不超过这个范围,若取值太大红外发射管的光衰也大长时间工作影响寿命;若在电池供电的情况下电流取值应小,此时抗干扰性下降,在结构设计时应考虑这点,尽量避免外界光干扰等不利因素。
6)安装焊接时,反射式光电开关的引脚根部与焊盘的最小距离不得小于5mm,否则焊接时易损坏管芯。或引起管芯性能的变化。焊接时间应小于4秒。

 楼主| 发表于 2022-4-3 18:25 | 显示全部楼层
4.10.3. 红外反射光电寻迹传感器模块的实验环境
一、实验所需硬件清单
Arduino Uno开发 X1
杜邦线 若干(备了9条)
LED发光二极管(蓝绿色)X2
IIC/I2C 1602 LCD液晶屏模块X1
高电平触发有源蜂鸣器模块 X1
红外反射光电寻迹传感器模块X2
高电平触发单路5V继电器模块X1
Proto Shield 原型扩展(带mini面包板)X1

4.10-20.jpg

二、模块实验所需软件平台
代码编程 Arduino IDE (版本1.8.19
仿真编程 Linkboy     (版本V4.6.3
图形编程 Mind+  (版本 V1.7.0 RC2.0)以及编玩边学(线上平台)

 楼主| 发表于 2022-4-3 18:26 | 显示全部楼层
5、程序五:模块检测到白色则灯亮,黑色则熄灭
1)实验开源图形编程(Mind+Mixly、编玩边学)

4.10-34.jpg

 楼主| 发表于 2022-4-3 18:27 | 显示全部楼层
2)实验串口返回情况

4.10-35.jpg

 楼主| 发表于 2022-4-3 18:27 | 显示全部楼层
6、程序六:使用1602 LCD屏显示寻迹模块状态
1)实验接线示意图

4.10-36.jpg

4.10-37.jpg

 楼主| 发表于 2022-4-3 18:28 | 显示全部楼层

2Arduino参考开源代码


  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序六:使用1602 LCD屏显示寻迹模块状态
  4. */


  5. #include <LiquidCrystal_I2C.h>   // 引用 LiquidCrystal_I2C Library
  6. LiquidCrystal_I2C lcd(0x27, 16, 2); // 設定 LCD 位址為 0x27,有 16 個字元 2 列

  7. int DigitalPin = 2;//接寻迹模块D0
  8. int AnalogPin = A0;//接寻迹模块A0
  9. int ledPin = 13;//接LED

  10. void setup(){
  11.   Serial.begin(115200);
  12.   pinMode(DigitalPin, INPUT); // 设定数位Pin为输入
  13.   pinMode(AnalogPin, INPUT); // 设定数位Pin为输入
  14.   pinMode(ledPin, OUTPUT);

  15.   lcd.init();                // 初始化 lcd
  16.   lcd.backlight();           // 設定背板為亮
  17.   lcd.clear();
  18. }

  19. void loop(){
  20.   boolean D_val = digitalRead(DigitalPin); // 读取数位Pin的值
  21.   int A_val = analogRead(AnalogPin);

  22.   if (D_val == HIGH)  {    //读取到数值为LOW时,点亮pin13的LED灯
  23.     digitalWrite(ledPin, LOW);
  24.   }
  25.   else {
  26.     digitalWrite(ledPin, HIGH);
  27.   }
  28.   Serial.print("Analog Data: ");
  29.   Serial.println(A_val);
  30.   lcd.setCursor(0, 0);
  31.   lcd.print(" Analog:");
  32.   lcd.print(A_val);
  33.   lcd.print("  ");

  34.   lcd.setCursor(0, 1);
  35.   lcd.print("Digital:");
  36.   lcd.print(D_val);
  37.   delay(300);//延时300毫秒
  38. }
复制代码


 楼主| 发表于 2022-4-3 18:29 | 显示全部楼层
3)实验串口返回情况

4.10-38.jpg

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2022-12-7 01:09 , Processed in 0.073923 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表