精华内容
下载资源
问答
  • 智能小车原理图PCB

    2018-04-27 10:29:12
    智能小车 原理 51 52 单片机,非常详细的原理 pcb文件
  • 智能寻迹小车PCB图

    2009-04-24 18:41:03
    这是自己做的哈 仅供参考!!! 对做小车的人应该会有帮助!!
  • stc8A智能控制小车PCB,原理,需要可下载
  • 基于51单片机的多功能智能小车系统 能实现寻线、寻光、避障、超声波测距、遥控功能。
  • 示意中的和尺寸标注线不要绘制在地图上,出发区和终点区的边框用签字笔细线标注,图示中的A,B,C,D四个标记完全相同为:150px*50px。 3、硬币放置在外圆的黑色引导线下面,两个相连硬币至少相距20cm,具体位置由测评...
  • 智能小车实训-PCB原理实现

    千次阅读 2018-11-12 09:54:52
    开发软件:Altium Designer 18 原理文件:STM32F407.SchDoc ...小车封装库:四轮小车相关封装.lib   github源码 :https://github.com/qinjiaw2019/shixun/tree/master/smartCar/learning/pcb...
    展开全文
  • 智能小车十《从原理图到PCB图

    千次阅读 2017-08-16 15:02:16
    有了电路原理,可以做以下3件事。 1.电气规则检查Tools->ERC... 这个可以检查出连线不正确的地方。 2.生成元件列表报告单。 Reports->Bill of Material 选择sheet,一路next. 最后生成清单,...
    有了电路原理图,可以做以下3件事。

    1.电气规则检查Tools->ERC...



    这个可以检查出连线不正确的地方。

    2.生成元件列表报告单。 Reports->Bill of Material
    选择sheet,一路next.



    最后生成清单,xls文件的。我的比较简单,采购元件可以用此文件



    3.创建网表文件[Design->Create Netlist]



    下面就可以开始制作pcb板了。
    1.制作元件封装
    打开一个现有的封装库,比如Advpcb.ddb,



    添加一个L293D的封装,如下图:’



    我们的L293D是dip(插针)封装的,所以如图先点Add再选择dip,后面要设置引脚、穿孔等的大小,这里就不截图了。

    2.设置pcb的板层结构和外形尺寸。
     a.设计pcb的板层[Disign->Layer Stack Manager],如下图:



    图中介绍了各层的意思,我做的这个不设计到复杂的板层,用默认的两层就够了。所以不再深入学习了。

    b.设计pcb板的尺寸,这里主要是设计禁止布线层与机械层。



    先从https://store.arduino.cc/usa/arduino-uno-rev3下载ArduinoUno.dxf文件,然后再打开该文件测量arduino uno的大小,我找的是迅捷CAD来测的。最后用标尺与画线工具画出以下机械层与禁止布线层。
    不太精确,只供布线用应该足够了。
    展开全文
  • STM32C8T6智能小车控制板 ad原理+PCB+封装库文件,ad 设计的工程文件,包括原理PCB印制板PCB封装库文件,可以用Altium Designer(AD)软件打开或修改,可作为你产品设计的参考。
  • 这是一款做智能小车必须具备的一个电机驱动模块,本模块采用的驱动芯片是L298n,可以控制2个直流减速电机 焊接实物如下: 电机驱动电路原理截图: PCB源文件截图:
  • 基于51单片机的红外遥控智能小车由以下组成: 主控电路板; 红外远程控制发射、接收; 电机驱动模块; 小车底架; 电源模块等等。 主控板实物截图: PCB截图: 电机驱动模块L298截图: 两轮小车低架截图: 附件内容截图:
  • 本资源包含51蓝牙L298N小车PCB图及其封装库,适用软件AD18,适用于初级智能车学者,如果有志参加飞思卡尔,恩智浦智能车的还需另外设计。 芯片基于51.
  • 这是智能小车用做寻迹时的原理PCB,实测能用。
  • 基于51单片机的,使用了时间片的思想,时间触发任务系统,类似于UCOSII,程序很简单,主要学思想,外加参考的PCB原理
  • 10个基于单片机设计的智能小车(论文+电路图+软件程序)资料: 单片机智能小车(论文+电路图+程序).rar 基于51单片机的小车避障...电动车车跷跷板(论文+原理图+PCB图+程序).rar 自动入库小车设计(程序+论文).zip
  • 三个模拟红外传感器进行检测循迹,具体模式如所示,使用超声波进行避障,避障距离可以进行调整,预设为200cm,可以代码进行修改。适合二次开发。非常好的毕业设计资料,包括仿真+程序+pdf原理+元器件清单+简要...
  • 单片机智能小车

    2013-01-11 14:29:58
    单片机开发智能小车,源程序,电路PCB版图。
  • 虽然分高了点,但是对于那些要做智能小车的人来说很直,内附详细的讲解,,原理PCB,源程序都有
  • 该开发板具有双电机驱动器和一些额外的Arduino引脚(3V,5V,GND输出),因此,使用此PCB,您可以通过更改Arduino代码来制作线路跟随器,避障器,寻边器,语音控制和其他Arduino机器人。 我已经制作了一个蓝牙控制...
  • 智能小车和温度报警

    2012-12-13 11:04:29
    里面包含智能循迹避战小车和18B20温度报警的论文,PPT,代码,PCB图等全部资料
  • 硬件部分最麻烦的应该就是做这个电路板了,之前已经介绍了使用L293D芯片和arduino ...当然我们做的这个小车比较简单,不画原理图和pcb图也是可以的,但时间长了这十几根线一定记不清了。比如我做的第一款扩展板就
    硬件部分最麻烦的应该就是做这个电路板了,之前已经介绍了使用L293D芯片和arduino ProtoShield。使用ProtoShield至少免去了在万能板上焊排针的工作。


    但是芯片和其它电子原件的焊接还是免不了的,为了理清思路,还是得学习下怎么设计电路板(PCB)。当然我们做的这个小车比较简单,不画原理图和pcb图也是可以的,但时间长了这十几根线一定记不清了。比如我做的第一款扩展板就是这样没图画,现在就记不清线了。所以我决定这次做要留下图,方便以后查看。以前做的扩展板:






    最终我在腾讯课堂买了一个课堂,准备学习一下如何画pcb图。使用的工具是Protel99se,它可以在
    http://www.downza.cn/soft/20556.html下载。
    因为我是第一次用这个工具,所以会把这个记录得详细些。
    一、准备工作
    1.新建项目File->New Design



    2.在新建的项目中增加四个文件夹File->New,如下图:



    3.双击新建的4个文件夹中的sch.lib,就上是图中的Schematic library对应的文件夹:



    二、制作元器件
    点击sch.lib后选择上面的Browse SchLib可以从Components中看到新建的元件。
    1.新建元件Tools->New Component
    图里的arduino uno,7805,L293D这三个元件都是这么建的。



    2.绘制元件。
    以绘制arduino uno为例,选择SchLibDrawingTools里的矩形,画一个矩形。然后选择SchLibDrawingTools里最后的一个引脚图标绘制引脚。这里有个小技巧,点了引脚图标后按tab键出来属性对话框,可以修改属性。如果num属性设置为数字,那么绘制出来的标号就是这个数字且数字会自动增加,这样就会省很多工作量。



    3.绘制原理图
    绘制好元件后就可以把元件放入原理图,来理清电路了。
    1.添加libraries.
    点击上图里的cz.sch.Sch再选择Browse Sch列表页。点击下面的Find按钮,在弹出的窗口Path输入框中选择我们刚设计的元件文件的路径,再点击Find Now按钮,选好文件后点击Add To Library List就可以了。



    2.连接各元件的线路。
    很抱歉的说我这点电路知识就是个小白,所以我尽量少用元件,用的都是有用且能理解的。这个放到下一文讲。
    展开全文
  • 基于STM32F103C8T6的智能小车,能够实现手机蓝牙控制,IIC协议的0.96寸oled显示基本信息的功能。并且带有L298N的驱动板(覆铜板)的PCB图,可以用AD19直接打开。本资源适合初级智能车学者借鉴使用。希望对其有所帮助...
  • 本文介绍的是基于arduino和万能板DIY制作Arduino循迹智能小车。 电路硬件部分设计除去arduino核心电路板之前,包括多个电源扩展电路、基于LM339N电压比较电路、基于ST188光电传感器发射接收电路设计 循迹智能小车所...
  • 2 PCB使用教程,PCB使用技巧,PCB布线规则,PCB layout经验资料丰富精彩。 3 各类电子课件,电子教材,测量仪表,嵌入式技术,制造技术收藏资料。 4 IC中文资料,IC datasheet,规则标准, 网上查不到,这里找的到。
  • 智能循迹小车毕业设计,含电路原理图和 PCB图 ,含c语言程序。
  • 基于 ITR20001/T 红外反射传感器,常用于制作循迹智能小车。ITR2001/T 传感器的红外发射二极管不断发射红外线,当发射出的红外线被物体反射时,被红外接收器就收,并输出模拟值。输出模拟值和物体 距离以及物体颜色...
  • 原理图2.pcb图3.裸板成品4.焊好后成品三、让轮子动起来并实现pwm调速1.接线2.实现pwm调速四、循迹小车制作1.tcrt5000l接线2.循迹模块用法3.循迹小车主函数总结整个工程文件的网盘链接 前言 观前提示:本文用来记录和...

    前言

    观前提示:本文用来记录和分享我自己做智能小车的经历。本人小白一枚,从码龄可以看出,文章肯定有写的不好的和不正确的地方,欢迎大佬们在评论区指导。
    我做智能小车的过程中参考了这几位大佬的文章制作
    https://blog.csdn.net/weixin_43924857/article/details/100185086
    https://blog.csdn.net/nishiwodebocai21/article/details/85624173
    https://blog.csdn.net/Rendezvous1/article/details/108314776

    基于stm32的智能小车作品(循迹避障蓝牙)(下)的链接点击此处

    下面开始正文。

    一、材料准备

    两节18650电池
    电池盒
    stm32f103c8t6最小系统板
    小车底盘+电机
    红外
    超声波
    蓝牙
    st link
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    序号 名称
    1 18650电池两节
    2 电池盒
    3 stm32f103c8t6最小系统板
    4 小车底盘和四个电机
    5 5路tcrt5000l循迹模块
    6 HY SRF05超声波模块
    7 JDY-31蓝牙模块
    8 st link下载器
    9 主板需要的元器件
    10 杜邦线若干

    为什么没电机驱动和电源模块呢?
    因为电机驱动和电源模块集成在主板上。这里说一下,电机驱动芯片用的是tb6612fng

    二、AD画板+焊接

    注意:我画的板好像有问题,作为一个大一新生还没学电路的我并不知道哪里出现了问题,这个问题的主要体现在我最后的成品之后,c8t6的PB引脚好像无法拉高电平,总之就是PB引脚不能正常使用,如果有大佬知道原因,希望能在评论区告诉我,谢谢。

    下面是我画的板

    1.原理图

    在这里插入图片描述

    2.pcb图

    在这里插入图片描述

    3.裸板成品

    在这里插入图片描述

    4.焊好后成品

    在这里插入图片描述
    主板下载百度网盘链接:点此下载 密码:owd3

    三、让轮子动起来并实现pwm调速

    我用的驱动是tb6612fng,我的电机最大驱动电压为5v,在这里我只说明驱动的接线,想知道这个驱动的详情请自行搜索学习

    1.接线

    从上面原理图可以看出
    第一个驱动的pwm口分别连接PA6、PA7,AIN1、AIN2、BIN1、BIN2分别连接PB4、PB5、PB6、PB7。
    第二个驱动的pwm口分别连接PB0、PB1,AIN1、AIN2、BIN1、BIN2分别连接PB12、PB13、PB14、PB15。
    在这里插入图片描述
    由图可一看出pwm的四个引脚对应TIM3的四个通道。
    但是在我写程序的时候遇到前面说的PB引脚的问题,因此我只用了通道2和通道4,最后四个电机这样接线在这里插入图片描述
    一个通道同时控制两个电机,实测可以正常使用。
    综述所述,我只用控制两个pwm口:PA7和PB1,四个IN口PB6、PB7和PB14、PB15就可以让轮子动起来。

    2.实现pwm调速

    先放代码
    这是moter.c 文件的代码:

    void CarGo(void)
    {
    	//数值越大速度越慢
    	TIM_SetCompare2(TIM3 , 300);
     
    	TIM_SetCompare4(TIM3 , 300);	
    	
    
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_15);
    
    
    }
    
    void CarStop(void)
    {
        TIM_SetCompare2(TIM3 , 900);
    	
    	TIM_SetCompare4(TIM3 , 900);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_SetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_SetBits(GPIOB,GPIO_Pin_15);
    
    }
    
    void CarLeftAround(void)
    {
    	    TIM_SetCompare2(TIM3 , 400);
    	
    	TIM_SetCompare4(TIM3 , 400);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_ResetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_SetBits(GPIOB,GPIO_Pin_15);
    
    }
    
    void CarRightAround(void)
    {
    		    TIM_SetCompare2(TIM3 , 400);
    	
    	TIM_SetCompare4(TIM3 , 400);
    	
    	   GPIO_ResetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_SetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_15);
    
    }
    
    
    void CarBack(void)
    {
    	TIM_SetCompare2(TIM3 , 300);
    
    	TIM_SetCompare4(TIM3 , 300);
    	
    
    	   GPIO_ResetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_SetBits(GPIOB,GPIO_Pin_7);
    
    
    	   GPIO_ResetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_SetBits(GPIOB,GPIO_Pin_15);
    
    }
    
    void CarLeft(void)
    {
    	TIM_SetCompare2(TIM3 , 300);
    
    	TIM_SetCompare4(TIM3 , 900);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_15);
    
    }
    
    void CarBigLeft(void)
    {
    	TIM_SetCompare2(TIM3 , 100);
    
    	TIM_SetCompare4(TIM3 , 900);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_15);
    
    }
    
    void CarRight(void)
    {
    	TIM_SetCompare2(TIM3 , 900);
    
    	TIM_SetCompare4(TIM3 , 300);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_15);
    
    	
    }
    
    void CarBigRight(void)
    {
    	TIM_SetCompare2(TIM3 , 900);
    
    	TIM_SetCompare4(TIM3 , 100);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_6);    //控制右边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_7);
    	
    	   GPIO_SetBits(GPIOB,GPIO_Pin_14);    //控制左边轮胎
    		GPIO_ResetBits(GPIOB,GPIO_Pin_15);
    
    	
    }
    
    
    void TIM3_PWM_Init(void)
    {
    	GPIO_InitTypeDef GPIO_InitStructure;
    
    	TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    	TIM_OCInitTypeDef TIM_OCInitStructure; 
    	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE);
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
    	
    	
    	TIM_TimeBaseStructure.TIM_Period = 899;
    	TIM_TimeBaseStructure.TIM_Prescaler = 0;
    	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
    	TIM_TimeBaseStructure.TIM_ClockDivision = 0;
    	TIM_TimeBaseInit(TIM3 , &TIM_TimeBaseStructure);
    	
    	//端口复用
    	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_7;
    	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 	
    	GPIO_Init(GPIOA, &GPIO_InitStructure);   
    	
    	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_1;
    	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 	
    	GPIO_Init(GPIOB, &GPIO_InitStructure);   
    	
    
    	//PWM通道2
    	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
    	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
    	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
    	TIM_OCInitStructure.TIM_Pulse = 900;
    	TIM_OC2Init(TIM3 , &TIM_OCInitStructure);
    	TIM_OC2PreloadConfig(TIM3 , TIM_OCPreload_Enable);
    	
    
    	//PWM通道4
    	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
    	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
    	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
    	TIM_OCInitStructure.TIM_Pulse = 900;
    	TIM_OC4Init(TIM3 , &TIM_OCInitStructure);
    	TIM_OC4PreloadConfig(TIM3 , TIM_OCPreload_Enable);
    	
    	TIM_Cmd(TIM3 , ENABLE);
    }
    //配置电机的引脚  
    //注意:由于PB引脚的问题,这四个引脚还需在xunji.c的文件中同时配置成上拉输入才能使调速、前进、后退这些功能正常使用
    void GPIO_init_Init(void)
    {
    	 GPIO_InitTypeDef  GPIO_InitStructure;	
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能GPIO的外设时钟
    
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_14|GPIO_Pin_15;//选择要用的GPIO引脚
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚模式为推挽输出模式						 
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//设置引脚速度为50MHZ         
        GPIO_Init(GPIOB,&GPIO_InitStructure);//调用库函数,初始化GPIO
    	
    }
    
    

    注意:由于PB引脚的问题,这四个引脚还需在xunji.c的文件中同时配置成上拉输入才能使调速、前进、后退这些功能正常使用。可以下拉到下面看xunji.c的代码,这里就不重复放出来了。

    四、循迹小车制作

    1.tcrt5000l接线

    在这里插入图片描述
    OUT1、OUT2、OUT3、OUT4、OUT5按顺序接PA1、PA2、PA3、PA4、PA5。

    2.循迹模块用法

    在这里插入图片描述
    从图中可以知道当检测是白线时是高电平,反之低电平时就是检测到黑线

    下面放代码:
    xunji.h:

    #ifndef __XUNJI_H
    #define	__XUNJI_H
    
    #include "stm32f10x.h"
    
    #define L1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)
    #define L2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)
    #define M  GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)
    #define R2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)
    #define R1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5) // L1 L2 M R2 R1 
    
    void xunji_config(void);
    void Read_xunji_Date(void);  //读循迹模块返回的值
    
    #endif
    
    

    xunji.c:

    #include "xunji.h"
    
    	
    	
    void xunji_config(void)	
    {
      GPIO_InitTypeDef GPIO_InitStructure;	
      RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); // 使能PB端口时钟
    	
    	//配置电机引脚,不知道什么原因要在这里配置成上拉才能实现pwm调速
      GPIO_InitStructure.GPIO_Pin =   GPIO_Pin_6 | GPIO_Pin_7|GPIO_Pin_14|GPIO_Pin_15;	//选择对应的引脚
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//配置GPIO模式,输入上拉       
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      GPIO_Init(GPIOB, &GPIO_InitStructure);  //初始化PB端口
    	
    
      RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); // 使能PA端口时钟
    	
    	//配置红外引脚
      GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_1 | GPIO_Pin_2  | GPIO_Pin_3 | GPIO_Pin_4| GPIO_Pin_5;;	//选择对应的引脚
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//配置GPIO模式,浮空输入       
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      GPIO_Init(GPIOA, &GPIO_InitStructure);  //初始化PC端口
    
    }
    
    //读取红外的信号
    void Read_xunji_Date(void)
    {
    	L1;
    	L2;
    	M;
    	R2;
    	R1;
    }
    
    

    3.循迹小车主函数

    int main(void)
    {
    	SystemInit();	// 配置系统时钟为72M 
        delay_init();    //延时初始化		
    	xunji_config();   //循迹初始化
    	TIM3_PWM_Init();	//电机pwm   TIM3
    	CH_SR04_Init();  //超声波定时器    TIM4
    	USART_Config();	//蓝牙串口
    
      while(1)
      {	
    Read_xunji_Date(); //读循迹线值
    	  
    	  //车前4个循迹模块从左到右分别是 L1,L2,M,R2 ,R1
       
    	 if(L1==1&&L2==1&&M==1&&R2==1&&R1==1)//11111
    	  {
    	  CarGo();		  //如果都没有读取到黑线,直走
    	  delay_ms(10);
    	  }
    
    	  if(L1==1&&L2==1&&M==0&&R2==1&&R1==1)//11011
    	  {
    	  CarGo();        //如果中间一个读取到黑线,直走
    	  delay_ms(10);
    	  }	  
      
    	 if(L1==1&&L2==0&&M==0&&R2==0&&R1==1)//10001
    	  {
    	  CarGo();        //如果中间三个读取到黑线,直走
    	  delay_ms(10);
    	  }	  
    
    	  if(L1==1&&L2==0&&M==1&&R2==1&&R1==1)//10111
    	  {
    	  CarBigLeft();   //如果第二个读取到黑线,左转
    	  delay_ms(10);
    	  }
    
    	  if(L1==1&&L2==1&&M==1&&R2==0&&R1==1)//11101
    	  {
    	  CarBigRight();   //如果第四个读取到黑线,右转
    	  delay_ms(10); 
    	  }
    
    	  if(L1==0&&L2==1&&M==1&&R2==1&&R1==1)//01111
    	  {
    	  CarBigLeft();   //如果第一个读取到黑线,左转
    	  delay_ms(10);
    	  }
    
    	  if(L1==1&&L2==1&&M==1&&R2==1&&R1==0)//11110
    	  {
    	  CarBigRight();   //如果第五个读取到黑线,左转
    	  delay_ms(10); 
    	  }
      
      }	
      
    }
    
    

    总结

    至此循迹小车就简单的做完了,这是我第一次做的作品,随便用这种方式记录下来。
    循迹的方法比较简单,只是为了能实现循迹功能。
    整个过程会分两篇,下篇就把超声波和蓝牙写完。

    整个工程文件的网盘链接

    点此下载
    提取码:pdqg

    展开全文
  • 突发奇想,经过一系列的改造,造出来现在的这辆坦克车。 它与一般的车的区别是,加了声控、光控。它的炮台是可以垂直于水平面,实现水平360度转向。...附件包含了详细原理PCB文件,C源代码和详细的解释说明!
  • 小车通过超声波检测车库墙壁,当小车沿黑线接近墙壁后(进库)停止,达到倒车入库功能。黑线可以用黑色电胶布粘贴在地上。2、按下停止按键后,小车停止转动。在启动情况下如果两个循迹模块都检测到黑线,小车...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

智能小车pcb图