51单片机智能小车
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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元。
链接:
/auction/item_detail-0d b1-b2ca1e775f188cd406558351465e6ebe.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——红外遥控数码管显示程序