void setup() {
Serial.begin(9600);
Serial.println("Курс | X_ветер | A_ветер | Y | Описание");
Serial.println("----------------------------------------");
}
void loop() {
// Тест 1: Курс на север
int kurs = 0; // Север
Serial.println("\n=== Курс 0° (север) ===");
for (int X = 360; X >= 0; X -= 30) { // Шаг 30° для наглядности
int A_veter = (540 - X) % 360;
if (A_veter < 0) A_veter += 360;
int theta = (A_veter - kurs) % 360;
if (theta < 0) theta += 360;
int Y = (theta == 0) ? 360 : theta;
Serial.print(kurs);
Serial.print(" | ");
Serial.print(X);
Serial.print(" | ");
Serial.print(A_veter);
Serial.print(" | ");
Serial.print(Y);
Serial.print(" | ");
if (Y == 360) Serial.println("В нос");
else if (Y == 180) Serial.println("В корму");
else if (Y == 90) Serial.println("Справа");
else if (Y == 270) Serial.println("Слева");
else Serial.println("Промежуточное");
delay(100);
}
// Тест 2: Курс на восток
kurs = 90;
Serial.println("\n=== Курс 90° (восток) ===");
for (int X = 360; X >= 0; X -= 30) {
int A_veter = (540 - X) % 360;
if (A_veter < 0) A_veter += 360;
int theta = (A_veter - kurs) % 360;
if (theta < 0) theta += 360;
int Y = (theta == 0) ? 360 : theta;
Serial.print(kurs);
Serial.print(" | ");
Serial.print(X);
Serial.print(" | ");
Serial.print(A_veter);
Serial.print(" | ");
Serial.print(Y);
Serial.print(" | ");
if (Y == 360) Serial.println("В нос");
else if (Y == 180) Serial.println("В корму");
else if (Y == 90) Serial.println("Справа");
else if (Y == 270) Serial.println("Слева");
else Serial.println("Промежуточное");
delay(100);
}
Serial.println("\n=== Конец теста ===");
while(1);
}