原创 如何用IR接近传感器和Arduino Uno探测物体?

2022-8-12 09:05 1467 6 3 分类: 智能硬件 文集: 方案

IR接近传感器是无线技术中最常用的传感器,常用作远程控制和检测周围物体/障碍物。当有障碍物出现在周边时,传感器就以数字形式输出“0”或“1”电平。本项目演示IR传感器的使用,BOM表如下:
IR传感器模块           x1
RED LED                x1
220欧姆电阻器        x1
Arduino开发板       x1
USB线缆                x1
跳线                     若干


认识IR传感器

 

IR传感器通过发射和检测IR辐射以找出其范围内的某些物体/障碍物,还有热量和运动感应。IR传感器使用波长介于0.75-1000μm之间的红外辐射,该辐射介于电磁光谱的可见光和微波区域之间,IR区域对人眼是不可见的。

 

 

由于任何温度不等于绝对零度(0开尔文)的物体都会发出辐射,而黑体在所有波长发射的总能量与绝对温度有关,IR传感器同时包含IR发射器、IR接收器和信号处理电路,对周边物体进行检测。IR接近传感器的典型特性如下:
环境光保护的IR接收器 
3 pin接口连接器
LED & Power LED指示器
距离2-30cm
物体出现时“low”电平
工作电压3.3-5V

电路图及代码

 

IR传感器传感器与Arduino开发板的连接简单,传感器模块的VCC、GND引脚连接于Arduino开发板的5v、GND引脚,传感器的输出引脚 pin OUT连接于Arduino UNO的数字引脚PIN 8。

 


为了方便察看检测状态,项目在Arduino开发板的PIN引脚连接了一个LED。

int IRSensor = 8; // connect ir sensor to arduino pin 2
int LED = 13; // conect Led to arduino pin 13
void setup()
{
 pinMode (IRSensor, INPUT); // sensor pin INPUT
 pinMode (LED, OUTPUT); // Led pin OUTPUT
 Serial.begin(9600);
 delay(500);
 Serial.println("Welcome to Microdigisoftn");
}
void loop()
{
 delay(1000);
 Serial.print("IR Sensor value=  ");
 Serial.println(digitalRead(IRSensor));
 int statusSensor = digitalRead (IRSensor);
 if (statusSensor == 1)
   digitalWrite(LED, LOW); // LED LOW
 else
 {
   digitalWrite(LED, HIGH); // LED High

 }
}

 

 

当有物体出现在IR传感器前方时,传感器以数字形式输出逻辑 0 (0V) ,如果前方没有物体则输出逻辑 1 (+5V)。

 

 

同时,当IR传感器前方有物体出现时,LED将点亮。如果物体被从传感器前方移去,LED将自动熄灭。

作者: 硬之城Allchips, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3975615.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 6
赞赏0

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /6 下一条