前言

大三的暑期实践,报名了潘峰老师授课的《机器人结构了解与实现》。

一直想玩一下简单的机器人,得偿所愿,希望能够有所收获。

 

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

研究大车的转弯