机器人创新实验(3)指导书_第1页
机器人创新实验(3)指导书_第2页
机器人创新实验(3)指导书_第3页
机器人创新实验(3)指导书_第4页
机器人创新实验(3)指导书_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机器人创创新实验验(3)实验指导导书机器人实实验室实验一 熟悉机机器人与与C511单片机机硬件软软件一、实验验目的1、掌握握宝贝车车机器人人用C551教学学板与计计算机硬硬件连接接和宝贝贝车基本本结构;2、熟悉悉及掌握握C511系列单单片机KKeill uVVisiion IDEE(集成成开发环环境)软软件、IISP下下载软件件及串口口调试终终端的使使用方法法。二、实验验设备及及软件宝贝车机机器人套套件、IISP下下载线、串行接接口线、计算机机、电源源。Keill uVVisiion22 IDDE集成成开发环环境、PPROGGISPP1.772下载载软件、串口调调试软件件。三、实验验内容和和步

2、骤单片机控控制的宝宝贝车机机器人是是通过串串并口或或USBB接口通通信交互互,由硬硬件系统统与软件件系统相相互结合合组成的的一个完完整的智智能控制制系统。单片机机必须与与外围设设备及软软件组成成一个完完整的应应用系统统(如图图1.11)。1、熟悉悉宝贝车车机器人人的结构构组成(如图11.2):小车车底板、车轮、教学板板、伺服服电机、电池盒盒。这是是宝贝车车机器人人的硬件件系统,它的微微控制器器(MCCU)是是由Attmell公司生生产与551系列列兼容的的8位AAT899S522单片机机。图1.11单片机机应用系系统图 图1.2采用用C511单片机机的机器器人2、教学学板指方方便单片片机与电电

3、源、IISP下下载线、串口线线以及各各种传感感器和电电机的连连接制作作的一个个电路板板(如图图1.33)。将将宝贝车车机器人人与计算算机硬件件连接,并连接接到电源源。连接单片片机教学学板ISSP接口口到计算算机,以以便程序序下载;连接单片片机教学学板串行行接口到到计算机机,以便便调试和和交互;连接机器器人到电电池或者者是供电电电源。USBaasp C版通通用编程程器图1.33 CC51单单片机教教学板3、运用用C语言言编程,运用编编译器编编译生成成可执行行文件并并下载到到单片机机,用串串口调试试软件查查看单片片机输出出信息。建立用用户文件件夹,方方便管理理程序,拷入编编译所需需头文件件(例如如

4、,将光光盘“头文件件”文件夹夹中的文文件拷贝贝到C:Prrogrram FillesKeiilCC51INCC文件夹夹里)。进入编编程系统统(Keeil uViisioon2 IDEE):新建项目目工程(*.uuv2):PrrojeectNeww Prrojeect,命名,保存在在新建立立的用户户文件夹夹内;选选择单片片机生产产公司及及类型:Atmmel、AT889S552。新建C程程序文件件:FiileNeww;编辑辑好程序序,保存存为*.c的文文件。注注意程序序关键字字的拼写写、英文文标点、字母的的大小写写等。添加C程程序到项项目工程程:Soourcce GGrouup 11右键单单击Ad

5、dd Fiiless too Grroupp Soourcce。SSourrce Grooup 1前面面出现+号,单单击它出出现刚才才添加的的C程序序文件名名,单击击此C文文件,KKeill会自动动识别关关键字,并以不不同的颜颜色提示示用户加加以注意意,这样样会使用用户少犯犯错误,有利于于提高编编程效率率。生成执行行文件十十六进制制目标代代码文件件(*.hexx):TTargget 1 右右键单击击Opttionn foor ttarggetTarrgett 1Ouutpuut选中“Creeatee Heex FFi:”连接接编译生生成可执执行文件件*.hhex。编译要要求没有有错误产产生,允

6、允许出现现警告。进入下下载系统统(PRROGIISP11.722):参数选择择:勾选选芯片擦擦除、编编程FLLASHH、校验验FLAASH。单片机机型号:AT889S552。2)单击击“调入 Flaash”按钮,找到要要下载的的 HEEX 文文件。单击“编编程”区的“擦除”按钮,开始擦擦除芯片片内部程程序。芯芯片擦除除成功后后,点击击“自动”按键,完成写写、校验验Flaash。等待下下载完毕毕后,固固件下载载完成。拔掉UUSBAASP下下载器IISP 接口排排线。注意:要要将ISSP下载载线连接接计算机机和机器器人教学学板,电电源接好好,开关关拨到“1”档位置置(PRRO),给教学学板通电电,

7、才能能进行单单片机程程序下载载。从执行行文件下下载到单单片机的的那个时时刻开始始,程序序就开始始运行。单片机机向计算算机发送送信息。可利用用串口调调试软件件查看单单片机输输出信息息,“Resset”按钮可可让下载载到单片片机内的的程序重重新运行行一次。使用串口口调试助助手之前前,首先先使用串串口线将将单片机机的串口口与计算算机的UUSB口口相连,然后通通过计算算机的设设备管理理器查看看要使用用的串口口号,如如图所示示。记下该串串口号,打开串串口调试试助手软软件,选选择正确确的串口口号,如如图所示示。4、做完完实验断断开电源源,将开开关拨到到“0”档(OOFF),系统统在不使使用时没没有消耗耗电

8、能,电池可可以用得得更久。拆卸串串口线还还原。四、实验验程序1、程序序HellloRRoBoot.cc。#inccluddeint maiin(vvoidd)uartt_Innit(); /串串口初始始化prinntf(Heelloo,thhis is a mmesssagee frrom youur RRobootnn);whille(11);利用whhilee循环与与dellay_nmss( )函数(毫秒级级的延时时)编程程:每秒秒发送一一个信息息(内容容为英文文自己定定),通通过串口口显示在在计算机机上。ddelaay_nnms( )函函数在BBoeBBot.h头文文件中有有定义。即#i

9、inclludee,编编译时系系统将根根据头文文件自动动将延时时函数插插入到程程序中。让竖线“|”在屏幕幕上顺时时针或逆逆时针转转动输出出。 参考下下面的程程序代码码: prrinttf(|); deelayy_nmms(5500); prrinttf(/); deelayy_nmms(5500); prrinttf(-); deelayy_nmms(5500); prrinttf(); deelayy_nmms(5500); prrinttf(|);delaay_nnms(5000);4、显示示静态图图形:* * * * * * * * * *五、实验验报告要要求1、按要要求:每每秒发送送一

10、个信信息(内内容为英英文自己己定),通过串串口显示示在计算算机上,进行程程序设计计。2、程序序调试心心得。3、观察察到的程程序运行行效果并并加以分分析。六、思考考题1、什么么是单片片机?2、MCCS511、80051、C511、ATT89SS52之之间是什什么关系系?3、宝贝贝车机器器人采用用的ATT89SS52单单片机的的特点是是什么?4、#iinclludee头头文件的的作用是是什么? 5、程序序HellloRRoBoot.cc中whhilee(1);的作作用是什什么?注:实验验操作现现场检查查。实验二 C511接口与与伺服电电机控制制一、实验验目的1、理解解和掌握握C511单片机机的输入

11、入输出出接口的的特性;2、理解解机器人人伺服电电机PWWM调速速原理,C语言言编程输输出脉冲冲序列控控制机器器人轮子子运动。二、实验验设备及及软件宝贝车机机器人、ISPP下载线线、串行行接口线线、计算算机、电电源、螺螺丝刀、红色发发光二极极管2个个和4770电阻22个。Keill uVVisiion22 IDDE集成成开发环环境、PPROGGISPP1.772下载载软件、串口调调试软件件。三、实验验内容和和步骤1、用CC51单单片机的的P1口口的位输输出高低低电平控控制LEED发光光二极管管的闪烁烁。看教教材附录录C关于于面包板板及LEED的介介绍。面面包板上上共有118行插插座,通通过中间间

12、槽分为为两列。每一行行由5个个插座组组成,这这5个插插座在面面包板上上是电气气相连的的,如将将两根导导线分别别插入五五口插座座行的任任意两个个插座中中,它们们都是电电气相连连的。“GNDD”对应于于教学板板的接地地端,“Vccc”指校准准的+55V电压压。发光光二极管管(如图图2.11)是单单向导电电的电子子管,长长脚为正正极,短短脚为负负极,必必须连接接正确,否则不不能正常常工作。通过55mA左左右即可可发光,电流越越大,其其亮度越越强,但但若电流流过大,会烧毁毁二极管管。给发发光二极极管串联联一个电电阻的目目的是限限制通过过发光二二极管的的电流不不要太大大。图2.11 LLED零零件图 图

13、22.2发发光二极极管与II/O脚脚P1_0的连连接色环电阻阻为五色色,用五五条色环环表示电电阻的阻阻值大小小。黑00 棕11 红22 橙33 黄44 绿55 蓝66 紫77 灰88 白99 金、银表示示误差具体如下下:第一条色色环:阻阻值的第第一位数数字;第二条色色环:阻阻值的第第二位数数字;第三条色色环:阻阻值的第第三位数数字;第四条色色环:阻阻值乘数数的100的幂数数;第五条色色环:误误差(常常见是棕棕色,误误差为11%)。由此,4470电阻为为黄紫黑黑黑棕。搭建一个个发光二二极管闪闪烁的LLED电电路(如如图2.2)并并编写程程序HiighLLowLLed.c。注注意,在在教学底底板上

14、搭搭建电路路时要断断开电源源。修改改程序让让两个LLED同同时闪烁烁,并修修改程序序让两个个LEDD交替亮亮或者灭灭,也可可以改变变延时函函数参数数n的值值,改变变LEDD闪烁频频率。HighhLowwLedd.c程程序如下下:#inccludde#inccluddeint maiin(vvoidd)uartt_Innit(); /初初始化串串口prinntf(Thhe LLED connnecctedd too P11_0 is bliinkiing!n);whille(11)P1_00=1; / P11_0 输出高高电平delaay_nnms(5000); /延延时5000mssP1_00

15、=0; / P11_0 输出低低电平delaay_nnms(5000); /延延时5000mss【拓展训训练】实实现4个个或更多多LEDD流水灯灯控制,对应流流水灯从从全灭到到一个一一个亮或或者对应应流水灯灯从全亮亮到一个个一个灭灭。编程程方法与与两个LLED闪闪烁类似似,接入入的LEED二极极管继续续接在面面包板左左侧其他他的端口口位上。注意,程序控控制各引引脚输出出高低电电平要与与所接的的端口要要一一对对应起来来。2、两伺伺服电机机调零。在操作作之前,先确认认一下机机器人两两个伺服服电机的的电源控控制线(如图22.3)是否已已经正确确的连接接到C551单片片机教学学板的两两个专用用电机控控

16、制接口口上。PP1_11引脚控控制左边边电机,P1_0引脚脚控制右右边电机机,在电电路板上上我们分分别采用用W、RR、B来来表示信信号线、电源线线和地,电机控控制线颜颜色与教教学板接接口对应应字母一一致(白白红黑对对应WRRB)。图2.33伺服电电机实物物图 图22.4 电压“占空比比”与平均均电压关关系电机调速速应用PPWM(脉宽调调制)基基本原理理,通过过控制固固定电压压的直流流电源开开关频率率改变负负载两端端的电压压。在PPWM驱驱动控制制的调整整系统中中,按一一个固定定的频率率来接通通和断开开电源,并根据据需要改改变一个个周期内内“接通”和“断开”时间的的长短。通过改改变直流流电机电电

17、枢上电电压的“占空比比”来改变变平均电电压的大大小,从从而控制制电动机机的转速速。如图2.4,在在脉冲作作用下,当电机机通电时时,速度度增加;电机断断电时,速度逐逐渐减少少。只要要按一定定规律,改变通通、断电电的时间间,即可可让电机机转速得得到控制制。高电电平持续续的时间间控制电电机转速速,即脉脉冲宽度度控制连连续旋转转电机速速度和方方向。将将时间间间隔为220mss,脉宽宽为1.5mss的一系系列脉冲冲称为零零点标定定信号,电机转转速为零零,机器器人轮子子静止不不动。如如果电机机没有进进行零点点标定,机器人人轮子会会转动,如图22.5所所示,用用螺丝刀刀轻轻调调节马达达上的电电位器,直到马马

18、达停止止转动。如电机已已经完成成了零点点调节,不会转转动。但但是损坏坏了或有有缺陷的的电机有有时也不不转动。继续检检测:当高电平平持续时时间为11.3mms时,电机顺顺时针全全速旋转转;当高电平平持续时时间为11.7mms时,电机逆逆时针全全速旋转转;当高电平平持续时时间为11.3mms11.5mms之间间时,电电机顺时时针旋转转;当高电平平持续时时间为11.5mms11.7mms之间间时,电电机逆时时针旋转转。图2.55.1经经过孔把把螺丝刀刀插入电电位器 图2.5.22轻轻地地旋转螺螺丝刀调调节电位位器3、测试试电机,改变脉脉冲宽度度控制机机器人运运动速度度和方向向。如图图2.66,定义义

19、机器人人的前、后、左左、右四四个方向向。例程程中使用用priintff函数是是为了起起提示作作用,若若觉得串串口线影影响机器器人的运运动,可可以不用用此函数数。将程程序下载载到单片片机,关关闭机器器人电源源开关,断开IISP下下载线,将开关关拨到“2”档(RRUN),观察察宝贝车车运动情情况。图2.66 机器器人及其其前进方方向的定定义四、实验验程序1、参考考一个LLED闪闪烁的程程序(程程序HiighLLowLLed.c),编写程程序让两两个LEED同时时闪烁,并修改改程序让让两个LLED交交替闪烁烁,也可可以改变变延时函函数参数数n的值值,改变变LEDD闪烁频频率。*编程实实现4个个或更多

20、多LEDD流水灯灯控制,对应流流水灯从从全灭到到一个一一个亮或或者对应应流水灯灯从全亮亮到一个个一个灭灭。编程实现现两伺服电电机调零零,可以以分别调调零,也也可一起起调零。实现右右轮调零零参考代代码如下下,注意意编程的的完整性性。whille(11)P1_00=1; /P1_0 输输出高电电平delaay_nnus(15000); /延时11.5mmsP1_00=0; /P1_0 输输出低电电平delaay_nnus(200000); /延时时20mms验证下列列程序BBothhSerrvossThrreeSSecoondss.c是是否让宝宝贝车向向前进33s,后后退3ss。并根根据此程程序按

21、照照实验报报告要求求编程。#inccludde#inccluddeint maiin(vvoidd)int couunteer;uartt_Innit();prinntf(Prrogrram Runnninng!n);for(couunteer=11;coountter=1330;ccounnterr+)P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);for(couunteer=11;coountter=1330;ccounnterr+)P1_11=1;delaay_nn

22、us(13000);P1_11=0;P1_00=1;delaay_nnus(17000);P1_00=0;delaay_nnms(20);whille(11);用LEDD 指示示电机运运动状态态 在实际际应用中中,LEED 往往往起到到状态提提示作用用,交通通红绿灯灯就是一一个典型型的应用用。你可可以修改改程序来来模拟交交通灯过过程:假假设A 灯为交交通灯,B 灯为为电机运运行状态态指示灯灯。模拟拟过程如如下:A 灯闪闪烁,BB 灯灭灭,电机机停止运运行;A 灯灭灭,B 灯亮,电机开开始运行行;B 灯闪闪烁,电电机减速速运行;B 灯灭灭,A 灯闪烁烁,电机机停止运运行;如如此往复复。五、实验验

23、报告要要求1、实现现两个LLED交交替闪烁烁的编程程及电路路原理图图,观察察到的运运行效果果并加以以分析,程序调试试心得。有兴趣的的同学还还可以完完成4个个或更多多LEDD流水灯灯控制,对应流流水灯从从全灭到到一个一一个亮或或者对应应流水灯灯从全亮亮到一个个一个灭灭。要求求编程及及绘制电电路原理理图,观观察到的的运行效效果并加加以分析析,程序调试试心得。2、编程程实现两两伺服电电机调零零,可以以分别调调零,也也可一起起调零,观察到到的运行行效果并并加以分分析,程序调试试心得。3、控制制两个电电机的ddelaay_nnus函函数的参参数n有有不同的的组合,各种组组合的运运动状况况填写下下表。P1

24、_11P1_00描述运动状况况1700013000全速,PP1_11电机逆逆时针,P1_0电机机顺时针针13000170001700017000130001300015000170001500013000130001500017000150001500015000两个电机机都静止止六、思考考题1、LEED闪烁烁的工作作原理,即引脚脚输出高高低电平平信号,发光二二极管会会灭或者者亮的原原因是什什么?2、LEED闪烁烁的实验验中,逐逐渐减小小延时函函数参数数n的值值,还能能看到LLED闪闪烁吗?为什么么?3、LEED闪烁烁的实验验中,分分别将开开关拨到到“1”(PRRO)与与“2”(RUUN),看

25、实验验现象有有什么区区别?分分析原因因。4、将电电机调零零的程序序下载到到单片机机,开关关拨到 “2”,按“Resset”按钮,轮子仍仍转动,不能完完全停下下来,试试分析有有哪些原原因造成成的? 5、编编程给与与P1_1连接接的左轮轮发出脉脉宽为11.7mms,与与P1_0连接接的右轮轮发出脉脉宽1.3mss,观察察到宝贝贝车后退退,分析析是什么么原因引引起的?注:实验验操作现现场检查查。实验三 C语言言函数与与机器人人巡航控控制一、实验验目的1、掌握握对单片片机编程程使机器器人做基基本的巡巡航动作作:向前前、向后后、左转转、右转转和原地地旋转。通过测测试机器器人脉冲冲数与机机器人运运动距离离

26、的关系系,实现现机器人人的精确确动作。2、掌握握编写程程序时机机器人由由突然启启动或停停止变为为逐步加加速或减减速运动动。3、写一一些执行行基本巡巡航动作作的函数数,每一一个函数数都能够够被多次次调用。4、将复复杂巡航航运动记记录在数数组中,编写程程序执行行这些巡巡航运动动。二、实验验设备及及软件宝贝车机机器人、ISPP下载线线、串行行接口线线、计算算机、电电源。Keill uVVisiion22 IDDE集成成开发环环境、PPROGGISPP1.772下载载软件、串口调调试软件件。三、实验验内容和和步骤1、验证证程序FForwwarddLefftRiighttBacckwaard.c,看看机

27、器人人是否向向前、左左转、右右转及向向后走。如果宝贝贝车向前前运动的的过程轻轻微向左左或右偏偏移,不不是一条条直线。结果就就是左轮轮与右轮轮程序上上是以全全速行驶驶,实际际输出有有速度差差,要么么左轮速速度太慢慢,要么么右轮速速度太慢慢。让轮轮子加速速不太实实际,但但是减小小轮子的的速度就就可以解解决问题题。电机机速度是是脉冲宽宽度即程程序中延延时函数数dellay_nuss的参数数n决定定的。nn越接近近15000,电电机转速速越慢。要重复复试验得得到一个个比较准准确的输输出。将将确定好好的沿直直线运动动的参数数更新到到程序FForwwarddLefftRiighttBacckwaard.c

28、中相相应的值值。利用foor循环环控制电电机的运运行时间间,由小小车运动动形式决决定输出出距离或或角度。例程中中forr循环的的循环次次数为665,小小车运行行时间为为1.55s,运运行距离离减半。forr循环的的循环次次数为226,电电机的运运行时间间决定小小车旋转转的角度度。调整整forr循环的的循环次次数得到到非常接接近你想想要的旋旋转角度度。由于于每个小小车的情情况不一一样,在在向左转转与右转转中foor循环环的循环环次数增增加或减减少电机机的转角角,使宝宝贝车旋旋转期望望的角度度,例如如旋转990度。如果发发现一个个值使旋旋转超过过90,而另另一个使使旋转小小于900,尝试试选择一一

29、个使其其旋转更更多的值值,然后后稍微减减小电机机速度。测试一一下你的的小车要要循环多多少次才才能旋转转90度度。在转弯半半径较大大时,可可以采用用一个电电机增速速另一个个电机减减速的方方法转弯弯。由于于小车结结构的影影响,这这种方法法转弯较较慢,转转弯半径径较大,效果受受运动速速度的影影响大。在需要要转弯半半径较小小时,可可以采用用一个电电机转动动,而另另一个静静止的方方法。两两个电机机等速反反向转动动可以实实现原地地转弯。测试宝贝贝车速度度。将宝宝贝车放放在尺子子旁边,确保轮轮子接触触的地面面与尺子子的0厘厘米对齐齐在一条条线上,按复位位键重新新运行程程序,让让宝贝车车向前走走1秒钟钟,测量

30、量从出发发点到机机器人停停下来所所接触的的地面距距离,测测量结果果就是以以厘米/s为单单位的。可以参参考下列列程序。#inccludde#inccluddeint maiin(vvoidd)int couunteer;uartt_Innit();prinntf(Prrogrram Runnninng!n);for(couunteer=00;coountter1300;coountter+)/运行行3 秒秒P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);whille(11)

31、;2、将加加速或减减速与基基本巡航航动作结结合起来来,使机机器人的的每一个个动作都都能够匀匀加速或或匀减速速。参考考教材程程序SttarttAnddStoopWiithRRamppingg.c及及相似代代码更改改ForrwarrdLeeftRRighhtBaackwwardd.c。3、教材材程序MMoveemenntsWWithhFunntioons.c、MMoveemenntsWWithhOneeFunntioon.cc运行结结果与FForwwarddLefftRiighttBacckwaard.c产生生的效果果是相同同的,用用函数调调用简化化运动程程序。修修改MoovemmenttsWii

32、thOOneFFunttionn.c使使机器人人走一个个正方形形。4、验证证程序NNaviigattionnWitthSwwitcch.cc是否走走了一个个矩形。使用数数组或调调用函数数编写程程序,使使机器人人按你的的想法运运动,实实现较为为复杂的的运动。【拓展训训练】编编程使履履带坦克克机器人人、相扑扑机器人人、爬虫虫机器人人巡航控控制。四、实验验程序1、验证证程序FForwwarddLefftRiighttBacckwaard.c。#inccludde#inccluddeint maiin(vvoidd)int couunteer;uartt_Innit();prinntf(Prrogrr

33、am Runnninng!n);for(couunteer=11;coountter=655;coountter+)/向前前P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);for(couunteer=11;coountter=266;coountter+)/向左左转P1_11=1;delaay_nnus(13000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);for(couunteer=11;co

34、ountter=266;coountter+)/向右右转P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(17000);P1_00=0;delaay_nnms(20);for(couunteer=11;coountter=655;coountter+)/向后后P1_11=1;delaay_nnus(13000);P1_11=0;P1_00=1;delaay_nnus(17000);P1_00=0;delaay_nnms(20);whille(11);2、编程程反复测测试一下下小车要要循环多多少次才才能旋转转精确的的90度度。3、编程程

35、测试宝宝贝车速速度,测测量结果果就是以以厘米/s为单单位的。4、参考考以下程程序SttarttAnddStoopWiithRRamppingg.c及及相似代代码,更更改FoorwaardLLefttRigghtBBackkwarrd.cc,使机机器人的的每一个个动作都都能够匀匀加速或或匀减速速。#inccludde#inccluddeint maiin(vvoidd)int pullseCCounnt;uartt_Innit();prinntf(Prrogrram Runnninng!n);for(pullseCCounnt=110;ppulsseCoountt=2200;pullseCCou

36、nnt=ppulsseCoountt+1)P1_11=1;delaay_nnus(15000+ppulsseCoountt);P1_11=0;P1_00=1;delaay_nnus(15000-ppulsseCoountt);P1_00=0;delaay_nnms(20);for(pullseCCounnt=11;puulseeCouunt=0;ppulsseCoountt=puulseeCouunt-1)P1_11=1;delaay_nnus(15000+ppulsseCoountt);P1_11=0;P1_00=1;delaay_nnus(15000-ppulsseCoountt);P1_

37、00=0;delaay_nnms(20);whille(11);修改MoovemmenttsWiithOOneFFunttionn.c使使机器人人走一个个正方形形。#inccludde #inccludde voidd Moove(intt coountter,intt PCC1_ppulsseWiide,intt PCC0_ppulsseWiide)int i;for(i=11;i=coountter;i+)P1_11=1;delaay_nnus(PC11_puulseeWidde);P1_11=0;P1_00=1;delaay_nnus(PC00_puulseeWidde);P1_00=0

38、;delaay_nnms(20);int maiin(vvoidd)uartt_Innit();prinntf(Prrogrram Runnninng!n);Movee(655,17700,13000);Movee(266,13300,13000);Movee(266,17700,17000);Movee(655,13300,17000);whille(11);6、使用用数组或或调用函函数编写写程序,使机器器人按你你的想法法运动,实现较较为复杂杂的运动动。五、实验验报告要要求1、程序序设计小小车要循循环多少少次才能能旋转精精确的990度,观察到到的运行行效果并并加以分分析,程序调试试心得。2、

39、更改改ForrwarrdLeeftRRighhtBaackwwardd.c,使机器器人的每每一个动动作都能能够匀加加速或匀匀减速。写出程程序,观观察到的的运行效效果并加加以分析析,程序调试试心得。3、修改改MovvemeentssWitthOnneFuuntiion.c,使使机器人人走一个个正方形形。写出出程序,观察到到的运行行效果并并加以分分析,程序调试试心得。4、使用用数组或或调用函函数编写写程序,使机器器人按你你的想法法运动,实现较较为复杂杂的运动动。写出出程序,观察到到的运行行效果并并加以分分析,程序调试试心得。六、思考考题1、在程程序FoorwaardLLefttRigghtBBac

40、kkwarrd.cc中,向向左转与与右转的的forr循环的的循环次次数为226,这这是什么么意思?程序运运行效果果是怎样样的?2、机器器人完成成各种巡巡航动作作的过程程中,每每次启动动和停止止时,动动作太快快,几乎乎倾倒,为什么么会这样样呢?采采用什么么方法可可以解决决这种问问题?3、让小小车实现现转弯的的方法有有哪些?注:实验验操作现现场检查查。实验四 C511接口与与触觉导导航一、实验验目的1、接触触型传感感器作为为输入反反馈与CC51单单片机的的编程实实现。2、编程程使机器器人基于于胡须导导航,条条件判断断语句的的嵌套与与机器人人的人工工智能决决策的编编程使机机器人逃逃离进入入墙角死死区

41、。二、实验验设备及及软件宝贝车机机器人、ISPP下载线线、串行行接口、USBB接口、计算机机、电源源、安装装机器人人胡须,所需硬硬件如图图4.11。元件清单单: (1) 胡须状状金属丝丝2根; (2) 平头MM3x222盘头头螺钉22个; (3) 13mmm圆形形立柱22个;(4) M3尼尼龙垫圈圈2个; (5) 3-ppin公公-公接接头2个个;(6) 2200电阻22个; (7) 10kk电阻22个。 图4.1 胡胡须硬件件Keill uVVisiion22 IDDE集成成开发环环境、PPROGGISPP1.772下载载软件、串口调调试软件件。三、实验验内容和和步骤1、通过过布置恰恰当的电

42、电路,在在机器人人前端安安装并测测试一个个称为胡胡须的触触觉开关关,对CC51单单片机编编程来监监视触觉觉开关的的状态。安装并测测试机器器人胡须须见图44.2。确定两两条胡须须比较靠靠近,但但又不接接触面包包板上的的3-ppin头头,推荐荐保持33mm的的距离。参考接接线图44.3,搭建胡胡须电路路。色环电阻阻你会读读吗?(提示:棕红橙橙黄绿,蓝紫灰灰白黑)220电阻(红红黑黑黑棕),100k电阻(棕黑黑黑红棕)。注意:右右边胡须须状态信信息输入入是通过过P1口口的第44引脚完完成,左左边胡须须状态信信息输入入是通过过P2口口的第33引脚完完成。也也可以接接其他引引脚,注注意电路路与程序序要匹

43、配配。图4.22 安装装机器人人胡须 图图4.33 胡须须电路示示意图 图44.4是是实际的的参考接接线图,安装好好的触觉觉胡须的的机器人人如图44.5。图4.44 胡须须接线图图 图44.5安安装好触触觉胡须须的机器器人单片机AAT899S522的四个个端口PP0、PP1、PP2和PP3是可可以按位位来操作作,从低低到高依依次为第第0口、第1口口第77口,书书写分别别为PXX.0、PX.1、PPX.77(X取取0到33)。P1&00 x100:取PP1.44P1P1.77P1.66P1.55P1.44P1.33P1.22P1.11P1.000 x10000010000P2&00 x088:取

44、PP2.33P2P2.77P2.66P2.55P2.44P2.33P2.22P2.11P2.000 x08800001000P1&00 x100和P22&0 xx08分分别提取取了P11.4和和P2.3的值值,屏蔽蔽了其他他位。测试胡须须源程序序TesstWhhiskkerss.c。要用到到调试终终端,当当程序运运行时要要确保串串口已经经接好。弄清哪哪条胡须须是左胡胡须,哪哪条是右右胡须。当胡须须没有被被碰到,使引脚脚电压为为5V,胡须状状态为11;当胡胡须被碰碰到时,使引脚脚电压为为0V,胡须状状态为00。2、通过过胡须导导航。机机器人行行走时,如果有有胡须被被触动,意味着着碰到了了什么。尝

45、试让让宝贝车车向前行行走,当当在其路路线上遇遇到障碍碍物时,它将后后退、旋旋转并向向另一个个方向行行走以避避开障碍碍物。具具体程序序RoaaminngWiithWWhisskerrs.cc。可以以调整LLeftt _TTurnn()和和Rigght_Turrn ()子程程序中ffor循循环的循循环次数数增加或或减少电电机的转转角,使使宝贝车车旋转期期望的角角度。在在空间比比较狭小小的地方方,可以以调整程程序Baackwwardd()中中forr循环的的循环次次数来减减少后退退的距离离。3、基于于人工智智能决策策的编程程使机器器人逃离离进入墙墙角死区区。编程程使机器器人逃离离进入墙墙角死区区。当

46、宝宝贝车进进入墙角角时,左左胡须触触墙,于于是它倒倒退,右右转。当当小车再再向前行行走,右右胡须触触墙,于于是再倒倒退,左左转。然然后它又又前进又又会碰到到左墙,再次碰碰到右墙墙等,直直到有人人把它从从困境中中解救出出来。使使用含iifelsse嵌套套语句用用于探测测连续的的、交替替出现的的胡须触触动。编编程使宝宝贝车在在行走时时,轮流流触动它它的胡须须,胡须须在经过过四次触触动之后后,宝贝贝车会进进行后退退、旋转转1800离开墙墙角。具具体程序序EsccapiingCCornnerss.c。尝试增增加或减减小变量量couunteer的数数值,观观察机器器人在正正常行走走过程中中是否有有任何不

47、不同。【拓展训训练】触触觉导航航机器人人走迷宫宫竞赛。四、实验验报告要要求1、搭建建触觉导导航电路路,测试试胡须源源程序TTesttWhiiskeers.c。使使用串口口调试助助手观察察运行效效果并加加以分析析。程序序调试心心得。#inccludde#inccluddeint P1_4sttatee(vooid)/获获取P11_4 的状态态retuurn (P11&0 xx10)?1:0;int P2_3sttatee(vooid)/获获取P22_3 的状态态retuurn (P22&0 xx08)?1:0;int maiin(vvoidd)uartt_Innit();prinntf(WHHI

48、SKKER STAARTEESnn);whille(11)prinntf(右边边胡须的的状态:%d ,PP1_44staate();prinntf(左边边胡须的的状态:%dn,P2_3sttatee();delaay_nnms(1500);程序RooamiingWWithhWhiiskeers.c触觉觉导航的的实现,胡须机机器人怎怎样行走走。#inccludde#inccluddeint P1_4sttatee(vooid)retuurn (P11&0 xx10)?1:0;int P2_3sttatee(vooid)retuurn (P22&0 xx08)?1:0;voidd Foorwaar

49、d(voiid)P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);voidd Leeft_Turrn(vvoidd)int i;for(i=11;i=266;i+)P1_11=1;delaay_nnus(13000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);voidd Riightt_Tuurn(voiid)int i;for(i=11;i=266;i+)P1_11=1;delaay_nnus(1

50、7000);P1_11=0;P1_00=1;delaay_nnus(17000);P1_00=0;delaay_nnms(20);voidd Baackwwardd(vooid)int i;for(i=11;i=655;i+)P1_11=1;delaay_nnus(13000);P1_11=0;P1_00=1;delaay_nnus(17000);P1_00=0;delaay_nnms(20);int maiin(vvoidd)uartt_Innit();prinntf(Prrogrram Runnninng!n);whille(11)if(P1_4sttatee()=0)&(P2_3stta

51、tee()=0) /两胡胡须同时时碰到Backkwarrd(); /向后后Leftt_Tuurn();/向左左Leftt_Tuurn();/向左左elsee iff(P11_4sstatte()=00) /右胡胡须碰到到Backkwarrd();/向后Leftt_Tuurn();/向左左elsee iff(P22_3sstatte()=00) /左胡胡须碰到到Backkwarrd();/向后Righht_TTurnn();/向向右elsee /胡须没没有碰到到Forwwardd();/向向前程序EsscappinggCorrnerrs.cc是如何何工作的的。#inccludde#incclud

52、deint P1_4sttatee(vooid)retuurn (P11&0 xx10)?1:0;int P2_3sttatee(vooid)retuurn (P22&0 xx08)?1:0;voidd Foorwaard(voiid)P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(13000);P1_00=0;delaay_nnms(20);voidd Leeft_Turrn(vvoidd)int i;for(i=11;i=266;i+)P1_11=1;delaay_nnus(13000);P1_11=0;P1_00=1;dela

53、ay_nnus(13000);P1_00=0;delaay_nnms(20);voidd Riightt_Tuurn(voiid)int i;for(i=11;i=266;i+)P1_11=1;delaay_nnus(17000);P1_11=0;P1_00=1;delaay_nnus(17000);P1_00=0;delaay_nnms(20);voidd Baackwwardd(vooid)int i;for(i=11;i4)counnterr=1;Backkwarrd();/向后Leftt_Tuurn();/向左左Leftt_Tuurn();/向左左elseecounnterr=1;if

54、(P1_4sttatee()=0)&(P2_3sttatee()=0)Backkwarrd();/向后Leftt_Tuurn();/向左左Leftt_Tuurn();/向左左elsee iff(P11_4sstatte()=00)Backkwarrd();/向后Leftt_Tuurn();/向左左elsee iff(P22_3sstatte()=00)Backkwarrd();/向后Righht_TTurnn();/向向右elseeForwwardd();/向向前五、思考考题1、触觉觉导航的的原理是是什么?通过胡胡须导航航时如何何避开障障碍物?2、语句句Retturnn(P11&0 xx10)

55、?1:0的意意义是什什么?试试说明。3、语句句if(P11_4sstatte()=00)&( PP2_33staate()=0)Bacckwaard();LLeftt_Tuurn();LLeftt_Tuurn(); 的的含义是是什么?4、在胡胡须导航航程序中中函数FForwwardd()有有变动,只发送送一个脉脉冲,然然后返回回,这样样的好处处是什么么?5、是否否有且只只有一根根胡须被被触动,如何通通过获取取左、右右胡须的的状态作作出判断断?写出出具体的的判断语语句。注:实验验操作现现场检查查。实验五 C511接口与与红外线线导航一、实验验目的1、掌握握红外传传感器作作为输入入反馈与与单片机机

56、的编程程实现,让机器器人的CC51单单片机可可以收发发红外光光信号。2、使用用红外线线发射和和接收器器件探测测道路,编程实实现高性性能的IIR导航航和边沿沿探测。二、实验验设备及及软件宝贝车机机器人、ISPP下载线线、串行行接口、USBB接口、计算机机、电源源。所需元件件:(1) 两个红红外检测测器,如如图5.1; (2) 两个IIR LLED,如图55.2; (3) 四个4470电阻 (黄紫紫黑黑棕棕);(4) 两个990133三极管管,如图图5.33。图5.11红外检检测器 图5.2红外外线二极极管LEED发射射器图5.33.1 三极管管90113管脚脚图 图5.3.22 三极极管9001

57、3结结构图及及符号图图Keill uVVisiion22 IDDE集成成开发环环境、PPROGGISPP1.772下载载软件、串口调调试软件件。三、实验验内容和和步骤使用红外外光来照照射机器器人前进进的路线线,确定定何时有有光线从从被探测测目标反反射回来来,通过过检测反反射回来来的红外外光可以以确定前前方是否否有物体体。机器器人使用用红外线线二极管管LEDD发射红红外光线线,红外外检测器器相当于于眼睛,检测到到反射回回来的红红外光线线,并发发出信号号来表明明检测到到从物体体反射回回红外线线,如图图5.44。红外外线(IIR)接接收/检检测器有有内置的的光滤波波器,除除了需要要检测9980nnm

58、波长长的红外外线外,几乎不不允许其其他光通通过。红红外检测测器还有有一个电电子滤波波器,只只允许大大约388.5kkHz的的电信号号通过。图5.44 用红红外探测测障碍物物 1、搭建建并测试试IR发发射和探探测器对对,如图图5.55。注意意断开主主板和电电机的电电源。图5.55左侧和和右侧IIR组电电路原理理图图5.66 左右右IR组组实物参参考图本任务中中,发送送持续11ms的的 388.5kkHz的的红外光光,如果果红外光光被小车车路径上上的物体体反射回回来,红红外检测测器将给给微控制制器发送送一个信信号,让让它知道道已经检检测到反反射回的的红外光光。当没没有IRR信号返返回时,探测器器的

59、输出出状态为为高电平平。当它它探测到到被物体体反射的的38.5kHHz的红红外信号号时,它它的输出出为低电电平。放一个物物体,比比如手或或一张纸纸,距离离IR组组大约11英寸。验证当当你放一一个物体体在IRR组前时时,调试试终端是是否会显显示0,当你将将物体移移开时,它是否否显示11。注意:保保持宝贝贝车机器器人与串串口电缆缆的连接接,因为为你将用用串口调调试助手手来测试试你的IIR组。参考程序序(TeestLLefttIrPPairr.c):#inccludde#inccluddeint P1_2sttatee(vooid)retuurn (P11&0 xx04)?1:0;int maiin

60、(vvoidd)int couunteer;int irDDeteectLLeftt;uartt_Innit();prinntf(Prrogrram Runnninng!n);whille(11)for(couunteer=00;coountter38;couunteer+)P1_33=1;delaay_nnus(13);P1_33=0;delaay_nnus(13);irDeetecctLeeft=P1_2sttatee();prinntf(irrDettecttLefft=%dnn,iirDeetecctLeeft);delaay_nnms(1000);2、IRR检测器器探测和和避开障障碍

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论