线跟随小车是一种跟随线的机器,它可以是黑线或白线,线路跟随器感应到线路并越过它。在此项目中,如果感应到白线,会往白线的一侧转弯,直到没有感应到白线,再继续前进。

线跟随小车的原理

线跟随器的概念与光有关,当光线落在白色表面上时,它几乎会被完全反射,而在黑色表面的情况下,光线会被黑色表面吸收。这种光的行为被用于这个线跟随小车。

在这个线跟随小车项目中,我们使用了红外发射器和红外接收器,也称为光电二极管来发送和接收光。

IR Tx 发射红外光,当红外线落在白色表面时,它被反射回来被光电二极管捕获并产生一些电压变化。

当红外光落在黑色表面上时,光线被黑色表面吸收而不是反射回来,因此光电二极管没有接收到任何光线。

在此线跟随小车中,当传感器感应到白色表面时,微控制器将 0 作为输入,当感应到黑线时,微控制器将 1 作为输入。

电路设计说明

我们可以整个线跟随小车系统分为传感器部分、控制部分和驱动部分等多个部分。

传感器部分: 此部分包含 IR 二极管、电位器、比较器(运算放大器)和 LED。电位器用于设置比较器一端的参考电压,IR 传感器感应线路并在比较器的第二端提供电压变化。然后比较器比较两个电压并在输出端生成数字信号,送入8051单片机。

控制部分: 8051单片机作为控制线跟随小车的核心控制。比较器的输出连接到 8051 的引脚号 P0.0 和 P0.1。8051 读取这些信号并将命令发送到驱动电路以驱动马达做出相应动作。

驱动部分: 驱动部分由电机驱动器和两个直流电机组成。电机驱动器用于驱动电机,因为微控制器无法为电机提供足够的电压和电流。所以我们添加了一个电机驱动电路来满足电机的电压和电流。微控制器向该电机驱动器发送命令,进而驱动电机。

8051 线跟随小车的工作过程

线跟随小车通过传感器感知白线,向微控制器发送信号,然后微控制器根据传感器的输入信号来驱动电机。

在这个项目中,我们使用了两个红外传感器对(一个发送一个接收)。左右传感器都没有感应到任何东西或是黑线,即是红外接收端没有变化,小车向前直线移动。

当左侧传感器感应到白线时,小车向左转弯。

当右侧传感器感应到白线时,小车转向右侧,直到两个传感器都在黑线或没有感应到任何东西。

当两个传感器都感应到白线时,小车停止。

基于 8051 的线路跟随器小车电路

该电路非常简单。比较器(这里LM358 用作比较器)的输出直接连接到微控制器的引脚号 P0.0 和 P0.1。电机驱动器的输入引脚 2、7、10 和 15 分别连接在单片机引脚 P2.3、P2.2、P2.1 和 P2.4 处。一个电机连接在电机驱动器 3 和 6 的输出引脚上,另一个电机连接在 11 和 14 上。

编程说明

在程序中,我们首先定义输入和输出引脚。然后在 main 函数中,我们检查输入并根据输入将输出发送到驱动电路以驱动电机。

小车有四个状态。我们使用了两个传感器,即左传感器和右传感器。

// C 程序#include<reg51.h>sbit ls=P0^0;
sbit rs=P0^1;#define motor P2
#define forward 0x06
#define turn_left 0x82
#define turn_right 0x14
#define stop 0x00void main()
{motor=stop;while(1){if(ls && rs)motor=forward;else if(!ls && rs)motor=turn_left;else if(ls && !rs)motor=turn_right;elsemotor=stop;}
}

基于 8051单片机的线跟随小车相关推荐

  1. 51单片机小车的立项书_毕业论文:基于51单片机智能避障小车的设计报告(范文1)...

    <毕业论文:基于51单片机智能避障小车的设计报告.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文:基于51单片机智能避障小车的设计报告>相关文档资源请在帮帮文库(ww ...

  2. 最简单DIY基于STM32单片机的WIFI智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...

  3. 最简单DIY基于STM32单片机的蓝牙智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 文章目录 STM32库函数开发系列文 ...

  4. 基于51单片机制作的蓝牙小车

    基于51单片机制作的蓝牙小车 这是本人(小菜鸡一枚)于大一寒假所做的小玩意,以展现我这几月所学,这也是我发的第一篇博客,准确来说这可能是我搞51单片机的巅峰所做了,因为部长说以后要学stm32开发板了 ...

  5. 基于arduino单片机智能避障小车

    基于arduino单片机智能避障小车 思路简介 本文简要介绍了基于arduino单片机智能小车可以通过手机端蓝牙助手对其进行遥控操作'可以切换手动操作和自动避障两个模式,避障基于蝙蝠超声波测距的原理, ...

  6. 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]

    /***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...

  7. 基于51单片机的电动智能小车(完整论文)

    基于51单片机的电动智能小车(完整论文): 摘 要 80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评.这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计 ...

  8. 基于51单片机的无线遥控小车

    基于51单片机的无线遥控小车 材料:STC89C51(1个).nrf2401(2个).L298N(2个).小车底盘.18650(4个).按键若干.蜂鸣器 功能:前进.后退.左转.右转.鸣笛. 程序请移 ...

  9. 单片机8位数码管时钟c语言汇编,基于8051单片机和DS12C8878位数码管显示的时钟.docx...

    基于8051单片机和DS12C8878位数码管显示的时钟 #include #include #define sec XBYTE[0xed00]//秒寄存器地址 #define min XBYTE[0 ...

最新文章

  1. 【Python】if else 一行写完
  2. linux 定时器和sleep,linux中sleep函数的使用和总结
  3. python小游戏代码_20行python代码的入门级小游戏
  4. 学生电脑哪个牌子好_常亮补光灯哪个牌子好服务至上
  5. 【机器学习-西瓜书】六、支持向量机:核技巧;软间隔;惩罚因子C;松弛变量
  6. linux xampp图形界面,linux下安装xampp,XAMPP目录结构
  7. Sprin boot 加载位置顺序
  8. 2015 ACM/ICPC Asia Regional Shenyang Online题解
  9. python 类初始化函数_C类初始化函数
  10. 使用 CleanWipe 解决Symantec Endpoint Protection卸载需要密码问题
  11. 3年才能驾驭新技术,不如试试这个低代码魔方
  12. 代码随想录第十天 LeetCode 232、225(栈,队列)
  13. 异常:java.lang.ArithmeticException
  14. 测试oschina
  15. jqgrid 加载mysql数据_利用jqgrid+加mysql的text类型实现简单自定义数据模型
  16. 分体式降噪耳机有哪些?高配置分体式降噪耳机排行榜
  17. 解释一下java的短路运算,Java短路运算符和非短路运算符详解
  18. 日历小程序C语言,小程序日历功能实现
  19. 走格子(数学组合/动态规划)
  20. linux arp代理配置,在Linux上用arptables配置arp防火墙

热门文章

  1. PHP对接美团配送接口遇到的问题
  2. 【C语言】——计算单词个数
  3. Python爬虫入门教程 62-100 30岁了,想找点文献提高自己,还被反爬了,Python搞起,反爬第2篇
  4. ZETag云标签是什么?如何实现贵重包裹跟踪、供应链数字化
  5. PyQt:桌面程序设计的饕餮盛宴
  6. Spring boot + Sharding JDBC 分库分表 及 分布式事务处理
  7. 用微PE工具箱安装系统
  8. 前端开发需要学习什么?
  9. 考研高数——积分中值定理证明
  10. 我的世界android官方版,我的世界Minecraft中国版官方网站——你想玩的,这里都有...