#include <Ultrasonic.h>//Это библиотека Ultrasonic, дающая следующие команды: Ultrasonic [название](TRIG,ECHO); [название].read() .
#include <AFMotor.h> //Это библиотека AFMotor, дающая следующие команды: AF_DCMotor [имя мотора](PIN); [имя мотора].setspeed(0-255); [имя мотора].run(RELEASE или FORWARD или BACKWARD);
AF_DCMotor motor1(4); // порт motor1 находится на 4
AF_DCMotor motor2(3); // порт motor1 находится на 3
Ultrasonic ultrasonic(10, 9);
int sm;
void setup() {
Serial.begin(9600);// настроить встроенную библиотеку связми Serial на частоту 9600
Serial.println("Идёт настройка моторов...");
// turn on motor
motor1.setSpeed(/*0-255*/); // выбрать скорость
motor1.run(RELEASE);
motor2.setSpeed(/*0-255*/);
motor2.run(RELEASE);
delay(3000);
}
void loop() {
uint8_t i;
Serial.println("Проверяю дистанцию...");
sm = ultrasonic.read(); // счесть данные с ультразвукового сенсора
Serial.print("Дистанция в СМ: ");
Serial.println(sm); // вывести дальность до ближайшего препятствия
Serial.println("Проверка");
if (sm > 1 && sm < 50) { // ЕСЛИ в 50 сантиметрах будет замечено препятствие
Serial.println("Атакую!");
motor1.run(/*FORWARD или BACKWARD*/); //двигаться вперёд
motor2.run(/*FORWARD или BACKWARD*/);
delay(300);
} else { // в любом другом случае
Serial.println("Осматриваюсь...");
motor1.run(/*FORWARD или BACKWARD*/); //крутиться влево/вправо и искать препятствие
motor2.run(/*FORWARD или BACKWARD*/);
delay(10);
}
}