// Каркас движения по линии. Требования к программе — в тексте урока. const int LEFT_SENSOR_PIN = A4; const int RIGHT_SENSOR_PIN = A5; // Впиши свои измерения из бортового журнала. const int LEFT_WHITE = 0; const int LEFT_BLACK = 0; const int RIGHT_WHITE = 0; const int RIGHT_BLACK = 0; const int LEFT_DIR_PIN = 7; const int LEFT_SPEED_PIN = 6; const int RIGHT_DIR_PIN = 4; const int RIGHT_SPEED_PIN = 5; const int FORWARD = HIGH; void drive(int leftDir, int leftSpeed, int rightDir, int rightSpeed) { digitalWrite(LEFT_DIR_PIN, leftDir); digitalWrite(RIGHT_DIR_PIN, rightDir); analogWrite(LEFT_SPEED_PIN, leftSpeed); analogWrite(RIGHT_SPEED_PIN, rightSpeed); } // Требование 1: перенеси функцию onLine из тестового скетча. bool onLine(int value, int white, int black) { return false; } void setup() { pinMode(LEFT_DIR_PIN, OUTPUT); pinMode(LEFT_SPEED_PIN, OUTPUT); pinMode(RIGHT_DIR_PIN, OUTPUT); pinMode(RIGHT_SPEED_PIN, OUTPUT); drive(FORWARD, 0, FORWARD, 0); // Требование 3: защита от запуска без измерений и время убрать руки. } void loop() { // Требование 2: прочитать датчики, решить по своей таблице правил, задать скорости. drive(FORWARD, 0, FORWARD, 0); }