README.md

Робот для езды по линии

Logo

const int SENSOR_LINE_R = 9;
const int SENSOR_LINE_L = 8;
const int SPEED_1 = 5; 
const int DIR_1 = 4;
 
const int SPEED_2 = 6;
const int DIR_2 = 7;
 
void setup() {
  // настраиваем выводы платы 4, 5, 6, 7 на вывод сигналов 
  for (int i = 4; i < 8; i++) {     
    pinMode(i, OUTPUT);
  }
} 
 
void loop() {

if(digitalRead (SENSOR_LINE_R)){
  go();
  }
  if(digitalRead (SENSOR_LINE_L)){
  go();
  }
  
if(digitalRead (SENSOR_LINE_R) == 0){
  right();
  }
  
if(digitalRead (SENSOR_LINE_L) == 0){
  left();
  }
  
}
void left() {


  digitalWrite(DIR_1, LOW);
  digitalWrite(DIR_2, 1);

  analogWrite(SPEED_1, 255);
  analogWrite(SPEED_2, 0);

}
void right() {


  digitalWrite(DIR_1, 1);
  digitalWrite(DIR_2, LOW);

  analogWrite(SPEED_1, 0);
  analogWrite(SPEED_2, 250);

}

void go() {


  digitalWrite(DIR_1, LOW);
  digitalWrite(DIR_2, LOW);

  analogWrite(SPEED_1, 255);
  analogWrite(SPEED_2, 250);

}

Конвейеры
0 успешных
0 с ошибкой