【雕爷学编程】Arduino动手做(65)---TCRT5000红外寻迹传感器模块3

2023-11-13

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验六十五:TCRT5000红外传感器模块寻迹循迹避障模块光电反射对管光电开关板机器人智能小车

在这里插入图片描述

二、红外反射光电寻迹传感器模块
1、模块描述
该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于电度表脉冲数据采样、传真机碎纸机纸张检测、流水线计数、机器人避障、避障小车、及黑白线循迹等众多场合。

在这里插入图片描述
2、模块电原理图

在这里插入图片描述
在这里插入图片描述
3、模块特色
(1)采用TCRT5000红外反射传感器
(2)检测反射距离:1mm~25mm适用
(3)比较器输出,信号干净,波形好,驱动能力强,超过15mA。
(4)配多圈可调精密电位器调节灵敏度
(5)工作电压3.3V-5V
(6)输出形式 :数字开关量输出(0和1)
(7)设有固定螺栓孔,方便安装
(8)小板PCB尺寸:3.2cm x 1.4cm
(9)使用宽电压LM393比较器

在这里插入图片描述
4、模块引脚接线方式
(1)VCC:接电源正极(3-5V)
(2)GND:接电源负极
(3)DO:TTL开关信号输出
(4)AO:模拟信号输出(不同距离输出不同的电压,此脚一般可以不接)

在这里插入图片描述

红外反射光电寻迹传感器模块的实验环境
一、实验所需硬件清单

Arduino Uno开发板 X1
杜邦线 若干(备了9条)
LED发光二极管(蓝绿色)X2
IIC/I2C 1602 LCD液晶屏模块X1
高电平触发有源蜂鸣器模块 X1
红外反射光电寻迹传感器模块X2
高电平触发单路5V继电器模块X1
Proto Shield 原型扩展板(带mini面包板)X1

在这里插入图片描述
二、模块实验所需软件平台

代码编程 Arduino IDE (版本1.8.19)
仿真编程 Linkboy (版本V4.6.3)
图形编程 Mind+ (版本 V1.7.0 RC2.0)以及编玩边学(线上平台)

三、实验接线示意图

在这里插入图片描述
红外反射光电寻迹传感器模块的几个实验
1、程序一:红外反射光电寻迹传感器模块控制LED
(1)Arduino参考开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序一:红外反射光电寻迹传感器模块控制LED
*/

int ledPin = 13; //定义数字接口D13接LED
int pin = 2; //定义数字检测接口D2
int val;//定义变量

void setup() {
  pinMode(pin, INPUT);  // 红外寻迹连接引脚D2,并设置为输入模式
  pinMode(ledPin, OUTPUT); //设定数字接口13为输出接口
  Serial.begin(9600);//设置串口波特率为9600kbps
}

void loop() {
  val = digitalRead(pin); //读取数字接口的值
  Serial.println(val);//输出输出接口的值
  if (val == 1) //如果Pin2检测的值为高电平,点亮LED
  {
    digitalWrite(ledPin, LOW);
  }
  else          //如果为低电平熄灭LED
  {
    digitalWrite(ledPin, HIGH);
  }
}

(2)实验串口返回情况

在这里插入图片描述
(3)实验场景图

在这里插入图片描述

2、程序二:模块接到A0模拟口,串口波形,可以测量距离
(1)Arduino参考开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序二:模块接到A0模拟口,串口波形,可以测量距离
*/

int tcrt;

void setup() {
  pinMode(A0, INPUT);  // 模块连接引脚A0,并设置为输入模式
  pinMode(13, OUTPUT);
  Serial.begin(9600); // 设置串口波特率为9600
}

void loop(){
  tcrt = analogRead(A0);//读取寻迹传感器输出的值
  analogWrite(13, tcrt / 4);
  
  Serial.println(tcrt);
  delay(500);// 延时500毫秒
}

(2)实验串口返回情况

在这里插入图片描述
(3)打开Arduino IDE——工具——串口绘图器,查看实验波形

在这里插入图片描述
(4)实验串口绘图器返回情况(不同距离产生的波形)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【雕爷学编程】Arduino动手做(65)---TCRT5000红外寻迹传感器模块3 的相关文章

  • Arduino:将数据存储在 EEPROM 中的轻量级压缩算法

    我想将大量数据存储到我的 Arduino 上ATmega168 http www atmel com devices atmega168 aspx ATmega328 http www atmel com devices atmega328
  • PySerial 从 Arduino 读取线路的延迟

    我正在使用带有基本 DigitalReadSerial 设置的 arduino uno 如下所述 http arduino cc en Tutorial DigitalReadSerial http arduino cc en Tutori
  • 如何将值从 Arduino 发送到 Python,然后使用该值

    我正在构建一个使用 Python 进行远程控制的机器人 通过简单的 GUI 通过互联网发送控制消息 我的部分代码 GUI 和控制系统 运行得很好 但我陷入了困境 我正在尝试使用视差平传感器来获取与物体的距离信息Arduino Mega ht
  • DCF77 解码器与噪声信号

    我几乎完成了我的开源 DCF77 解码器项目 当我注意到标准 Arduino DCF77 库在噪声信号上表现非常差时 这一切就开始了 特别是当天线靠近计算机或洗衣机正在运行时 我永远无法从解码器中获取时间 我的第一个方法是向输入信号添加 数
  • 如何将 ASCII char 转换为其 ASCII int 值?

    我想将 char 转换为它的ASCII http en wikipedia org wiki ASCIIint 值 我可以用所有可能的值填充一个数组并与其进行比较 但这对我来说似乎不正确 我想要类似的东西 char mychar k pub
  • Android BLE 扫描与 UUID 过滤器列表混淆

    我正在 Android 移动设备 A 上执行 UUID 过滤扫描 并且有两个测试用例 一个人在另一台 Android 设备 移动设备 b 上使用名为 BLE Scanner 的应用程序来创建具有两个测试服务 每个服务都有自己唯一的 UUID
  • Arduino从SD卡读取最后一行

    我对 Arduino 业务还很陌生 如何从 SD 卡读取最后一行 通过以下代码片段 我可以读取第一行 n 之前的所有字符 现在我想添加一个 向后 声明 或其他内容 到目前为止我的代码 include
  • 是否有通用 I2C 命令来查看设备是否仍然存在于总线上?

    是否有通用的 I2C 命令来查看设备在初始化一次后是否仍然存在于总线上 例如 OLED 显示器 我问这个的原因是为了避免主程序由于库代码中存在无限循环而冻结 当设备断开连接时 例如 Wire 库 在 MCU 启动时 我想检查设备是否可用 并
  • HM10 ble改变特征值AT命令Arduino

    谁能帮我用AT命令写入特征值 或者如何使用Hm10模块将数据从arduino发送到另一个ble设备 HM10发送AT START后 会通告数据包 并且可以检测服务和特征 但特征值是默认的0x00 如何更改 多次检查数据表 但找不到能够执行相
  • 为什么使用 libnfc 和 PN532 SHIELD 时“找不到 NFC 设备”

    我在 ArchLinux 上安装了 libnfc 并通过我的 Adafruit PN532 arduino SHIELD 使用它 nfc list返回消息 未找到 NFC 设备 我在 etc nfc devices d pn532 conf
  • 将浮点数转换为字节数组的 C 函数

    我正在尝试创建一个函数来接受浮点变量并将其转换为字节数组 我找到了一段有效的代码片段 但如果可能的话 希望在函数中重用它 我也在使用 Arduino 环境 但我知道它接受大多数 C 语言 目前工作 float variable 1 11 b
  • 如何为 Arduino 或类似的微控制器编写 JavaScript 编译器? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我意识到这个问题会引起一些人的注意 并且我意识到 JavaScript 传统上是一种解释性语言 请让我解释一下 我是一名专门从事 We
  • 使用 Java 控制 Arduino

    我正在寻找一个LED http en wikipedia org wiki Light emitting diode用Java程序打开和关闭 我用 C 完成了这个项目大约 5 分钟 但用 Java 似乎更具挑战性 我让 Arduino 等待
  • 如何使用GSM模块SIM800和Arduino Uno发送短信?

    我正在尝试通过 SIM800 GSM 模块从 Arduino 发送短信 消息到达给定号码 但格式不正确 它显示 消息格式不支持 我在这里添加了我的代码 非常感谢您的快速回复 include
  • Arduino C++ 析构函数?

    我知道在Arduino中你不能使用delete 那么什么时候调用 C 类中定义的析构函数呢 同样 如果我想创建一个指向数组的指针 我必须使用malloc and free 当对象被销毁时 析构函数被调用 对于自动 堆栈上 变量 它在离开其作
  • 从 iBeacon 接收 BLE 信号到 Bluno(arduino with BLE)

    我想从 iBeacon 到 Bluno 接收 rssi 信号和 UUID Arduino 板具有 BLE 对此有一些疑问 有没有从 BLE 到 BLE 接收 UUID 和 rssi 的解决方案 两个BLE设备可以互相通信吗 我想找一些网站来
  • 当我启动程序时,Arduino IDE (Win10) 崩溃

    我的 Arduino IDE Win10 上的版本为 1 8 12 在启动时崩溃 运行arduino debug exe我收到此错误消息 C Program Files x86 Arduino gt arduino debug exe Se
  • 在链接时合并全局数组/从多个编译单元填充全局数组

    我想定义一系列的东西 比如事件处理程序 的内容 该数组在编译时是完全已知的 但定义在 多个编译单元 分布在多个库中 至少在最终 静态 链接之前是相当解耦的 我想要 也保持这种方式 因此添加或删除编译单元将 还可以自动管理事件处理程序 而无需
  • 如何使用基于HM-10蓝牙模块的BLE Shield?

    我是 arduino 项目的新手 我想请你帮忙 我从 http imall iteadstudio com development platform arduino shields im130704001 html http imall i
  • ESP32:dsb1820 温度传感器给出恒定的负 127 读数

    我正在尝试使用连接到 esp32 微控制器的单个 dsb1820 温度传感器来获取温度读数 传感器连接到 esp32 的 GPIO 4 我打算将温度读数发送到云端 我面临的问题是温度读数总是给出值 127 我在网上某处读到 当 dsb182

随机推荐

  • 开机出现文件windows root\system32\ntoskrnl.exe的另类解决办法

    一般的复制文件方法就不说了 我的这个是因为拷贝ntoskrnl exe还提示错误的解决办法 发生这种问 题主要可能有以下原因 Boot ini 文件的 Boot Loader 部分中的 Default 值丢失或无效 Ntoskrnl exe
  • JavaScript之变量和类型

    变量和类型 用处 1 让代码可以重复使用 重用性 2 修改代码方便 灵活 灵活性 1 上面 i love you 要写4次 2 把 love 改成 hate 要写4次 改成使用变量
  • 解决Windows因D3DCompiler_47.dll文件找不到等问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或者损坏了 这时你只需下载这个D3DCompiler 47 dll文件进行安装
  • 基于RBAC模型的权限设计思路

    一 RBAC模型 进行设计前 最好能够理解技术模型 在业界接受度较高的功能权限模型是RBAC Role Based Access Control 模型 其基本理念是将 角色 这个概念赋予用户 在系统中用户与权限之间通过角色进行关联 以这样的
  • 解决: 0x803f7001 在运行Microsoft Windows 非核心版本的计算机上,运行“ slui.exe 0x2a 0x803f7001 “以显示错误文本,激活win10步骤流程。

    一 解决 0x803F7001在运行Microsoft Windows非核心版本的计算机错误 首先 按下win R打开 运行 输入 regedit 后回车 打开注册表 然后再注册表下输入地址HKEY LOCAL MACHINE SOFTWA
  • 有计算机考试励志的文案,抖音冲刺高考励志文案

    不知不觉就是2021年的高考了 其实高考也没有什么可怕的 保证心态好 就可能考出比平时更好的成绩 冲刺高考励志句子怎么写有哪些你知道吗 今天小编在这给大家整理了一些关于冲刺高考励志句子 我们一起来看看吧 冲刺高考励志句子 1 再苦再难 也要
  • js 中map()方法和reduce()方法

    js中的map是映射的意思 即原数组被映射成新的数组 而这个数组是由原数组中的每个元素调用一个特定的方法返回值组成的新数组 比如 首先定义一个方法F 然后map F 那么执行结果就是所有输入的值执行完F这个方法后产生的新数组 注意 map
  • Java加密技术(三)——PBE算法

    除了DES 我们还知道有DESede TripleDES 就是3DES AES Blowfish RC2 RC4 ARCFOUR 等多种对称加密方式 其实现方式大同小异 这里介绍对称加密的另一个算法 PBE PBE PBE Password
  • win10专业版激活(cmd方式)

    转载于 https www cnblogs com bug baba p 11225322 html
  • VBS基础篇 - 条件语句(1) - If...Then...Else

    转自http www cnblogs com sirrah articles 2349078 html 使用条件语句和循环语句可以控制脚本的流程 使用条件语句可以编写进行判断和重复操作的 VBScript 代码 在 VBScript 中可使
  • 法如X330扫描仪在行业内的使用性

    3D扫描仪是一种用于捕捉实物三维模型的设备 通常通过激光 光线 摄像头等技术获取物体表面的点云数据 并将其转换成可编辑的三维模型 扫描仪的操作流程 1 准备工作 首先需要确定需要扫描的物体的大小 形状和材质 根据物体大小选择适当的扫描仪型号
  • 每天学命令

    report timing clock from edge from lead trail clock to clk signame list edge to lead trail rise fall early late hpin che
  • 【webrtc】音频采集-链接错误总结

    在集成webrtc的过程中 大量使用了directshow 大量的链接失败 而lib库又不好找 花费了大量时间 分享出来 共同学习 1 wmcodecdspuuid lib 1 gt audio device lib audio devic
  • 分析如何计算TVS管的功率?

    常见的汽车电源部分的原理图 分别是防反接模块和LDO模块 我们的客户要求ISO7637 2脉冲5为40V 400ms 内阻2欧姆 我开始时用的SMBJ20CA 结果TVS管被烧毁 后改成SMBJ36CA 现在可以过ISO7637 2脉冲5
  • TCP通信流程解析

    B S通信简述 整个计算机网络的实现体现为协议的实现 TCP IP协议是Internet的核心协议 HTTP协议是比TCP更高层次的应用层协议 HTTP HyperText Transfer Protocol 超文本传输协议 是互联网上应用
  • java变量的种类及作用域

    1 变量 在软件系统中 是将数据存储在内存之中的 而对内存中的数据的引用就是变量 可以理解为变量就是内存中数据的代词 简单说 变量就是指代在内存中开辟的存储空间 用于存放运算过程中需要用到的数据 代码如下所示 1 int a 5 2 int
  • 机器学习第九章树回归

    文章目录 引言 9 1复杂数据的局部性建模 9 2连续和离散型特征的树的构建 9 3将CART算法用于回归 9 3 1构建树 9 4树剪枝 9 4 1预剪枝 9 4 2后剪枝 9 5模型树 9 6小结 引言 上一章的线性回归包含了一些强大的
  • 安装程序无法验证产品密钥解决方案

    加载镜像 运行sources setup exe安装
  • dwz+struts+ajax,DWZ富客户端框架(dwzjs)结合struts2的增改删查

    DWZ是实用的国产JQuery UI框架 个人感觉比较好用 他和服务器端主要通过Ajax方式交互 数据格式为json 服务器响应数据代码示例 statusCode 200 message 操 DWZ是实用的国产JQuery UI框架 个人感
  • 【雕爷学编程】Arduino动手做(65)---TCRT5000红外寻迹传感器模块3

    37款传感器与模块的提法 在网络上广泛流传 其实Arduino能够兼容的传感器模块肯定是不止37种的 鉴于本人手头积累了一些传感器和执行器模块 依照实践出真知 一定要动手做 的理念 以学习和交流为目的 这里准备逐一动手试试多做实验 不管成功