1010motor povorot

Материал из УМКИwiki
Версия от 12:51, 12 августа 2019; 195.209.192.5 (обсуждение) (Новая страница: «<code> ////////////////////////////////////////////// // 2019.07.19 woronin, umkiedu@gmail.com // движение на 4-х моторах с пов…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

//////////////////////////////////////////////
//     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 сек
}