1502 datleen test
Перейти к навигации
Перейти к поиску
//////////////////////////////////////////////
// 2021.02.20 woronin, umkiedu@gmail.com
// Датчик линии цифровой сигнал, тестируем движение
// Robot UMKI controller K6_3
// включаем правый и левый мотор по макс. для поворотов, при езде по датчикам линии
//////////////////////////////////////////////
const int sensorR = A1; // Подсоедниняем правый датчик к A1
const int sensorL = A0; // Подсоедниняем левый датчик к A0
int Rsensor; // Проверяем правый датчик
int Lsensor; // Проверяем левый датчик
int motorR1 = 2; // направление вращения первого правого мотора
int motorL1 = 4; // направление вращения первого левого мотора
int mLspeed = 3; // 3 управляет вращением левого мотора
int mRspeed = 5; // 5 управляет вращением правого мотора
void setup()
{
pinMode( sensorR , INPUT);
pinMode( sensorL , INPUT);
Serial.begin(9600);
pinMode(mLspeed, OUTPUT); // конфигурим работающие на выход
pinMode(mRspeed, OUTPUT);
pinMode(motorR1, OUTPUT);
pinMode(motorL1, OUTPUT);
}
// Основной бесконечный цикл
void loop() {
Rsensor=digitalRead(sensorR);
Lsensor=digitalRead(sensorL);
if ((Lsensor == 0)&&(Rsensor==0)) {// если оба датчика видят белый
Serial.println("Lsensor =0 Rsensor=0");
digitalWrite(motorR1, HIGH ); // правый мотор вперед
digitalWrite(mRspeed, HIGH); // правого мотора на максимуме
digitalWrite(motorL1 , HIGH ); // левый мотор вперед
digitalWrite(mLspeed, HIGH); // левого мотора на максимуме
delay(200);
}
if ((Lsensor == 1)&&(Rsensor==0)) {// если левый датчик видит черный
Serial.println("Lsensor =1 Rsensor=0");
digitalWrite( motorR1, HIGH ); // правый мотор вперед
digitalWrite(mRspeed, HIGH); // правого мотора на максимуме
digitalWrite( motorL1 , LOW ); // левый мотор Назад
digitalWrite(mLspeed, HIGH); // левого мотора на максимуме
delay(200);
}
if ((Lsensor == 0)&&(Rsensor==1)) {// если правый датчик видит черный
Serial.println("Lsensor =0 Rsensor=1");
digitalWrite( motorR1, LOW ); // правый мотор Назад
digitalWrite(mRspeed, HIGH); // правого мотора на максимуме
digitalWrite( motorL1 , HIGH ); // левый мотор вперед
digitalWrite(mLspeed, HIGH); // левого мотора на максимуме
delay(200);
}
if ((Lsensor == 1)&&(Rsensor==1)) {// если оба датчика видит черный
Serial.println("Lsensor =1 Rsensor=1");
digitalWrite( motorR1, LOW ); // правый мотор Назад
digitalWrite(mRspeed, HIGH); // правого мотора на максимуме
digitalWrite( motorL1 , LOW ); // левый мотор Назад
digitalWrite(mLspeed, HIGH); // левого мотора на максимуме
delay(200);
}
digitalWrite(mRspeed, LOW); // скорость правого мотора стоп
digitalWrite(mLspeed, LOW); // скорость левого мотора стоп
delay(200);
}