收藏 分销(赏)

51单片机智能小车.doc

上传人:二*** 文档编号:4513926 上传时间:2024-09-26 格式:DOC 页数:26 大小:1.62MB 下载积分:5 金币
下载 相关 举报
51单片机智能小车.doc_第1页
第1页 / 共26页
本文档共26页,全文阅读请下载到手机保存,查看更方便
资源描述
51单片机智能小车 一、智能小车开发板介绍 智能小车好玩、有趣,很多单片机爱好者就是靠玩小车而走上了单片机开发的职业。关于智能小车,市场上有一些,经过对照,发现市场上的很多“智能小车”其实就是一个个“四肢发达,头脑简单”的白痴,一点点都不智能,之所以这样说,主要是基于以下两点: 一是很多小车太注重小车的机械结构,致使小车整体价格偏高; 二是没有提供源程序或提供的源程序很少,不能充分发挥小车的智能性。 顶顶电子设计的这款智能小车,机械和电机部分由某公司专门定做,采用二个驱动轮、二个从动轮(也可使用一个万向轮),即简单,又灵活。电路部分由我们自己独立设计,并配备了丰富多彩的实用源程序,可让那些“智能小车”的粉丝们快快乐乐玩个够! 顶顶电子设计的这款简易智能小车,采用STC89C51/52单片机作为小车的检测和控制核心;采用光电开关、声控传感器、光敏传感器、温度传感器、红外接收器等来检测和感应各种外界情况,从而把反馈到的信号送单片机,使单片机按照预定的工作模式控制小车在各区域按预定的速度行驶;智能小车既可以采用LED数码管来显示有关信息,也可以采用1602LCD实时显示小车行驶的距离。 机器小车主要由底盘(含2个带电机的驱动轮、2个从动轮,底板)、电路板和6节5号电池盒三部分组成,其正面和底面外形如图所示:     下图是51单片机智能小车的电路组成框图:   下图是智能小车中主要元件在小车中的位置实物图: 二、产品配置 智能小车产品配置如下: 1.小车底板1块、车轴插片4片 2.车轮4只 3.车轴2根,垫片2只,铜螺帽2只   4.带齿轮箱的电机与104电容各2只 5.智能小车开发板1块(除DS18B20外,板上集成电路配备完整) 6.避障光电传感器1只(TCR T5000)、循迹光电传感器2只(RPR220)、速度光电传感器1只(RPR220) 7.双向插头排线4根 8.串口线1根 9.红外遥控器1只 10.固定电路板与底板的长螺丝、橡皮垫圈各2只 11.6节5号电池盒(因电池属易燃易爆物品,故不配送,请自行购买) 12.丰富的源程序、电路原理图和操作使用手册   用户购买后,只需要再另外购502胶水(1元左右)、双面胶(1元左右)和6节5号电池(采用普通的华太电池即可,6节约1.5元)即可进行组装与实验了。 需要说明的是,小车的组装非常简单,有关详细的组装方法,我们将在智能小车操作使用手册上,采用图解的形式进行说明。 三、选配件 用户购买产品后,可进行小车的基本实验,如果用户想进行一些特殊的实验,需要购买以下产品,说明如下: 1.温度传感器DS18B20,价格6元。 :item.taobao./auction/item_detail-0db1-b2ca1e775f188cd5e6ebe.htm 配置DS18B20后,可进行温度显示的实验。 2.1602液晶显示器,价格16元。 配置1602液晶显示器后,可进行液晶显示方面的实验。 3.高性能光电开关E3F-DS10C4,价格16元。 配置E3F-DS10C4后,可大大提供小车避障和循迹的效果。 4.无线遥控套件,价格26元。 配置无线遥控套件后,可进行无线遥控小车实验。 5.ISD1700语音模块,价格66元。 配置ISD1700语音模块后,可使小车具有说话的功能。 以上为选配件,请用户根据情况进行选择。 四、实验说明 智能小车附带的程序十分丰富,全部采用C语言编写,非常方便使用和移植,主要程序如下: 实验1——电池电压检测程序 实现功能:开机后,数码管上显示出电池电压的值,当电池电压低于7V时,蜂鸣器鸣叫,表示电池电压低,需要更换电池。 下图是小车显示的电池电压情况(显示的电压值为8.5V):   实验2——模拟PWM控制小车速度程序 实现功能:用单片机的IO口模拟PWM信号,控制小车的转速,具体要:开机后,小车按全速运转,当按下K1键时,小车运行的速度是全速的0.1,当按下K2键时,小车的转速是全速的0.5。 实验3——用定时中断控制小车速度程序 实现功能:采用定时中断方法,控制小车的转速,具体要:开机后,小车按全速的0.2运转。 实验时,为了便于对照,读者可在源程序的基础上修改定时器0中断处理函数: void Timer0(void) interrupt 1      //定时器0中断处理函数入口 {  TH0=0xfc;                         //定时1ms  TL0=0x66;   EA=0;                             //关中断  tim=tim+1;                        //时间计数加1  if(tim<20){EN1=0;EN2=0;}            else {EN1=1;EN2=1;}  if(tim==100)tim=0;  EA=1;                              //开中断 } 修改的方法是:改变上述语句if(tim<20){EN1=0;EN2=0;}中的tim的值,例如,将此改为if(tim<50){EN1=0;EN2=0;},重新编译源程序,再下载到小车的单片机中,此时会发现小车的运转速度快了很多。 实验4——话筒控制小车起停程序 实现功能:在智能小车上安装有话筒,要求采用声音可以控制小车的起停,具体要:开机后,小车运转,LED1、LED2指示灯亮;当拍一下巴掌或敲击一下器物发出响亮的声音时,小车停转,LED1、LED2指示灯熄灭;再次拍一下,小车继续运转,LED1、LED2指示灯又点亮。 实验5——光控小车程序 实现功能:在智能小车上安装有光敏电阻,能够感受到光线的变化情况,要求通过光敏电阻判断出白天和黑夜,当白天时(光线正常时,小车前面的两个指示灯LED1、LED2不亮),当夜晚时(光线暗时),小车前面的两个指示灯LED1、LED2点亮。 实验6——红外遥控数码管显示程序 实现功能:在智能小车上安装有红外遥控接收头,能够接收遥控器发出的信号,要求按下遥控器的01H键时,小车前进(前方的两个指示灯熄灭);按下遥控器上的05H键时,小车停止(前方的两个指示灯熄灭);按下遥控器上的04H键时,小车左转(左前方的指示灯点亮);按下遥控器上的06H键时,小车右转(右前方的指示灯点亮);按下遥控器上的09H键时,小车后退(前方的两个指示灯点亮)。遥控器上的键值能同时在LED数码管上显示出来。 以下是按下遥控器上的05H时,小车显示的情况:   实验7——红外遥控LCD显示程序 实现功能:在智能小车上安装有红外遥控接收头,能够接收遥控器发出的信号,开机时,LCD显示如下画面:   要求按下遥控器的01H键时,小车前进(前方的两个指示灯熄灭);按下遥控器上的05H键时,小车停止(前方的两个指示灯熄灭);按下遥控器上的04H键时,小车左转(左前方的指示灯点亮);按下遥控器上的06H键时,小车右转(右前方的指示灯点亮);按下遥控器上的09H键时,小车后退(前方的两个指示灯点亮)。遥控器上的键值和状态能同时在LCD上显示出来(前时时显示FRONT,后退时显示BACK,左转时显示LEFT,右转时显示RIGHT,停止时显示STOP)。 以下是按下遥控器上的05H时,小车显示的情况:   实验8——数码管温度显示程序 实现功能:在智能小车上设有温度传感器DS18B20的安装位置,DS18B20安装好后,能够感知外界的温度,要求外界温度能通过LED数码管显示出来。 以下是显示的温度情况:   实验9——LCD温度显示程序 实现功能:在智能小车上设有温度传感器DS18B20的安装位置,DS18B20安装好后,能够感知外界的温度,要求外界温度能通过LCD显示出来。 以下是显示的温度情况:   实验10——避障小车程序 实现功能:在智能小车的头部,设有避障光电开关安装位置,如果装上此光电开关后,就能够感受到前方障碍物的,当检测到有障碍物时,可控制小车后退并转向,从而避开障碍物,达到避障的目的。 特别说明:本实例采用的是普通的光电开关(TCR T5000)进行避障,由于该开关检测距离较短(一般只有1cm左右),因此,避障效果不是很好,只有当小车离障碍物较近时,才能检测到障碍物的存在,容易发生车头触碰障碍物的情况;要真正达到比较好的效果,需要采用性能较好的光电开关,如E3F-DS10C4等,其检测距离达10cm以上,既使小车速度较快,一般也不会发生撞车的现象。另外,如果想全方位进行避障,还需要在小车的前面多装几个光电开关,对不同方位的障碍物进行检测,用户可根据情况自行设计和安装。 实验11——小车循迹程序 实现功能:在智能小车的头部,设有两个循迹光电开关安装位置,如果装上这个光电开关后,就能够感受到地面铺设的道路情况,从而控制小车按事先制作的黑色道路行进。 以下是小车循迹实验效果图: 特别说明:本实例采用的是普通的光电开关(RPR220)进行循迹,由于该开关检测距离较短,因此,循迹效果不是很好,另外,还需要根据铺设的道路情况对源程序中的延时程序进行调整(当转向大时,将延时常数调小一些,当转向小时,将延时常数调大一些),以便使小车偏离道路时,能够与时转到正常的轨道上来。 为了能够达到比较好的循迹效果,建议采用性能较好的光电开关,如两只E3F-DS10C4等,其检测灵敏度较高,检测距离较远,当然,既使采用性能较好的光电开关,也需要根据实际的道路情况,对源程序中的延时时间进行调整。 这个源程序实验时有一定难度,用户一定要铺设好道路,对源程序进行简单的修改,并保持一定的耐心,否则,不易成功! 实验12——小车里程计算程序 实现功能:当小车运行时,在数码管上可以显示出小车转动的圈数,并且每转一圈,指示灯LED3会闪烁一次,当按下K1键时,小车停止,同时,在数码管上显示出小车运行的距离。 以下显示的是小车转动的圈数: 特别说明:本实例采用的是普通的光电开关(RPR220)进行检测,由于该开关检测距离较短(一般只有1cm左右),因此,安装速度光电开关时,应尽量靠近车轮的侧,如果小车转动时,指示灯LED3不闪烁,说明光电开关安装位置不正确,需要反复进行调整,直至正常为止。 实验13——无线控制小车程序 实现功能:将无线遥控接收模块的+5V、GND、10(D0)、11(D1)、12(D2)、13(D3)、VT脚用杜邦线分别接智能小车开发板的VCC、GND、P00~P04脚,如下图所示:   连接好后,可实现以下功能:按无线发射器的A键小车前进(再按按压则停止),按B键小车后退(再按按压则停止),按C键小车左转(再按按压则停止),按D键小车右转(再按按压则停止)。 实验14——具有语音功能的小车程序 实现功能:将ISD1700语音模块J1中的VCC、GND插针用杜邦线分别接智能小车开发板的VCC、GND脚,将ISD1700语音模块J4中的PLAY、FWD插针用杜邦线分别接智能小车开发板的P00~P01脚,如下图所示:   连接好后,可实现以下功能:打开电源开关,按下K1键后,小车开始前进,当遇到障碍特时,小车发出“太危险了”,然后后退并转向,进行避障。 特别说明:本实验是在实验10的基础上改编的,在进行本实验之前,请先进行实验10。 26 / 26
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服