1010motor povorot: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «<code> ////////////////////////////////////////////// // 2019.07.19 woronin, umkiedu@gmail.com // движение на 4-х моторах с пов…») |
Evgen (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
< | <syntaxhighlight lang="C++"> | ||
////////////////////////////////////////////// | ////////////////////////////////////////////// | ||
// 2019.07.19 woronin, umkiedu@gmail.com | // 2019.07.19 woronin, umkiedu@gmail.com | ||
Строка 12: | Строка 12: | ||
int mLspeed=3; // 3 управляет вращением левого мотора | int mLspeed=3; // 3 управляет вращением левого мотора | ||
int mRspeed=5; // 5 управляет вращением правого мотора | int mRspeed=5; // 5 управляет вращением правого мотора | ||
void setup() { | |||
pinMode(mLspeed, OUTPUT); | pinMode(mLspeed, OUTPUT); | ||
pinMode(mRspeed, OUTPUT); | pinMode(mRspeed, OUTPUT); | ||
Строка 21: | Строка 22: | ||
// Драйвер управляется выходными сигналами с Ардуино. | // Драйвер управляется выходными сигналами с Ардуино. | ||
//Поэтому определяем все контакты , как OUTPUT | //Поэтому определяем все контакты , как OUTPUT | ||
} | |||
void loop() | |||
{ | |||
//Двигаемся вперед | //Двигаемся вперед | ||
digitalWrite (motorR1, HIGH);// Команда digitalWrite устанавливает на контакте 2 высокий уровень | digitalWrite (motorR1, HIGH);// Команда digitalWrite устанавливает на контакте 2 высокий уровень | ||
Строка 44: | Строка 46: | ||
digitalWrite (mLspeed, LOW); | digitalWrite (mLspeed, LOW); | ||
delay(500); // 1 сек | delay(500); // 1 сек | ||
} | |||
</ | |||
</syntaxhighlight> | |||
[[Категория:Видео эпизоды УМКИ]] | [[Категория:Видео эпизоды УМКИ]] | ||
[[Категория:Примеры программирования Arduino]] |
Текущая версия от 14:44, 15 ноября 2019
//////////////////////////////////////////////
// 2019.07.19 woronin, umkiedu@gmail.com
// движение на 4-х моторах с поворотом
// Robot UMKI controller K6_3
// самостоятельно добится чтобы получилась езда по квадрату
//////////////////////////////////////////////
int motorR1=2; // 2 контакт определяет направление вращения первого правого мотора
int motorR2=6; // 6 контакт определяет направление вращения второго правого мотора
int motorL1=4; // 4 контакт определяет направление вращения первого левого мотора
int motorL2=7; // 7 контакт определяет направление вращения второго левого мотора
int mLspeed=3; // 3 управляет вращением левого мотора
int mRspeed=5; // 5 управляет вращением правого мотора
void setup() {
pinMode(mLspeed, OUTPUT);
pinMode(mRspeed, OUTPUT);
pinMode(motorR1, OUTPUT);
pinMode(motorR2, OUTPUT);
pinMode(motorL1, OUTPUT);
pinMode(motorL2, OUTPUT);
// Драйвер управляется выходными сигналами с Ардуино.
//Поэтому определяем все контакты , как OUTPUT
}
void loop()
{
//Двигаемся вперед
digitalWrite (motorR1, HIGH);// Команда digitalWrite устанавливает на контакте 2 высокий уровень
digitalWrite (mRspeed, HIGH); // высокий уровень на контакте 3 разрешает драйверу
digitalWrite (motorL1, HIGH);
digitalWrite (mLspeed, HIGH);
delay(2000); // Вращаем 1 сек
// стоп
digitalWrite (mRspeed, LOW);
digitalWrite (mLspeed, LOW);
delay(500); // 1 сек
//Дигаемся вправо
digitalWrite (motorR1, HIGH);// Команда digitalWrite устанавливает на контакте 2 высокий уровень
digitalWrite (mRspeed, HIGH); // высокий уровень на контакте 3 разрешает драйверу
digitalWrite (motorL1, LOW);
digitalWrite (mLspeed, HIGH);
delay(600); // поворот на 90 градусов - добивается подбором времени
// стоп
digitalWrite (mRspeed, LOW);
digitalWrite (mLspeed, LOW);
delay(500); // 1 сек
}