Помошь по дипломной. Вопрос по програмированию Arduino mega
- Войдите на сайт для отправки комментариев
Добрый день. Ребята помогите мне с кодом. Программа:
#include <AFMotor.h> // Подключаем библиотеку для работы с шилдом
// Подключаем моторы к клеммникам M1, M2, M3, M4
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
void setup(){
// Задаем максимальную скорость вращения моторов (аналог работы PWM)
motor1.setSpeed(255);
motor1.run(RELEASE);
motor2.setSpeed(255);
motor2.run(RELEASE);
motor3.setSpeed(255);
motor3.run(RELEASE);
motor4.setSpeed(255);
motor4.run(RELEASE);
}
void loop(){
digitalRead(31);
if (digitalRead(31) == HIGH)
{
motor1.run(FORWARD); // Задаем движение вперед
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
motor1.setSpeed(100); // Задаем скорость движения
motor2.setSpeed(100);
motor3.setSpeed(100);
motor4.setSpeed(100);
delay(5000);
// Останавливаем двигатели
/* Очень не рекомендуем резко переключать направление вращения двигателей.
Лучше дать небольшой промежуток времени.*/
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
motor1.run(BACKWARD); // Задаем движение назад
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
motor1.setSpeed(100); // Задаем скорость движения
motor2.setSpeed(100);
motor3.setSpeed(100);
motor4.setSpeed(100);
delay(4000);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(1000);
// на лево
motor1.run(FORWARD); // Задаем движение вперед
motor4.run(FORWARD);
motor1.setSpeed(100); // Задаем скорость движения
motor4.setSpeed(100);
delay(1000);
// Останавливаем двигатели
/* Очень не рекомендуем резко переключать направление вращения двигателей.
Лучше дать небольшой промежуток времени.*/
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(5000);
}
else
{
motor1.run(FORWARD); // Задаем движение вперед
motor4.run(FORWARD);
motor1.setSpeed(100); // Задаем скорость движения
motor4.setSpeed(100);
delay(1000);
// Останавливаем двигатели
/* Очень не рекомендуем резко переключать направление вращения двигателей.
Лучше дать небольшой промежуток времени.*/
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(5000);
}
}
как мне сделать так чтобы ардуино видела что если на пине з раза будет высокий логический уровень то полностью программа закончится тк как когда у меня логический уровень низкий она у меня крутиться в лево. А мне нужно сделать так чтобы когда будет 3 раза высокий логический уровень моторы остановились а не крутились в лево до бесконечности.