智能小车红外循迹原理

news2024/9/20 18:49:48

循迹电路

循迹电路由收发一体的红外收发管P1,P2;电位器R18,R29;发光二极管D6,D7和芯片LM324等组成。一共有两路,对应的红外电位器用于调节灵敏度。LM234用于信号的比较,并产生比较结果输出给单片机进行处理。

智能小车循迹运动的原理如下。红外光线具有反射特性,但对不同颜色的物体反射量是不一样的。对白色物体,红外光线的放射量就会多一点,红外收发管的电压输出就会高一点;而对黑色物体,红外反射量大量减少,红外收发管的电压输出也低。红外收发管的输出电压信号输入到LM324与电位器的电压输出进行比较(这个电压的大小可以通过调节电位器来调整)。这样,我们只要将电位器调节到合适的范围,就可以使红外收发管对着白色物体时LM324输出低电平,对应发光二极管亮;红外收发管对着黑色物体时LM324输出高电平,对应发光二极管灭。单片机根据LM324输出的电平状态,就能实时判断智能小车是否沿着黑色轨迹运动,如果智能小车是沿着黑色轨迹运动,红外收发管接收的是白色(地板)反光,LM324输出的是低电平;如果智能小车是跑偏了,红外收发管接收的是黑色(轨迹线)反光,LM324输出的是高电平。单片机根据这一信号判断智能小车的运动状态,及时对智能小车的前进方向作出调整。

循迹电路调节

电位器R18左红外信号强度调节---顺时钟调节电位器是增加灵敏度,反时钟调节电位器是减少灵敏度。没有接收到红外反射信号时,发光二极管D6不亮;接收到红外反射信号时,发光二极管D6亮。

电位器R29右红外信号强度调节---顺时钟调节电位器是增加灵敏度,反时钟调节电位器是减少灵敏度。没有接收到红外反射信号时,发光二极管D7不亮,接收到红外反射信号时,发光二极管D7亮。

调试注意事项:

调试时不要对着强光,建议在室内调试(最好和实验环境一致)。环境光线对红外线反射的检测有较大的影响,这是由红外线本身的特性决定的。调节电位器时,要缓慢,细致。调试时保持电池电量的稳定。

智能小车红外循迹运动程序源代码

//有信号为0 没有信号为1

if((left_led== 0) && (right_led == 0))

{forward();} //调用前进函数

elseif((left_led == 1) && (right_led == 1))

{forward();}

else

{

if((left_led == 1) && (right_led ==0)) //左边检测到黑线

{

delay(2,2);

if((left_led == 1) &&(right_led == 0))

{left_turn();} //调用小车左转函数

}

if((right_led == 1) && (left_led ==0)) //右边检测到黑线

{

delay(2,2);

if((right_led == 1) && (left_led ==0)) //右边检测到黑线

{right_turn();} //调用小车右转函数

}

}

当left_led= 0和right_led = 0,表明是由白色的物体(地面)反射红外线、黑色的轨迹线处于两个红外收发管的中间(智能小车没有跑偏),这时智能小车继续前行。

当left_led= 1和right_led = 0,表明左边红外收发管检测到黑线,右边红外收发管检测到白色的物体(地面)。这时智能小车是右偏了,程序就控制智能小车左转进行调节。

当right_led = 1和left_led = 0,表明右边红外收发管检测到黑线,左边红外收发管检测到白色的物体(地面)。这时智能小车是左偏了,程序就控制智能小车右转进行调节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL8.0 optimizer_switch变化

Optimizer_switch变量是支持对优化器行为的控制。是一组值标志,每个标志都有一个on或off的值,以指示是否启用或禁用相应的行为。 MySQL8.0里除了熟悉的hash join重大变化之外,其他方面也有优化。 mysql> SHOW VARIABLES LIKE OPTIMIZER_…

14 基数排序(桶排序)

文章目录1 基数排序基本思想2 基数排序的代码实现2.1 java2.2 scala3 基数排序总结1 基数排序基本思想 1) 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort&#…

【Python】循环语句(while,for)、运算符、字符串格式化

一、while循环Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:while 判断条件(condition):执行语句(statements)执行语句可以是单个语句或语句…

Git、小乌龟、Gitee的概述与安装应用超详细(组长与组员多人开发版本)

目录 一、概述 1.什么是Git? 2.Git历史来源 3.Git的优点? 4.什么是版本控制? 5.版本控制工具种类? 6.Git工作机制 7.Git、小乌龟、Gitee、凭据管理器的简单介绍 二、Git下载安装 下载Git 安装Git 安装完成后查看版本 三、下载小…

防水蓝牙耳机评测,值得入手的四款蓝牙耳机分享

提到蓝牙耳机,大家第一反应是音质跟佩戴舒适度要好,其实除了这两个功能,还有就是防水性能不能少,而且防水等级越高,耳机寿命也就越长,那么,我们该如何 选购一款好用的蓝牙耳机呢?下面…

Echarts 配置横轴竖轴指示线,更换颜色、线型和大小

第018个点击查看专栏目录本示例是描述如何在Echarts上配置横轴竖轴指示线,更换颜色、线型和大小。方法很简单,参考示例源代码。 文章目录示例效果示例源代码(共85行)相关资料参考专栏介绍示例效果 示例源代码(共85行&a…

数据的TCP分段和IP分片

本文简述下TCP分段和IP分片的区别与联系。 我们知道,用户空间的数据拷贝到内核空间的TCP发送缓冲区(这个是一个结构体,叫sk_buffer,简称skb)后就由内核网络协议栈做后续的封装和发送处理了,用户无需考虑下…

【Node.js】开发自己的包!

造包开发自己的包!初始化包的基本结构页面使用根据需要也可以将模块化拆分编写包的说明文档发布包把包发布在npm上删除已发布的包模块的加载机制内置模块的加载机制自定义模块的加载机制第三方模块的加载机制当目录作为模块时的加载机制开发自己的包! 初…

3|射频识别技术|第二讲:RFID系统的组成与工作原理|批注·上

https://blog.csdn.net/m0_57656758/article/details/128153964?spm1001.2014.3001.5501我国用无线射频识别技术实现药品管理的市场还是空白其运用具有较大的市场空间。药品运输及存储环境监控药品有效期监控提升用药安全策略血液制剂监控特殊、违禁药品监控商品价格监控药品生…

【Flutter】入门Dart语言:简单易懂的变量指南

文章目录一、概述二、详解1. 变量的声明2. 常量变量3.late 延迟初始化变量4. 变量的命名规则三、总结一、概述 “不抱有希望的人生是毫无意义的。” —— 阿卜杜勒阿齐兹 Dart中的变量是存储值的容器。它们可以是数字、字符串、布尔值或其他数据类型。变量在定义时必须指定类型…

网络原理 (1)

网络原理 文章目录1. 前言: 2. 应用层2.1 XML2.2 json2.3 protobuffer3. 传输层3.1 UDP3.1 TCP4. TCP 内部的工作机制 (重点)1. 确认应答 2.超时重传3. 连接管理3.1 建立联系 :三次握手3.2 断开连接 : 四次挥手4. 滑动窗口5. 流量…

长按power键,点击重启按钮,系统重启流程一

1.有可能会涉及到如下文件 2.文件流程

Spring基础总结(上)

Spring基础总结(上) 1. Spring 如何创建一个 Bean 对象 通过调用对象的无参构造方法创建一个新对象,然后通过依赖注入得到bean对象(默认单例)依赖注入这一步对新对象中添加了 Autowired 或者Resource 等注解的属性赋值,得到 Bean 对象,如下…

openOffice pdf.js spring boot 微信在线预览office pdf文件

下载openoffice 并安装//pdf.js 案例 https://mozilla.github.io/pdf.js/examples/index.html#interactive-examples//openoffice 连接不上 进入安装目录 cmd 运行以下命令 soffice -headless -accept"socket,host127.0.0.1,port8100;urp;" -nofirststartwizard<!…

技术管理之产品管理

一、产品相关概念 1.1 产品的定义 作为商品提供给市场&#xff0c;被人们使用和消费&#xff0c;并能满足人们某种需求的任何东西&#xff0c;包括有形的物品和无形的服务、组织、观念或者它们的组合&#xff1b;简单点产品就是解决某一类问题的东西。 1.2 产品思维 产品思…

安全研发人员能力模型窥探

能力 是一个比较抽象的概念&#xff0c;不同的行业、管理者、研发人员对能力的认知都会有差异。另外&#xff0c;作为研发团队的相应的职级定级、绩效考核的基础&#xff0c;一个“大家普遍认可”的能力的模型是非常重要的。这是比职级模型更高层的一个基本模型&#xff0c;所谓…

漏洞之S2-048 远程代码执行漏洞(CVE-2017-9791)

一、漏洞详情二、环境搭建1、使用vulhub搭建&#xff0c;搭建方法详见&#xff1a;https://blog.csdn.net/qq_32393893/article/details/129027549?spm1001.2014.3001.55012、切换到vulhub/struts2/s2-0483、启动容器 docker-compose up -d4、访问虚拟机IP:8080端口&#xff0…

智能家居项目(三)之框架设计及框架代码文件工程建立

目录 一、智能家居项目框架设计草图 二、框架代码文件工程建立 三、添加声音识别模块的串口读取功能 一、智能家居项目框架设计草图 代码思路讲解&#xff1a; 1、一个指令工厂&#xff0c;一个控制工厂&#xff0c;实际上就是通过链表链起来的数据。具体怎么链接起来&…

dockerfile自定义镜像安装jdk8,nginx,后端jar包和前端静态文件,并启动容器访问

dockerfile自定义镜像安装jdk8,nginx,后端jar包和前端静态文件&#xff0c;并启动容器访问简介centos7系统里面我准备的服务如下:5gsignplay-web静态文件内容如下:nginx.conf配置文件内容如下:Dockerfile内容如下:run.sh启动脚本内容如下:制作镜像并启动访问简介 通过用docker…

将SpringBoot项目部署到云服务器上面

将jar包部署到云服务器上面在项目中直接双击点击maven里面的package当控制台输出创建成功以后找到target目录下面打好的jar包然后找到jar包所在的文件目录&#xff0c;将该jar包放到服务器里面的apache-tomcat-8.5.82目录里面的webapps目录里面打开安全组开放访问端口服务器里面…