避障机器人设计与调试.docVIP

  • 6
  • 0
  • 约2.9千字
  • 约 5页
  • 2017-05-12 发布于河南
  • 举报
避障机器人设计与调试

避障机器人设计与调试 一 、目的 了解机器人大赛中的规则,进一步理解电机和传感器的原理; 二、设备 硬件:HOST机一台、; 软件:WIN2000 或xp 操作系统、开发环境、调试器 四、步骤 正确连接PC 机、调试器和; 打开电源, 打开; 打开的例程,正确调试并运行该程序 4、烧录完成后断电拔掉调试器,把组装好的机器人放入模拟的参赛场地,再次打开电源,观察机器人的情况。 void main() { unsigned int ad_test; unsigned int i = 0; SystemInit(); while(1) { DodgeObstruction(); } } void DodgeObstruction() { unsigned char ad_distance_left = 0; unsigned char ad_distance_midl = 0; unsigned char ad_distance_rigt = 0; while(1) { ad_distance_left = GetIR_Distance(2); ad_distance_midl = GetIR_Distance(3); ad_distance_rigt = GetIR_Distance(4); if(ad_distance_left40 ad_distance_midl40 ad_distance_rigt40) { DC_Motor(1,0,60); DC_Motor(3,0,60); DC_Motor(2,0,60); DC_Motor(4,0,60); } if(ad_distance_rigt40) { DC_Motor(1,0,60); DC_Motor(3,0,60); DC_Motor(2,2,10); DC_Motor(4,2,10); } if(ad_distance_midl40) { DC_Motor(1,2,70); DC_Motor(3,2,70); DC_Motor(2,2,70); DC_Motor(4,2,70); } if(ad_distance_left40) { DC_Motor(1,2,10); DC_Motor(3,2,10); DC_Motor(2,0,60); DC_Motor(4,0,60); } } } void DC_Motor(unsigned char motor_num,unsigned char direction, unsigned char motor_speed) { unsigned char SFRPAGE_save = SFRPAGE; SFRPAGE = CONFIG_PAGE; if(!motor_speed) { switch(motor_num) { case 1: PCA0CPH0 = 255; break; case 2: PCA0CPH1 = 255; break; case 3: PCA0CPH2 = 255; break; case 4: PCA0CPH3 = 255; break; case 5: PCA0CPH4 = 255; break; case 6: PCA0CPH5 = 255; break; default: break; } } else switch(motor_num) { case 1: PCA0CPH0 = 255 - (motor_speed+116); break; case 2: PCA0CPH1 = 255 - (motor_speed+116); break; case 3: PCA0CPH2 = 255 - (motor_speed+116); break; case 4: PCA0CPH3 = 255 - (motor_speed+116); Break; case 5: PCA0CPH4 = 255 - (motor_speed+116); break; case 6: PCA0CPH5 = 255 - (motor_speed+116); break; default: br

文档评论(0)

1亿VIP精品文档

相关文档