2025.5.18第二次提交,重新写一份复杂的,慢一些的turn函数

This commit is contained in:
Ñõԭ×Ó
2025-05-18 11:55:43 +08:00
parent df42d6ce7f
commit 1155ae6f6d
15 changed files with 1005 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
#include<iostream>
#include<string>
#include"eyebot++.h"
#include"maze_parameter.h"
#include"maze_func.h"
using namespace std;
void BOTturn(int turn)
{
int f_wall, b_wall, r_wall, l_wall;
int old_f_wall, old_b_wall;
int turn_check;
if (turn == -1) //右转
{
l_wall = PSDGetRaw(2) - 16;
if (l_wall < 145)
{
b_wall = PSDGetRaw(4) - 2;
do
{
old_b_wall = b_wall;
MOTORDriveRaw(1,19);
MOTORDriveRaw(2,-17);
OSWait(850);
MOTORDriveRaw(1,0);
MOTORDriveRaw(2,0);
b_wall = (PSDGetRaw(4) - 2) * 0.7 + old_b_wall * 0.3; //减小突变
turn_check = b_wall - old_b_wall;
OSWait(50);
} while ( turn_check < -3 || b_wall > 140);
}
else
{
ENCODERReset(1);
ENCODERReset(2);
do
{
MOTORDriveRaw(1,21);
MOTORDriveRaw(2,-19);
} while (abs(ENCODERRead(2)) < 218);
}
MOTORDriveRaw(1,0);
MOTORDriveRaw(2,0);
}
else if (turn == 1) //左转
{
r_wall = PSDGetRaw(3);
if (r_wall < 145)
{
b_wall = PSDGetRaw(4) - 2;
do
{
old_b_wall = b_wall;
MOTORDriveRaw(1,-19);
MOTORDriveRaw(2,17);
OSWait(850);
MOTORDriveRaw(1,0);
MOTORDriveRaw(2,0);
b_wall = (PSDGetRaw(4) - 2) * 0.7 + old_b_wall * 0.3; //减小突变
turn_check = b_wall - old_b_wall;
OSWait(50);
} while (turn_check < -3 || b_wall > 130);
}
else
{
ENCODERReset(1);
ENCODERReset(2);
do
{
MOTORDriveRaw(1,-21);
MOTORDriveRaw(2,19);
} while (abs(ENCODERRead(2)) < 240);
}
MOTORDriveRaw(1,0);
MOTORDriveRaw(2,0);
}
else if (turn == 2) //掉头
{
ENCODERReset(1);
ENCODERReset(2);
do
{
MOTORDriveRaw(1,21);
MOTORDriveRaw(2,-19);
} while (abs(ENCODERRead(2)) < 500);
MOTORDriveRaw(1,0);
MOTORDriveRaw(2,0);
}
else
{
cout << "errer" << endl;
}
}