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; const int BACKWARD = (FORWARD == HIGH) ? LOW : HIGH; int speed = 100; int turnSpeed = 100; int turn90Ms = 400; // впиши своё время из журнала int turn180Ms = 800; // впиши своё время из журнала 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); } void stopMotors() { analogWrite(LEFT_SPEED_PIN, 0); analogWrite(RIGHT_SPEED_PIN, 0); } void setupMotors() { pinMode(LEFT_DIR_PIN, OUTPUT); pinMode(LEFT_SPEED_PIN, OUTPUT); pinMode(RIGHT_DIR_PIN, OUTPUT); pinMode(RIGHT_SPEED_PIN, OUTPUT); stopMotors(); } void forward(int ms) { drive(FORWARD, speed, FORWARD, speed); delay(ms); stopMotors(); } void turnLeft() { drive(BACKWARD, turnSpeed, FORWARD, turnSpeed); delay(turn90Ms); stopMotors(); } void turnRight() { drive(FORWARD, turnSpeed, BACKWARD, turnSpeed); delay(turn90Ms); stopMotors(); } void turnAround() { drive(BACKWARD, turnSpeed, FORWARD, turnSpeed); delay(turn180Ms); stopMotors(); } void setup() { setupMotors(); delay(2000); for (int i = 0; i < 4; i++) { forward(1000); delay(300); turnLeft(); delay(300); } } void loop() { }