1010motor povorot

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
 //////////////////////////////////////////////
 //     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 сек
}