1502 datleen test

Материал из УМКИwiki
Версия от 20:04, 17 декабря 2019; Woronin (обсуждение | вклад) (Новая страница: «<syntaxhighlight lang="C++"> ////////////////////////////////////////////// // 2019.12.17 woronin, umkiedu@gmail.com // Датчик линии цифр…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
//////////////////////////////////////////////
//     2019.12.17 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);
}