任务三:如何让机器人踢球
主函数调用范例:
tiqiu(); 动作函数详解:
void tiqiu() { uchar i; //定义循环变量 //左摆头 for(i=0;i<100;i++) { position[1]--; PWM_16(); sao_wei(30); } //抬右脚 for(i=0;i<50;i++) { position[0]++; PWM_16(); sao_wei(10); } //落右脚 for(i=0;i<50;i++) { position[0]--; PWM_16(); sao_wei(10); } //身体复位 for(i=0;i<100;i++) { position[1]++; PWM_16(); sao_wei(30); } } 任务四:如何让机器人左转、右转
主函数调用范例:
turn_l(3); //左转 turn_r(3); //右转 动作函数详解: (
void turn_l(uchar times) { uchar i,j; for(j=0;j (2)右转 void turn_r(uchar times) { uchar i,j; for(j=0;j 注: 此动作的编写过程中应考虑到重心的偏移,以及脚部与地面的摩擦效果。 任务五:如何让机器人行走 主函数调用范例: walking(uchar step); 动作函数详解: void walking(uchar step) { uchar i,j; //右摆身,重心右移 for(i=0;i<30;i++) { position[1]+=2; PWM_16(); sao_wei(20); } //前抬左脚,后抬右脚 for(i=0;i<5;i++) { position[2]-=1; position[0]-=1; PWM_16(); sao_wei(15); } //左摆身,重心左移 for(i=0;i<60;i++) { position[1]-=2; PWM_16(); sao_wei(15); } ////////////step步数////////// for(j=0;j //右摆身,重心右移 for(i=0;i<40;i++) { position[1]+=3; PWM_16(); sao_wei(20); } //左半身跟上,抬左脚 for(i=0;i<5;i++) { position[2]-=2; position[0]-=2; PWM_16(); sao_wei(20); } //左摆身,重心左移 for(i=0;i<40;i++) { position[1]-=3; PWM_16(); sao_wei(20); } } ////////////step步数////////// //右半身跟上 for(i=0;i<5;i++) { position[2]+=1; position[0]+=1; PWM_16(); sao_wei(15); } //右摆身,重心右移 for(i=0;i<30;i++) { position[1]+=2; PWM_16(); sao_wei(20); } delay_500ms();