Robo Car

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

const int trigPin = 7; // вхід для управління датчиком відстані

const int echoPin = 6; // вихід датчика відстані


const int motor1Pin1 = 8; // вхід 1 для першого двигуна
const int motor1Pin2 = 10; // вхід 2 для першого двигуна
const int motor2Pin1 = 11; // вхід 1 для другого двигуна
const int motor2Pin2 = 12; // вхід 2 для другого двигуна
const int distanceLimit = 40; // мінімальна дистанція від стіни
const int but = 4; // кнопочка запуску роботи програми
void setup() {
pinMode(trigPin, OUTPUT); // встановлюємо вхід для управління датчиком відстані
як вихід
pinMode(echoPin, INPUT); // встановлюємо вихід датчика відстані як вхід
pinMode(motor1Pin1, OUTPUT); // встановлюємо вхід 1 для першого двигуна як вихід
pinMode(motor1Pin2, OUTPUT); // встановлюємо вхід 2 для першого двигуна як вихід
pinMode(motor2Pin1, OUTPUT); // встановлюємо вхід 1 для другого двигуна як вихід
pinMode(motor2Pin2, OUTPUT); // встановлюємо вхід 2 для другого двигуна як вихід
}

void loop()
{
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration / 60;

if (distance > distanceLimit) { // якщо немає перешкоди на шляху


digitalWrite(motor1Pin1, HIGH); // рухати перший двигун в одному напрямку
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH); // рухати другий двигун в одному напрямку
digitalWrite(motor2Pin2, LOW);
} else { // якщо є перешкода на шляху
digitalWrite(motor1Pin1, LOW); // рухати перший двигун в одному напрямку
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW); // рухати другий двигун в одному напрямку
digitalWrite(motor2Pin2, HIGH);
}
}

You might also like