Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:1602:mgul.160021.002 [2018/04/11 10:04] angel_of_death |
doc:1602:mgul.160021.002 [2018/04/28 23:47] (текущий) |
||
---|---|---|---|
Строка 29: | Строка 29: | ||
void Engine_Forward() { // прямое вращение двигателя | void Engine_Forward() { // прямое вращение двигателя | ||
Serial.println("En_Forward"); | Serial.println("En_Forward"); | ||
- | digitalWrite(L, LOW); | + | digitalWrite(L, LOW);X |
digitalWrite(R, HIGH); | digitalWrite(R, HIGH); | ||
analogWrite(Engine_pwm, Engine_Speed_Now); | analogWrite(Engine_pwm, Engine_Speed_Now); | ||
Строка 59: | Строка 59: | ||
Engine_Speed_Now = 40; | Engine_Speed_Now = 40; | ||
} | } | ||
- | void Steering_Forward() { // рулевая прямо, требуется выравнивание поворотами левво\право, если нагрузна большая | + | void Steering_Forward() { |
- | if (flag_st == 0) { | + | if (flag_st == 0) { // флаг 0, выравниваемся способом №1 |
Steering_Pos = 60; | Steering_Pos = 60; | ||
Serial.println(" Steering_Forward(60) "); | Serial.println(" Steering_Forward(60) "); | ||
Строка 73: | Строка 73: | ||
Steering_Serv.write(Steering_Pos + 2); | Steering_Serv.write(Steering_Pos + 2); | ||
} | } | ||
- | if (flag_st == 1) { | + | if (flag_st == 1) { // флаг 1, выравниваемся способом №2 |
- | if (Steering_Pos > 60 && Steering_Pos < 130) { | + | if (Steering_Pos > 60 && Steering_Pos < 130) { // программная проверка позиции сервы |
- | Steering_Pos = 60; | + | Steering_Pos = 60; // выравнивание для правого поворота |
Serial.println(" Steering_Forward(60) "); | Serial.println(" Steering_Forward(60) "); | ||
Steering_Serv.write(75); | Steering_Serv.write(75); | ||
Строка 87: | Строка 87: | ||
Steering_Serv.write(45); | Steering_Serv.write(45); | ||
} | } | ||
- | if (Steering_Pos < 60 && Steering_Pos > -5) { | + | if (Steering_Pos < 60 && Steering_Pos > -5) { // программная проверка позиции сервы |
- | Steering_Pos = 60; | + | Steering_Pos = 60; // выравнивание для левого поворота |
Steering_Serv.write(75); | Steering_Serv.write(75); | ||
delay(90); | delay(90); | ||
Строка 101: | Строка 101: | ||
} | } | ||
} | } | ||
- | void Steering_Right() { // при нажатии рулевая немного налево, в зависимости от нагрузки платформы | + | void Steering_Right() { |
- | if (flag_st == 0) { | + | if (flag_st == 0) { // если стоим, то до упора поворот |
Steering_Pos = 0; | Steering_Pos = 0; | ||
Steering_Serv.write(Steering_Pos); | Steering_Serv.write(Steering_Pos); | ||
Строка 108: | Строка 108: | ||
} | } | ||
if (flag_st == 1) { | if (flag_st == 1) { | ||
- | if (Steering_Pos > 5) { | + | if (Steering_Pos > 5) { // если едем, то плавно рулим |
Steering_Pos -= Steering_Angle; | Steering_Pos -= Steering_Angle; | ||
Serial.println(Steering_Pos); | Serial.println(Steering_Pos); | ||
Строка 115: | Строка 115: | ||
} | } | ||
} | } | ||
- | void Steering_Left() { // при нажатии рулевая немного направо, в зависимости от нагрузки платформы | + | void Steering_Left() { |
- | if (flag_st == 0) { | + | if (flag_st == 0) { // если стоим, то до упора поворот |
Steering_Pos = 120; | Steering_Pos = 120; | ||
Steering_Serv.write(Steering_Pos); | Steering_Serv.write(Steering_Pos); | ||
Serial.println("MAX L"); | Serial.println("MAX L"); | ||
} | } | ||
- | if (flag_st == 1) { | + | if (flag_st == 1) { // если едем, то плавно рулим |
if (Steering_Pos < 120) { | if (Steering_Pos < 120) { | ||
Steering_Pos += Steering_Angle; | Steering_Pos += Steering_Angle; |