如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
机电一体化综合训练实习总结一、舵机车总结1、实习任务与要求舵机车的实习任务主要是通过理解舵机运行的原理,提高自我的动手能力,编写程序使舵机车实现用传感器以探测周边环境、基于传感器信息作出决策、操作带动轮子旋转的电机控制宝贝车运动、与用户交换信息,从而更好的掌握89C52单片机。2、总结实习内容2.1巡航控制编程使宝贝车做一些基本的动作:向前、向后、左转、右转和原地旋转。宝贝车向前走:P1_1=1;delay_nus(1300);P1_1=1;P1_0=0;delay_nus(1700);P1_0=0;delay_nms(20);宝贝车向后走:P1_1=1;delay_nus(1300);P1_1=1;P1_0=0;delay_nus(1700);P1_0=0;delay_nms(20);宝贝车原地左转:P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);宝贝车原地右转:P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);2.2机器人触觉导航2.2.1胡须电路原理下图所示为胡须电路原理图,当胡须没有被触动,连接胡须的I/O管脚的电压是5V;当胡须被触动时,I/O短接到地,所以I/O管脚的电压是0V。微控制器启动或复位时,所有的I/O插脚缺省为输入。也就是说,连接到胡须的I/O管脚会自动作为输入。作为输入,如果I/O脚上的电压为5V(胡须没有被触动),则其相应的寄存器中的相应位存储1;如果电压为0V(胡须被触动),则存储0。、2.2.2胡须检测到障碍物时编程:if((P1_5state()==0)&&(P2_3state()==0))//两个胡须同时检测到障碍物时,后退,再向左转180度{Back_Up();Turn_Left();Turn_Left();}elseif(P1_5state()==0){Back_Up();Turn_Right();}elseif(P2_3state()==0)//右边胡须检测到障碍物时,后退,再向左转90度{Back_Up();Turn_Left();}else//没有胡须检测到障碍物时,向前走Forward();2.2.3对LED胡须测试电路编程:#include<uart.h>intP1.5state(void)//获取P1.5的状态{return(P1&0x20);}intP2.3state(void)//获取P2.3的状态{return(P2&0x08);}intmain(void){while(1){if(P1.5state()==0)P1.0=0;P1.0=1;;if(P2.3state()==0)P1.1=0;elseP1.1=1;delay_nms(50);}}2.2.4通过胡须导航让宝贝车行走,当在其路线上遇到障碍物时,它将后退、旋转并向另一个方向行走。编程如下:#include<BoeBot.h>#include<uart.h>intP1_5state(void){return(P1&0x20)?1:0;}intP2_2state(void){return(P2&0x08)?1:0;}voidForward(void){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}voidLeft_Turn(void){inti;for(i=1;i<=26;i++){P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}}voidRight_Turn(void){inti;for(i=1;i<=26;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);}}voidBackward(void){inti;for(i=1;i<=65;i++){P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);}}intmain(void){uart_Init();prin