红外传感器模块与 Arduino 连接
红外传感器模块与 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 连接
红外传感器模块与 Arduino 连接 原文地址 Arduino 红外传感器接口 红外**接近传感器或红外传感器它发射红外光以感知周围环境,并可用于检测物体的运动。由于这是一个无源传感器,它只能测量红外辐射。如果您曾经尝试过设计避障机器人或任何其他基于接近…...
NC xml配置文件不能生产java文件
在NC开发过程中,新增、或修改了xml文件,在开发工具eclipse中生成或重新生成Java文件,发现生成不了相对应的Java文件。如下图,选中xml文件后,右键点击SpringXml to Java 这种情况其实一般都是xml配置文件有问题&#…...
华为OD机试 - 五键键盘(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:五键键盘…...
Kubernetes Service简介
Service 之前我们了解了Pod的基本用法,我们也了解到Pod的生命是有限的,死亡过后不会复活了。我们后面学习到的RC和Deployment可以用来动态的创建和销毁Pod。尽管每个Pod都有自己的IP地址,但是如果Pod重新启动了的话那么他的IP很有可能也就变…...
【c++类与对象 】
目录:前言一、基础引入1.类的定义2.类的权限3.类的封装4.类的实例化5.计算类对象的大小结构体内存对齐规则空类的大小二、this指针this引入this指针的特性经典例题三、类的六个默认成员函数1、构造 && 析构构造函数析构函数2、拷贝 && 赋值拷贝构造…...
【C++】内联函数auto范围for循环nullptr
🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、内联函数1.1 内联函数概念1.2…...
运维效率狂飙,都在告警管理上
随着数字化进程的加速,企业IT设备和系统越来越多,告警和流程中断风险也随之增加。每套系统和工具发出的警报,听起来像是一场喧嚣的聚会,各自谈论不同的话题。更糟糕的是,安全和运维团队正在逐渐丧失对告警的敏感度&…...
【每日随笔】中国当前社会阶层 ( 技术无关 | 随便写写 )
文章目录一、阶层划分根据收入划分的阶层根据分工逻辑划分根据权利划分二、根据社会地位和掌握的资源划分的阶层三、赚钱的方式四、如何进入高阶层看了一个有意思的视频 , 讲的是中国当前的社会阶层 , 感觉好有道理 , 搜索了一些资料 ; 参考资料 : 关于中国的社会阶层社会在分…...
【13种css选择器】学css选择器,这一篇就够了
举例形象让你学会,不搞官方话css所有的选择器相邻兄弟选择器后续兄弟选择器后代选择器子代选择器并集选择器(多重选择器)属性选择器伪类选择器伪元素选择器class选择器(类选择器)id选择器*选择器(通配符选择器)标签选择…...
1-1 微服务架构概述
文章目录微服务架构概述1-1. 系统进化理论概述集中式系统:分布式系统1-2. 系统进化理论背景1-3. 什么是微服务架构1-4. 微服务架构的优缺点1-5. 为什么选择 Spring Cloud 构建微服务认识 Spring Cloud2-1. Spring Cloud 是什么2-2. Spring Cloud 的版本2-3 Spring C…...
uniapp传参
//子传父子页面:sumbit() {console.log(this.formData, 传过去的内容对象)let pages getCurrentPages();let prevPage pages[pages.length - 2]; //上一个页面prevPage.$vm.getParams(this.formData); //重点$vmuni.navigateBack();},父页面接收:metho…...
面试官:说说你对 TypeScript 中函数的理解?与 JavaScript 函数的区别?
一、是什么 函数是 JavaScript 应用程序的基础,帮助我们实现抽象层、模拟类、信息隐藏和模块 在 TypeScript 里,虽然已经支持类、命名空间和模块,但函数仍然是主要定义行为的方式,TypeScript 为 JavaScript 函数添加了额外的功能…...
【测试】HD-G2L-IO评估板测试结果表
1. 测试对象HD-G2L-IOT基于HD-G2L-CORE V2.0工业级核心板设计,双路千兆网口、双路CAN-bus、2路RS-232、2路RS-485、DSI、LCD、4G/5G、WiFi、CSI摄像头接口等,接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。H…...
[2.2.1]进程管理——调度的概念、层次
文章目录第二章 进程管理调度的概念、层次(一)调度的基本概念(二)调度的三个层次(1)高级调度(2)低级调度(3)中级调度补充知识:进程的挂起态与七状…...
【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框架及UI小部件
Webix是Javascript库 一种软件产品 用于加速Web开发的 JavaScript UI库和框架 Webix用于跨平台Web应用程序开发的JS框架,为您提供102个UI小部件和功能丰富的CSS/HTML5 JavaScript控件 开发商介绍 Webix团队由由热衷于创建高质量网络产品的专业人士组成ÿ…...
【微信小程序】-- WXS 脚本(二十九)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...
案例19-遇见问题的临时解决方案和最终解决方案
目录1、背景介绍2、两种解决方案的概念1、临时解决方案:2、最终解决方案:3、排查问题过程4、总结站在用户的角度思考作为软件开发者5、升华1、背景介绍 首先说明这是系统很早之前的时候的一个功能,当时和学习通还有很强的耦合关系。在学习通…...
自指(Self-reference)
文章目录1. 在逻辑、数学和计算方面2. 在生物学中3. 在艺术4. 在语言中5. 在流行文化中6. 在法律中自我参照(Self-reference)是一个涉及指代自己或自己的属性、特征或行为的概念。它可以发生在语言、逻辑、数学、哲学和其他领域。 在自然语言或形式语言…...
关于Hanoi塔的实现
关于Hanoi塔的实现 首先,在此之前,我们需要了解一下递归这个东西; 在我看来,递归这个东西就是栈的进出; 向下:进栈回溯:出栈 在进栈之前标记状态,输入到栈中; #incl…...
原始套接字(Raw Socket)
原始套接字允许对较低层次的协议进行访问,如: IP协议,ICMP协议等一般用于自定义协议的实现,处理IP协议没有处理过的数据运输层下IP数据不关注内核是否已有注册的句柄来处理这些数据,都会将这些IP数据复制一份传递给与协议类型匹配的原始套接字,没有的话,直接丢弃该数据,并返回主…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
