×

使用IR模块的障碍物检测器

消耗积分:0 | 格式:zip | 大小:0.57 MB | 2022-11-14

分享资料个

描述

什么是红外模块?

红外传感器模块主要由红外发射器和接收器组成。

IR LED 在红外线频率范围内发光。

红外光对我们来说是不可见的,因为它的波长(700nm – 1mm)远高于可见光范围。

poYBAGNxICaAS2DaAABK61KHq08370.jpg
红外模块
 

红外发射器:

发射不可见红外光的 LED。

红外接收器:

一种检测不可见红外范围内发射光的设备。

当它接收到反射的红外光时,表示红外模块前面有障碍物。

距离调整:

用于调节检测范围(物体与红外模块之间的距离)的电位器。

引脚:

VCC:至+5V电源(或Arduino UNO板)。

GND:电源(或 Arduino UNO 板)的接地。

OUT:连接到 Arduino UNO 板的任何数字引脚(本教程中的引脚 2)。

连接图:

pYYBAGNxICmANeBtAALYAIVFro4559.jpg
电路
 

编码:

#define IRpin 2
#define ledPin 13
void setup() {
 // put your setup code here, to run once:
pinMode(IRpin,INPUT);
pinMode(ledPin,OUTPUT);
}
void loop() {
 // put your main code here, to run repeatedly:
 int IRread = digitalRead(IRpin);
digitalWrite(ledPin,LOW);
if(IRread == 0){
 digitalWrite(ledPin,HIGH);
}
}

代码说明:

 #define IRpin 2

将引脚 2 分配为“IRpin”(IR 模块的引脚)。

#define ledPin 13

将引脚 13 分配为“ledPin”(控制 Arduino 板上的 LED)。

pinMode(IRpin,INPUT);

将引脚“IRpin”的模式设置为INPUT。

pinMode(ledPin,OUTPUT);

设置引脚“ledPin”的模式为OUTPUT。

int IRread = digitalRead(IRpin);

读取“IRpin”并将其值分配给整数“IRread”

 digitalWrite(ledPin,LOW);

在每个周期开始时关闭 LED。

if(IRread == 0){
 digitalWrite(ledPin,HIGH);
}

如果“IRread”为0,则表示模块前面有障碍物,通过打开LED发出警报(本示例中使用的IR模块在检测到障碍物时将OUT引脚设置为LOW)

结果:

当您在 IR 模块前放置障碍物时,Arduino 板上 13 针的 LED 会亮起。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !