1910krest nul
Перейти к навигации
Перейти к поиску
//////////////////////////////////////////////
// 2021.02.18 woronin, umkiedu@gmail.com
// работа с двумя моторами езда вперед c поворотом
// Robot UMKI controller K6_3
// при езде плотером из двух сервомоторов рисует крестики и нолики
//////////////////////////////////////////////
int mLspeed = 5; // 5-й управляет вращением левого мотора
int motorL = 4; // 4-й контакт определяет направление вращения первого левого мотора
int mRspeed = 3; // 3-й управляет вращением правого мотора
int motorR = 2; // 2-й контакт определяет направление вращения первого правого мотора
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1; // объявляем переменную servo типа "servo1"
Servo servo2; // объявляем переменную servo типа "servo2"
void setup()
{
pinMode(mLspeed, OUTPUT); // конфигурим контакты как работающие на выход
pinMode(mRspeed, OUTPUT);
pinMode(motorR, OUTPUT);
pinMode(motorL, OUTPUT);
servo1.attach(10); // привязываем сервопривод к выходу 10
servo2.attach(9); // привязываем сервопривод к выходу 9
}
void krestik()
{
servo2.write(95); // точка 0
delay(500); // ждем
servo1.write(65); // точка 0
delay(500); // ждем
servo1.write(110); // точка 1
delay(500); // ждем
servo1.write(50); // точка 2
delay(500); // ждем
servo1.write(110); // точка 1
delay(500); // ждем
servo1.write(50); // точка 2
delay(500); // ждем
servo1.write(65); // точка 0
delay(500); // ждем
servo2.write(60); // точка 3
delay(500); // ждем
servo2.write(110); // точка 4
delay(500); // ждем
servo2.write(60); // точка 3
delay(500); // ждем
servo2.write(110); // точка 4
delay(500); // ждем
}
void nolik()
{
servo1.write(110); // точка 1
delay(500); // ждем
servo2.write(60); // точка 3
delay(500); // ждем
servo1.write(50); // точка 2
delay(500); // ждем
servo2.write(110); // точка 4
delay(500); // ждем
servo1.write(110); // точка 1
delay(500); // ждем
servo2.write(60); // точка 3
delay(500); // ждем
servo1.write(50); // точка 2
delay(500); // ждем
servo2.write(110); // точка 4
delay(500); // ждем
}
void loop()
{
digitalWrite (motorR, HIGH);// Вперед
digitalWrite (motorL, HIGH);
digitalWrite (mRspeed, HIGH); // включаем вращение моторов
digitalWrite (mLspeed, HIGH);
delay(1000); // Вращаем 1 сек
digitalWrite (mRspeed, LOW); // стоп
digitalWrite (mLspeed, LOW);
krestik();
digitalWrite (motorR, LOW);// Вправо
digitalWrite (motorL, HIGH);
digitalWrite (mRspeed, HIGH); // включаем вращение моторов
digitalWrite (mLspeed, HIGH);
delay(500); // Вращаем 0.5 сек
digitalWrite (mRspeed, LOW); // стоп
digitalWrite (mLspeed, LOW);
delay(1000); //останов 1 сек.
digitalWrite (motorR, HIGH);// Вперед
digitalWrite (motorL, HIGH);
digitalWrite (mRspeed, HIGH); // включаем вращение моторов
digitalWrite (mLspeed, HIGH);
delay(1000); // Вращаем 1 сек
digitalWrite (mRspeed, LOW); // стоп
digitalWrite (mLspeed, LOW);
nolik();
digitalWrite (motorR, LOW);// Вправо
digitalWrite (motorL, HIGH);
digitalWrite (mRspeed, HIGH); // включаем вращение моторов
digitalWrite (mLspeed, HIGH);
delay(500); // Вращаем 0.5 сек
digitalWrite (mRspeed, LOW); // стоп
digitalWrite (mLspeed, LOW);
delay(1000); //останов 1 сек.
}