前言
大三的暑期实践,报名了潘峰老师授课的《机器人结构了解与实现》。
一直想玩一下简单的机器人,得偿所愿,希望能够有所收获。
DAY 1
上午
对大车和小车结构包括充电、显示屏、开关、舵机等等进行了解(图为大车)
大车:在崇宏感测RobotV2_C语言环境里进行基础run()函数编写的尝试
1 // 崇宏感测 CHGC www.chgckj.com 2 #include <includes.h> 3 int CHGCi; 4 5 #define P 20//功率 6 #define Gray 340//灰度(小于是白) 7 8 void run(int p1,int p2); 9 void line(void); 10 11 void run(int p1,int p2)//运动控制函数 12 { 13 motor(1,p1);//右轮 14 motor(2,p2);//左轮 15 }
1 void mainX1(void) 2 { 3 test();//显示灰度值 4 while(1) 5 { 6 run(5,5); 7 } 8 }
下午
安装小车所需的keil和jlink
安装jlink驱动失败,可能是系统更新的原因,回去更新系统
DAY 2
研究大车的巡线
1 void line(){//巡线 2 //灰度传感器,左侧为8,右侧为1,左中为20,右中为21 3 //白线直行 4 if(analog(4)>Gray&&analog(5)>Gray){ 5 run(P,P); 6 } 7 //不需要根据弧度来改变转弯速度,只需保证每种情况都转弯即可 8 //左转 9 else if(analog(3)<Gray&&analog(6)>Gray){ 10 run(P,P/2); 11 } 12 else if(analog(2)<Gray&&analog(7)>Gray){ 13 run(P,P/2); 14 } 15 else if(analog(1)<Gray&&analog(8)>Gray){ 16 run(P,P/2); 17 } 18 //右转 19 else if(analog(3)>Gray&&analog(6)<Gray){ 20 run(P/2,P); 21 } 22 else if(analog(2)>Gray&&analog(7)<Gray){ 23 run(P/2,P); 24 } 25 else if(analog(1)>Gray&&analog(8)<Gray){ 26 run(P/2,P); 27 } 28 }
1 void mainX2(void) 2 { 3 test(); 4 while(1) 5 { 6 line(); 7 } 8 }
此处记一下MainX函数
1 void mainX(void *p_arg) 2 { 3 //控制显示屏上显示的可选择的主函数的数量 4 set_name(MAINX1,"main1"); 5 set_name(MAINX2,"main2"); 6 set_name(MAINX3,"main3"); 7 set_name(MAINX4,"main4"); 8 // .... x7 9 10 select_main(); 11 12 }
DAY 3
研究大车的转弯