Требуемые условия завершения
Танцы с бубном на Ардуино нано


Для начала вот код, который поможет понять, какие пины точно отвечают за нужный двигатель)
#define A 6
#define B 7
void setup() {
for (int i = 2; i <= 13; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}
}
void loop() {
// Тест 1: A = направление, B = включение
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
delay(3000);
stopAll();
delay(2000);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
delay(3000);
stopAll();
delay(4000);
// Тест 2: B = направление, A = включение
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
delay(3000);
stopAll();
delay(2000);
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
delay(3000);
stopAll();
delay(5000);
}
void stopAll() {
for (int i = 2; i <= 13; i++) {
digitalWrite(i, LOW);
}
}
И вот код рабочий)
Просто крутятся колеса)
#define R_DIR 3
#define R_EN 4
#define L_DIR 6
#define L_EN 7
void setup() {
pinMode(R_DIR, OUTPUT);
pinMode(R_EN, OUTPUT);
pinMode(L_DIR, OUTPUT);
pinMode(L_EN, OUTPUT);
stopRobot();
}
void loop() {
forward();
delay(2000);
stopRobot();
delay(1000);
backward();
delay(2000);
stopRobot();
delay(1000);
turnLeft();
delay(1000);
stopRobot();
delay(1000);
turnRight();
delay(1000);
stopRobot();
delay(2000);
}
void forward() {
digitalWrite(R_DIR, HIGH);
digitalWrite(R_EN, HIGH);
digitalWrite(L_DIR, HIGH);
digitalWrite(L_EN, HIGH);
}
void backward() {
digitalWrite(R_DIR, LOW);
digitalWrite(R_EN, HIGH);
digitalWrite(L_DIR, LOW);
digitalWrite(L_EN, HIGH);
}
void turnLeft() {
digitalWrite(R_DIR, HIGH);
digitalWrite(R_EN, HIGH);
digitalWrite(L_DIR, LOW);
digitalWrite(L_EN, HIGH);
}
void turnRight() {
digitalWrite(R_DIR, LOW);
digitalWrite(R_EN, HIGH);
digitalWrite(L_DIR, HIGH);
digitalWrite(L_EN, HIGH);
}
void stopRobot() {
digitalWrite(R_EN, LOW);
digitalWrite(L_EN, LOW);
}
Далее робот балансирующий)
Последнее изменение: пятница, 8 мая 2026, 13:03