智能循迹避障小车C语言程序编写思路,设计一个循迹避障一体的智能小车的资料和代码及电路图详细概述...
一) 小车功能实现描述
利用光电传感(红外对射管,红外发射与接收二极管组成)检测黑白线,实现小车能跟着白线(或黑线)行走,同时也可避开障碍物,即小车寻迹过程中,若遇障碍物可自行绕开,绕开后继续寻迹。
二) 电路详细分析
1. 光电传感
循迹光电传感器原理,利用黑白线对红外线不同的反射能力。然后通过光敏二极管或光敏三极管,接收反射回的不同光强信号,把不同光强转换为电流信号,最后通过电阻,转换为单片机可识别的高低电平。光电传感器实现循迹的基本电路如下图所示
循迹传感器基本电路
电路解释:TC端是传感器工作控制端,为高电平时,发光二极管不工作,传感器休眠,为低电平时,传感器启动。Signal端为检测信号输出,当遇到黑线,黑线吸收大量的红外线,反射的红外线很弱,光敏三极管不导通,signal输出高电平,当遇到白线,与黑线相反,反射的红外线很强,使光敏三极管导通,signal输出低电平。
寻迹部分
调整左右传感器之间的距离,两探头距离约等于白线宽度最合适,一般白线宽度选择范围为3 – 5 厘米比较合适。注意:该传感器的灵敏度是可调的,偶尔传感器遇到白线却不能送出相应的信号,通过调节传感器上的可调电阻,适当的增大或减小灵敏度。另外,循迹传感器的安放也算是比较有讲究的,有两种方法,一种是两个都是放置在白线内侧但紧贴白线边缘,第二种是都放置在白线的外侧,同样紧贴白线边缘。我们通常采用第二种方法。
编写程序使小车遇白线时,小车跟着白线走。当小车先前前进时,如果向左偏离了白线。那么右边传感器会产生一个低电平,单片机判断这个信号,然后向右拐。回到白线后。两传感器输出信号为高电平。小车前进。如果小车向右偏离白线,左边传感器产生一个低电平,单片机判断这个信号,然后向左拐。如此如此,小车必不偏离白线。若小车的两对光电传感器同时输出的信号为高电平(黑底)或低电平(白底),即单片机判断的都为高电平或低电平,小车向前直走,在此过程中(直走)小车若遇白线,小车又重复上面动作跟着白线走。
智能循迹避障小车C语言程序编写思路,设计一个循迹避障一体的智能小车的资料和代码及电路图详细概述...相关推荐
- 智能循迹避障小车C语言程序编写思路,基于单片机的智能小车红外避障循迹系统设计与制作...
余秀玲 余秀娟 摘 要:随着科技的高速发展,人们对生活质量的要求越来越高,无人驾驶汽车已经被广为研发和试用,由此智能小车的快速发展也是在情理之中.通过对基于单片机的智能小车的硬件及软件设计分析,实现红 ...
- 60秒倒计时器 秒表 c语言程序,用单片机设计一个两位LED显示的秒表,按下计时键时,进行60s倒计时显示...
满意答案 w86586tk3y 2017.09.25 采纳率:57% 等级:8 已帮助:214人 #include sbit P3_5 =P3^5; unsigned char code dis ...
- pwm调速c语言,PWM调速的C语言程序编写
<PWM调速的C语言程序编写>由会员分享,可在线阅读,更多相关<PWM调速的C语言程序编写(6页珍藏版)>请在人人文库网上搜索. 1.PWM调速的C语言程序编写关于PWM的原理 ...
- 在c语言中pwm的作用,PWM调速的C语言程序编写(非常简单);
<PWM调速的C语言程序编写(非常简单);>由会员分享,可在线阅读,更多相关<PWM调速的C语言程序编写(非常简单);(4页珍藏版)>请在人人文库网上搜索. 1.PWM调速的C ...
- c语言基础程序设计报告,c语言程序设计基础课程设计报告.doc
c语言程序设计基础课程设计报告.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: C 语言程序 ...
- Ubuntu下C语言程序编写与运行
Ubuntu下C语言程序编写与运行 安装Ubuntu Ubuntu系统下C程序编写与运行 VC6.0下编译C程序 在Ubuntu下用Makefile方式编程主程序 安装Ubuntu 在Windows环 ...
- 第一个C语言程序编写
第一个C语言程序 #include<stdio.h>//头文件 int main()//主函数,任意一个C程序中必须有且只有一个主函数,是程序的入口函数 {printf("hel ...
- 奇数魔方阵c语言程序设计,《C语言程序》课程设计报告书魔方阵程序设计
<<C语言程序>课程设计报告书魔方阵程序设计>由会员分享,可在线阅读,更多相关<<C语言程序>课程设计报告书魔方阵程序设计(17页珍藏版)>请在人人文库 ...
- Linux下C语言程序编写及执行和分步骤编译链接C源代码
实验一:Linux下C语言程序编写及执行 //hello.c #include <stdio.h> int main(){int x = 1;int y = 2;int sum = x + ...
最新文章
- javascript 判断 前端 是 pc端 还是 移动端
- CTO集体怒吼:我到底要不要继续写代码(上篇)
- android 无法安装测试版本,在测试应用更新时,安装无提示阻止Android版本构建签名APK...
- Codeforces Round #477 (rated, Div. 2, based on VK Cup 2018 Round 3)
- [codevs3044][POJ1151]矩形面积求并
- python 队列 锁_python-day31(同步锁,队列)
- 教程之怎样清理mac系统垃圾
- Bit-Z 项目评审中心开启首次投票币竞选
- 俄罗斯方块之四 运动块的绘制实现
- 万能门店小程序_超市门店微信小程序注册流程
- 1051 复数乘法(PAT乙级 C++)
- 實驗項目wordcount
- 【秀米教程4】秀米推文上传到微信公众号后台
- linux 安装SopCast实现在线直播(2)
- 小白教程系列——C盘满了,将C盘扩容
- word/excel 通配符
- 计算机术语IP,什么是ip?网络ip和网络用语IP的含义!
- [转]OKR结合CFR的管理模式
- 最新小程序反编译详细教程,亲测可用
- mysql---创建学生表
热门文章
- dell 服务器 加ssd硬盘,DELL服务器加SSD硬盘.doc
- php如何做熔断降级,spring cloud 如何实现服务熔断服务降级
- 修改电脑开机时间记录6005_这些优化步骤,让你的电脑远离卡顿!
- 如何将本地项目发布到gitee?
- 双鉴探测器是哪两种探测方式结合_火灾探测器、手动火灾探测器和自动火灾报警分类...
- java实现递归下降分析_使用递归实现检查未知层级目录中的文件-Java实用技能
- php引入路径配置,require.js的路径配置和css的引入方法详解
- python复制文件夹到另一个目录_【python】复制文件到另一个相同目录的文件夹中...
- android编译.a文件,Android 7.1源码编译导入AS完整教程
- python脚本忽略MySQLdb的warnings