找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 16392|回复: 12
打印 上一主题 下一主题
收起左侧

单片机循迹小车制作程序+原理图文件分享

  [复制链接]
跳转到指定楼层
楼主
      该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制。
   本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块。其中采用AT89C52作为单片机控制芯片(5V),同时需要6V电源电机(L298N)和舵机、传感器、红外对管和电压比较器模块和7805稳压模块。
   从而实现将红外采集模块中的红外发射接收对管检测路面上面的轨迹,并将轨迹信息送到单片机中去,单片机采用模糊推理求出转向的角度和行走速度,然后去控制行走部分,最终实现智能小车在规定路面上的轨迹行驶。

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)



单片机源程序如下:
  1. #include <STC12C5Axx.h>
  2. sbit IN3=P1^0;
  3. sbit IN4=P1^1;
  4. sbit IN1=P1^2;
  5. //sbit ENA=P1^3;
  6. //sbit ENB=P1^4;
  7. sbit IN2=P1^5;
  8. sbit D4=P0^4;
  9. sbit D1=P0^1;
  10. sbit D2=P0^2;
  11. sbit D3=P0^3;
  12. sbit D0=P0^0;
  13. sbit D5=P0^5;
  14. void qian()                //前进
  15. {
  16.         IN1=1;
  17.         IN2=0;
  18.          IN3=1;
  19.         IN4=0;
  20. }
  21. void you()                  //YOU
  22. {
  23.         IN1=1;
  24.         IN2=0;
  25.          IN3=0;
  26.         IN4=1;
  27. }
  28. void zuo()                        //ZUO
  29. {
  30.         IN1=0;
  31.         IN2=1;
  32.          IN3=1;
  33.         IN4=0;
  34. }        

  35. void PWMinit()
  36. {
  37.           CMOD=0X02;//"时钟源为1/2; "
  38.           CL=CH=0X00;
  39.           CCAPM0=0X42;
  40.           CCAP0L=0X00;
  41.           CCAP0H=0x00;

  42.         CCAPM1=0x42;
  43.         CCAP1H=0x00;
  44.         CCAP1L=0x00;
  45.         CR=1;
  46. }
  47. void PWMtiaojie(unsigned int num,int cex) //NUM"越大越快,调节范围为55~99",cex"电机0,电机1"
  48. {
  49.         double i=256*(100-num)/100;
  50.         switch(cex)
  51.         {
  52.                 case 0: CCAP0L=i; CCAP0H=i; CCAPM0=0x42; break;
  53.                 case 1: CCAP1L=i; CCAP1H=i; CCAPM1=0x42; break;

  54.         }
  55. }
  56. void main()
  57. {
  58.         PWMinit();
  59.         while(1)
  60.         {
  61.                 if(D1==1&&D3==1&&D2==1&&D0==1)
  62.                 {
  63.                     PWMtiaojie(25,0);
  64.                     PWMtiaojie(25,1);
  65.                         qian();
  66.                 }                        
  67.                  if(D2==0||D3==0)
  68.                          {
  69.                                 PWMtiaojie(1,0);
  70.                                  PWMtiaojie(1,1);
  71.                                 you();
  72.                         }
  73.                 if(D1==0||D0==0)
  74.                         {
  75.                                 PWMtiaojie(1,1);
  76.                                  PWMtiaojie(1,0);
  77.                                 zuo();
  78.                         }                  
  79.                 }
  80. }
复制代码

所有资料51hei提供下载:
循迹小车硬件部分.rar (1.27 MB, 下载次数: 233)
循迹小车程序部分.rar (4.41 KB, 下载次数: 162)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏16 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:513258 发表于 2019-7-8 11:30 | 只看该作者
学习了,真不错
回复

使用道具 举报

板凳
ID:92810 发表于 2019-7-8 16:15 | 只看该作者
谢谢楼主分享了
回复

使用道具 举报

地板
ID:581439 发表于 2019-7-10 10:34 | 只看该作者
谢谢楼主
回复

使用道具 举报

5#
ID:647675 发表于 2019-12-30 22:17 | 只看该作者

感谢分享
回复

使用道具 举报

6#
ID:647675 发表于 2019-12-30 22:57 | 只看该作者
一直在关注,非常值得学习
回复

使用道具 举报

7#
ID:647675 发表于 2019-12-30 22:58 | 只看该作者
资料很有用,感谢分享
回复

使用道具 举报

8#
ID:513783 发表于 2020-3-9 20:43 | 只看该作者
谢谢楼主
回复

使用道具 举报

9#
ID:715841 发表于 2020-3-25 23:30 | 只看该作者
想不到能在51黑上找到资源
谢谢楼主分享
回复

使用道具 举报

10#
ID:736202 发表于 2020-4-23 16:02 | 只看该作者
谢谢楼主的分享,努力学习中
回复

使用道具 举报

11#
ID:753145 发表于 2020-5-16 10:49 | 只看该作者
感谢楼主
回复

使用道具 举报

12#
ID:846811 发表于 2020-11-25 22:00 | 只看该作者
蓝牙模块不需要么?我还要计算出最短的路程
回复

使用道具 举报

13#
ID:985316 发表于 2021-11-29 11:27 | 只看该作者
为什么我直接用的楼主的图然后软件说没有封装
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表