红外传感器模块与 Arduino 连接

原文地址

Arduino 红外传感器接口

红外**接近传感器或红外传感器它发射红外光以感知周围环境,并可用于检测物体的运动。由于这是一个无源传感器,它只能测量红外辐射。如果您曾经尝试过设计避障机器人或任何其他基于接近检测的系统,那么您很可能已经知道这个模块。

红外传感器引脚排列

红外传感器有一个 3 针连接器,可将其连接到外部世界。连接如下:

VCC 连接到 Arduino 上的 5V 引脚的红外传感器的电源引脚。

OUT 引脚为5V TTL逻辑输出。低表示未检测到运动;高表示检测到运动。

GND 连接到Arduino的接地。

红外运动传感器模块如何工作?

红外传感器模块的工作非常简单,它由两个主要组件组成:第一个是红外发射器部分,第二个是红外接收器部分。在发射器部分,使用红外LED,在接收器部分,光电二极管用于接收红外信号,经过信号处理和调理,您将获得输出。

红外接近传感器的工作原理是向红外发光二极管施加电压,红外发光二极管发出红外光。该光在空气中传播并撞击物体,然后光电二极管传感器接收。如果物体近,反射光会更强,如果物体离得远,反射光会更弱。如果您仔细观察模块。当传感器触发时,它通过输出引脚发送低电平,Arduino或任何类型的微控制器都可以检测到该信号以执行特定任务。该模块内置了两个板载LED,其中一个在电源可用时亮起,另一个在电路被触发时打开。

**红外运动传感器模块 **

对于大多数Arduino项目,该传感器用于检测接近或构建避障机器人。该传感器在初学者中很受欢迎,因为它们功耗低、成本低、坚固耐用,并且具有宽感应范围,可以调整灵敏度。

该传感器有三个引脚,其中两个是电源引脚VCC和GND,另一个是数据引脚,如上图所示。它有一个板载电源 LED 和一个信号 LED,当电源施加到电路板上时,电源 LED 亮起,触发电路时信号 LED 亮起。该板还具有一个比较器运算放大器,负责将光电二极管的输入模拟信号转换为数字信号。我们还有一个灵敏度调节电位器;这样,我们可以调整设备的灵敏度。最后,我们有光电二极管和红外发射 LED 对,它们共同构成了整个红外接近传感器模块。

关于红外传感器的常见问题

红外传感器的输入功率是多少?

红外接近传感器模块可由 3.3V 和 5V 电源供电。这使得该模块可用于Arduino等5V系统和Raspberry Pi等3.3V系统。

红外传感器模块的范围是多少?

如果物体与传感器之间的距离为 2 到 10 厘米,则此传感器可以检测物体。此外,您还可以通过调整模块上的微调电位器来控制传感器的最大距离。

如何测试红外传感器模块?

测试您的红外传感器模块很容易,只需分别用 5V 和接地为 Vcc 和 Gnd 引脚供电,然后将手靠近红外传感器。如果一切正常,您应该能够看到模块上的信号 LED 亮起。

红外运动传感器模块电路图

红外运动传感器的示意图如下所示。原理图本身非常简单,需要一些通用元件来构建。如果您手头没有预构建的模块,但仍想测试您的项目,下面的原理图将派上用场。

在原理图中,我们有一个红外LED作为发射器,光电二极管作为接收器。如果物体在传感器前面,光电二极管会接收来自物体的反射光,根据强度,我们可以确定物体的距离或距离。在原理图中,您还可以找到一个LM358运算放大器,它正在执行所有比较工作并生成输出。除此之外,还有一个电位计可用于调整红外传感器模块的灵敏度或该模块的触发距离。

带 Arduino UNO 的红外传感器 – 连接图

现在我们已经完全了解了红外传感器的工作原理,我们可以将所有必需的电线连接到Arduino,如下所示。

将红外传感器连接到任何微控制器非常简单。众所周知,该传感器输出数字信号,处理该信号非常容易。有两种方法,您始终可以在无限循环中检查端口以查看端口何时将其状态从高变为低,或者另一种方法是使用中断来执行此操作,如果您正在制作复杂的项目,建议使用中断方法。用 5V 或 3.3V 为 IR 供电,并接地。然后将输出连接到数字引脚D9。我们使用公对母跳线将红外传感器模块与 Arduino 板连接,如下所示。

有了这个,您现在可以上传一些代码并使红外运动传感器正常工作。您还可以在本文底部查看上述模块的实际效果。

Arduino 代码,用于将红外运动传感器模块与 Arduino 接口

Arduino IR传感器模块代码非常简单易懂。我们基本上只是跟踪引脚D9的输入是高电平还是低电平。

我们通过声明两个全局变量来初始化代码,第一个变量保存连接红外传感器的引脚值,第二个保存 LED 连接处的值

int IRSensor = 9; // connect IR sensor module to Arduino pin D9
int LED = 13; // connect LED to Arduino pin 13

接下来,我们有设置功能。在设置函数中,我们用 115200 波特初始化串行。接下来,我们打印一条语句来检查串行监视器窗口是否正常工作,然后将IRSensor引脚初始化为输入,将LED引脚初始化为输出。

void setup() {Serial.begin(115200); // Init Serial at 115200 Baud Rate.Serial.println("Serial Working"); // Test to check if serial is working or notpinMode(IRSensor, INPUT); // IR Sensor pin INPUTpinMode(LED, OUTPUT); // LED Pin Output
}

接下来,我们有无限循环。在无限循环中,我们首先使用 digitalRead() 函数读取传感器引脚,并将值存储到 sensorStatus 变量中。然后我们检查传感器的输出是高还是低,如果传感器的输出是高,则表示未检测到运动,否则检测到运动,我们还在串行监视器窗口中打印此状态。

void loop() {int sensorStatus = digitalRead(IRSensor); // Set the GPIO as Inputif (sensorStatus == 1) // Check if the pin high or not{// if the pin is high turn off the onboard LeddigitalWrite(LED, LOW); // LED LOWSerial.println("Motion Detected!"); // print Motion Detected! on the serial monitor window}else  {//else turn on the onboard LEDdigitalWrite(LED, HIGH); // LED HighSerial.println("Motion Ended!"); // print Motion Ended! on the serial monitor window}
}

这就是我们简单的基于Arduino的红外传感器代码的结尾。

红外运动传感器模块的工作原理

GIF 显示了红外传感器模块的运行情况,您可以注意到模块和 Arduino 板上的 LED 都亮起,因为红色箭头指向购买。如果您是第一次使用红外运动传感器模块,那么您应该得到与此类似的响应。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KBMgjWVU-1678238510539)(https://circuitdigest.com/sites/default/files/inlineimages/u4/Working-of-IR-Sensor.gif)]

使用 Arduino 红外传感器模块的项目

以前我们已经使用这个红外传感器来构建许多有趣的项目。如果您想了解有关这些主题的更多信息,请在下面提供链接。

自动瓶灌装系统

使用Arduino和现成的材料构建您自己的简单高效的瓶子灌装机,可用于在聚会上倒饮料,或者如果您必须在一天内填充许多瓶子,该设备可以成为救星。

基于 ESP8266 节点MCU 的智能停车系统

如果您在当地或公寓遇到停车问题,您可以构建这个简单的基于物联网的智能停车系统,该系统使用红外传感器打开大门并通过互联网将您更新到您的手机。

Arduino UNO线路跟随机器人

如果您是初学者并且想要构建汽车机器人,那么这对您来说可能是一个良好的开端,因为它使用易于使用的零件和组件。

使用Arduino的红外控制直流电机

如果您是初学者并正在寻找简单的项目,那么这个项目对您来说可能是一个不错的选择,因为它使用红外传感器电机和继电器在您站在风扇前时打开风扇。

代码

// Arduino IR Sensor Code
int IRSensor = 9;  // connect ir sensor module to Arduino pin 9
int LED = 13;      // conect LED to Arduino pin 13
void setup() {Serial.begin(9600);                // Init Serila at 115200 BaudSerial.println("Serial Working");  // Test to check if serial is working or notpinMode(IRSensor, INPUT);          // IR Sensor pin INPUTpinMode(LED, OUTPUT);              // LED Pin Output
}void loop() {int sensorStatus = digitalRead(IRSensor);  // Set the GPIO as Inputif (sensorStatus == 1)   // Check if the pin high or not{// if the pin is high turn off the onboard LeddigitalWrite(LED, LOW);           // LED LOWSerial.println("Motion Ended!");  // print Motion Detected! on the serial monitor window} else {//else turn on the onboard LEDdigitalWrite(LED, HIGH);             // LED HighSerial.println("Motion Detected!");  // print Motion Ended! on the serial monitor window}
}

红外传感器模块与 Arduino 连接相关推荐

  1. 【霍尔效应传感器模块与 Arduino】

    霍尔效应传感器模块与 Arduino 前言 霍尔效应传感器引脚 霍尔效应传感器模块如何工作? 霍尔效应传感器的类型 单极霍尔效应传感器 双极霍尔效应传感器 霍尔效应传感器模块组成 关于霍尔效应传感器的 ...

  2. 室内监控项目之红外传感器模块

    室内监控项目之红外传感器模块 知识积累: 红外线传感器是用红外线的物理性质来进行测量的传感器.红外线又称红外光,它具有反射.折射.散射.干涉.吸收等性质.它是一种不可见光,其光谱位于可见光中红色以外, ...

  3. stm32f4红外传感器模块 和人体感应模块HCSR501

    也同时买了个红外传感器模块 还买了一个长这样的 这个好容易随便写写了 初始化一下gpioB引脚 __HAL_RCC_GPIOB_CLK_ENABLE(); GPIO_Initure.Pin=GPIO_ ...

  4. 传感器i2c与arduino连接_Arduino中进行I2C通信发送数据案例分析

    在之前的文章中,我们介绍了Arduino之间的SPI通信.今天我们将学习另一种串行通信协议:I2C(内部集成电路).比较I2C和SPI,I2C只有两条线,而SPI使用四条,I2C可以有多个主机和从机, ...

  5. 对射式红外传感器模块、测速传感器模块、计数器模块、电机测试模块、槽型光耦模块

    文章目录 一.产品简介 二.原理分析 三.程序设计 四.程序源码 一.产品简介 该产品采用FTR9606高灵敏度槽型光耦器件,槽宽5mm.它由一个红外发光二极管和NPN光电三极管组成,M3固定安装孔, ...

  6. 传感器i2c与arduino连接_如何在两个Arduino开发板之间使用I2C总线进行通信

    在之前的文章中,我们介绍了Arduino之间的SPI通信.今天我们将学习另一种串行通信协议:I2C(内部集成电路).比较I2C和SPI,I2C只有两条线,而SPI使用四条,I2C可以有多个主机和从机, ...

  7. 热释电传感器三个引脚_热释电红外传感器模块的三个端口需要注意区别不同功能。...

    若有以下说明,热释且010,则对数组元素错误引用是()int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 电红下列可用生物惰性陶瓷修复的有? 外传非降解型的生物医用高分子材料包 ...

  8. 使用红外传感器和Arduino制作数字转速表测量RPM

    在本篇文章中,我们使用红外传感器(IR Sensor)和Arduino开发板设计了一款数字转速表,用于测量旋转电机的转数RPM.只需将红外传感器模块与Arduino和1602 LCD显示模块连接即可. ...

  9. Arduino UNO的线路跟随机器人车,L298N驱动器,红外传感器

    Arduino UNO的线路跟随机器人车,L298N驱动器,红外传感器 原文 一些机器人制作项目 使用Arduino UNO,L298N电机驱动器,红外传感器制作Arduino线路跟随器机器人车 展示 ...

最新文章

  1. NIS 服务器的配置
  2. swift_017(Swift 的枚举)
  3. pytorch单维筛选 相乘
  4. python第三方库下载-3、python第三方库的安装方式
  5. 华为海思HISILICON
  6. html属性选择器怎么写,html – 具有“type”属性与make-up属性的CSS属性选择器和区分大小写...
  7. Windows平台编译Webkit
  8. 用SQL语言建表,课1
  9. spring boot中使用Pagehelper实现分页
  10. JAVA的extends用法
  11. 前端人英语学习的那点事儿
  12. 机器学习基石笔记5——为什么机器可以学习(1)
  13. div独占一行 html_web前端基础-HTML及CSS选择器
  14. mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
  15. TextView输入文字改变输入框大小
  16. 9月8日全球域名商(国际域名)解析新增量TOP20
  17. 什么是Csrss.exe进程?此进程有何作用?
  18. HTML 图书销售排行榜
  19. python demo.py_python,pycharm_【已解决】pycharm 运行 web.py demo文件问题,python,pycharm - phpStudy...
  20. 关于 360 度评估

热门文章

  1. 基准点定位-精度测试
  2. 特洛伊木马服务器源代码(C#)
  3. php下载csv文件
  4. linux qt 达梦,linux环境中QT程序连接达梦数据库DM7简介
  5. MS Learn 学堂|借用 Power Apps 搭建用章申请与管理平台
  6. 免费进入超星图书馆小技巧 --深圳广播电视大学数字图书馆
  7. java代码连接打印机
  8. 华南城集团、华世界集团携手华为云开展深度合作,共同推动产业数字化升级
  9. 用 Python 将音频内容转换为文本格式
  10. 什么是期货反跟单交易