我们先来讨论智能小车的各个模块:

1.电机驱动

2.寻迹传感器

它具有四个引脚,分别是:VCC  GND  D0  A0,我们只需要用到三个引脚,AO不需要使用。一般智能小车上我们是安装两个,左边一个右边一个。

原理:

1.利用黑色对光线的反射率小这个特点,当平面的颜色不是黑色时,反射器发射出去的红外光被大部分反射回来。于是传感器输出低电平0。
2.当平面中有一条黑线,传感器在黑线上方时,因黑色的反射能力很弱,反射的红外光很少,打不到传感器动作的水平,所以传感器输出1。

所以当探头经过黑线时,传感器上的开关指示灯会熄灭,输出的是高电平。如果没有经过黑线,一直保持低电平。

3.红外传感器

它具有三个引脚,分别是:VCC  GND  OUT

有障碍物灯就会亮,所以有障碍物代表低电平,没有障碍物高电平。

代码实现过程:

我没有将寻轨和避障合并实现,而是分别调试的。

#include <reg51.h>sbit IN1=P0^0;  //电机驱动模块引脚
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
sbit Left_led=P0^4;  //寻轨模块引脚
sbit Right_led=P0^5;sbit Left_bizhang=P0^6;//避障模块引脚
sbit Right_bizhang=P0^7;unsigned char pwm_val=0;//变量定义,每次加1
unsigned char push_val=0;//栈空比N/10//延时函数
void delay(unsigned int k)
{unsigned int x,y;for(x=0;x<k;x++){for(y=0;y<2000;y++);}
}//前进
void run(void)
{push_val=3;IN1=1;IN2=0;IN3=1;IN4=0;
}//后退
void backrun(void)
{IN1=0;IN2=1;IN3=0;IN4=1;
}//左转
void leftrun(void)
{IN1=0;IN2=0;IN3=1;IN4=0;
}//右转
void rightrun(void)
{IN1=1;IN2=0;IN3=0;IN4=0;
}//点击停止转动
void stop(void)
{IN1=0;IN2=0;IN3=0;IN4=0;
}void pwm_out_moto(void)
{if(pwm_val <= push_val){run();}else{stop();}if(pwm_val>=10)pwm_val=0;
}void timer0()interrupt 1 using 2
{TH0=0xFC;TL0=0x18;pwm_val++;pwm_out_moto();}
void main(void)
{P1=0x00;TMOD=0x01;TH0=0xFC;//定时1msTL0=0x18;TR0=1; EA=1;while(1){run();/*if(Left_led==0&&Right_led==0){ET0=1;run();}else{if(Left_led==0&&Right_led==1){rightrun();}if(Right_led==0&&Left_led==1){leftrun();}}*/if(Left_bizhang==1&&Right_bizhang==1){run();}else{if(Left_bizhang==1&&Right_bizhang==0){backrun();delay(50);leftrun();delay(100);}if(Left_bizhang==0&&Right_bizhang==1){backrun();delay(50);rightrun();delay(100);}}}
}

51单片机实现智能小车的寻轨避障功能相关推荐

  1. 基于51单片机的智能小车(寻迹功能)

    题目:基于C52的智能小车设计与制作 1设计目的 通过构建智能小车,培养设计并实现自动控制系统的能力,在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测,驱动和显示等外围电路,采用智能控制算法实 ...

  2. 循迹智能小车c语言主程序,智能小车循迹、避障、红外遥控C语言代码

    <智能小车循迹.避障.红外遥控C语言代码>由会员分享,可在线阅读,更多相关<智能小车循迹.避障.红外遥控C语言代码(13页珍藏版)>请在人人文库网上搜索. 1.智能小车避障.循 ...

  3. 基于51单片机的扫地小车,扫地机器人设计 主要功能有寻迹避障,来回清扫功能,往返清扫功能

    基于51单片机的扫地小车,扫地机器人设计. 有原理图,程序代码,原文. 可做实物. 主要功能有寻迹避障,来回清扫功能,往返清扫功能. YID:3350665853241481南唐开心的卷柏

  4. 51单片机之智能小车(避障、跟随、循迹)

    目录 基本概述 硬件组成 功能 关键字 模块介绍 电机模块L9110S 循迹模块(TCRT5000传感器) 红外避障模块 测速模块 小车 移动小车(控制电机转动,使小车前进.后退.左转.右转 ) 遥控 ...

  5. stm32项目_stm32f103c8t6项目_循迹避障小车完整制作过程_智能小车设计_STM32智能小车教程-循迹-避障-蓝牙遥控-跟随

    [硬件] 元件选型 照片上传出问题了,改天补上,着急的可以看视频 视频链接在这里 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sKjJGMXv-16463139639 ...

  6. 基于STM32F103单片机的智能扫地机器人 循迹避障车 原理图PCB设计

    系统功能设计 (末尾附文件) 本系统由STM32F103C8T6单片机核心板.2路红外避障模块.2路按键.风扇驱动.电机驱动.升压模块.锂电池充电模块及电池盒供电组成. 1.按下启动按键后,小车启动, ...

  7. 基于51单片机的智能小车系统设计

    原理图: 程序运行图: 部分程序: /******************************************************************************* * ...

  8. 遥控汽车的编程c语言,智能小车循迹、避障、红外遥控C语言代码.docx

    //智能小车避障.循迹.红外遥控C语言代码 // 实现功能有超声波避障, 红外遥控智能小车, 红外传感器实现小车自动循迹, 1602 显示小 车的工作状态,另有三个独立按键分别控制三种状态的转换 // ...

  9. 初学51单片机制作智能小车心得

    因为以下个别错误对于刚开始接触51智能车的我来说,浪费了不少时间在这些上面,有时候人都快崩溃了

最新文章

  1. linux+任务默认优先级,uclinux内核的任务优先级及其load_weight
  2. 关于PHP.ini文件的设定
  3. c语言实现椭圆曲线算法,椭圆曲线加密算法的C语言设计和实现
  4. 企业推广OA信息化三大法宝
  5. cannot import name filter
  6. 教小学妹学算法:诺基亚引出的动态规划问题
  7. ava返回json格式的状态码数据(一)
  8. 深入理解 JVM Class文件格式(四)
  9. 【ES11(2020)】String 扩展 String.prototype.matchAll()
  10. 高性能时空计算机应用,中国工程物理研究院计算机应用技术怎么样
  11. Windows 下 FTP的搭建
  12. tolua错误大全-Chinar出品-几乎可为新手解决所有报错情景
  13. 企业微信开发整理汇总
  14. 革新OCR结构化技术应用,揭秘百度中英文OCR结构化模型StrucTexT预训练模型
  15. sigil 查找替换_使用Sigil提高ePub电子书的质量
  16. 基于ssm小说阅读安卓APP项目
  17. 如何通过线性回归预测股票价格?
  18. CF1578F Framing Pictures 旋转卡壳+积分
  19. 阜阳的热带鱼水族店有哪些(照片)
  20. 本地项目如何被外网访问(外网穿透工具一——natapp)

热门文章

  1. 怎么做食品安全教育培训主题班会PPT课件?
  2. s6 edge编译android,不痛不痒 Galaxy S6 edge升级Android 5.1.1体验
  3. 秀米SVG点击图片换图
  4. 本地rdm连接服务器redis
  5. 【动画展示】Focusky教程 | 屏幕录制功能教程
  6. Python算法练习(五)// 算法:KMeans,数据集:标准普尔500指数
  7. 《姜子牙》《哪吒》连连看
  8. 亚信前端实习生面试记录
  9. 微软的人工智能 Copilot 到底有多强大?带你来体验一下
  10. [备忘]Word实现公式居中/左对齐、编号右对齐