Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | Следующая версия Следующая версия справа и слева | ||
main:shields:motor_shield [2020/07/27 16:14] smartadmin [Плюсы использования] |
main:shields:motor_shield [2020/07/27 16:16] smartadmin [Пример подключения и использования] |
||
---|---|---|---|
Строка 101: | Строка 101: | ||
**Скетч для загрузки:** | **Скетч для загрузки:** | ||
<file Arduino> | <file Arduino> | ||
- | #define E1 6 //Вывод платы расширения Motor Drive Shield, используемый для контроля скорости мотора А. | ||
- | #define E2 5 //Вывод платы расширения Motor Drive Shield, используемый для контроля скорости мотора В. | ||
- | #define M1 7 //Вывод платы расширения Motor Drive Shield, используемый для контроля направления вращения мотора А. | ||
- | #define M2 4 //Вывод платы расширения Motor Drive Shield, используемый для контроля направления вращения мотора В. | ||
- | |||
- | int motorSpeed = 255; //Переменная для хранения скорости вращения моторов (вы можете задать свою скорость вращения колес). | ||
int delay_time = 1500; | int delay_time = 1500; | ||
- | void motor_drive_config() //Инициализация выводов платы расширения Motor Drive Shield. | ||
- | { | ||
- | pinMode(M1, OUTPUT); //Назначение вывода M1 выходом. | ||
- | pinMode(M2, OUTPUT); //Назначение вывода M2 выходом. | ||
- | pinMode(E1, OUTPUT); //Назначение вывода E1 выходом. | ||
- | pinMode(E2, OUTPUT); //Назначение вывода E2 выходом. | ||
- | } | ||
- | |||
- | void move_forward() //Движение робота вперед. | ||
- | { | ||
- | digitalWrite(M1, HIGH); //Левые колеса вращаются вперед. | ||
- | digitalWrite(M2, HIGH); //Правые колеса вращаются вперед. | ||
- | analogWrite(E1, motorSpeed); //Скорость вращения правых колес. | ||
- | analogWrite(E2, motorSpeed); //Скорость вращения левых колес. | ||
- | } | ||
- | |||
- | void move_right() //Движение робота вправо. | ||
- | { | ||
- | digitalWrite(M1, LOW); //Левые колеса вращаются назад. | ||
- | digitalWrite(M2, HIGH); //Правые колеса вращаются вперед. | ||
- | analogWrite(E1, motorSpeed); //Скорость вращения левых колес. | ||
- | analogWrite(E2, motorSpeed); //Скорость вращения правых колес. | ||
- | } | ||
- | |||
- | void move_left() //Движение робота влево. | ||
- | { | ||
- | digitalWrite(M1, HIGH); //Левые колеса вращаются вперед. | ||
- | digitalWrite(M2, LOW); //Правые колеса вращаются назад. | ||
- | analogWrite(E1, motorSpeed); //Скорость вращения левых колес. | ||
- | analogWrite(E2, motorSpeed); //Скорость вращения правых колес. | ||
- | } | ||
- | |||
- | void move_stop() //Остановка робота. | ||
- | { | ||
- | digitalWrite(M1, LOW); //Левые колеса вращаются назад. | ||
- | digitalWrite(M2, LOW); //Правые колеса вращаются назад. | ||
- | analogWrite(E1, 0); //Скорость вращения колес снизить до 0. | ||
- | analogWrite(E2, 0); //Скорость вращения колес снизить до 0. | ||
- | } | ||
- | |||
- | void move_back() //Движение робота назад. | ||
- | { | ||
- | digitalWrite(M1, LOW); //Левые колеса вращаются назад. | ||
- | digitalWrite(M2, LOW); //Правые колеса вращаются назад. | ||
- | analogWrite(E1, motorSpeed); //Скорость вращения левых колес. | ||
- | analogWrite(E2, motorSpeed); //Скорость вращения правых колес. | ||
- | } | ||
void setup() // Задание начальных параметров системы. | void setup() // Задание начальных параметров системы. | ||
{ | { | ||
- | motor_drive_config(); //инициализация выводов платы расширения Motor Drive Shield. | + | |
- | move_stop(); //начальная позиция робота — робот стоит. | + | |
} | } | ||