Загрузка данных


мой код
исправь ошибки

#include <Arduino.h>

int max_speed =135;
int red_sens = 70;
int green_sens = 50;
int calibrate_time = 3;
int lag_time = 1;

unsigned long last_time = 0;

int calib_R_red, calib_G_red, calib_B_red;
int calib_R_green, calib_G_green, calib_B_green;
int RED, GREEN, BLUE;

void Init_Motors(){
  pinMode(2, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(8, INPUT);
  pinMode(11, INPUT);
}

void Mesure_color(){
  digitalWrite(A0, LOW); digitalWrite(10, LOW);
  RED = pulseIn(9, LOW, 20000);
  digitalWrite(A0, HIGH); digitalWrite(10, HIGH);
  GREEN = pulseIn(9, LOW, 20000);
  digitalWrite(A0, LOW); digitalWrite(10, HIGH);
  BLUE = pulseIn(9, LOW, 20000);
}

void STOP(){
  analogWrite(5, 0);
  analogWrite(6, 0);
}

void Robot_tracking(){
  bool left = digitalRead(7);
  bool right = digitalRead(8);

  if (!left && !right){
    digitalWrite(2, LOW);
    digitalWrite(4, LOW);
    analogWrite(5, max_speed);
    analogWrite(6, max_speed);
  } if (left && !right){
    digitalWrite(2, HIGH);
    digitalWrite(4, LOW);
    analogWrite(5, max_speed);
    analogWrite(6, max_speed);
  } if (!left && right){
    digitalWrite(2, LOW);
    digitalWrite(4, HIGH);
    analogWrite(5, max_speed);
    analogWrite(6, max_speed);
  } else{
    STOP();
  }
}

void Blink_LED(int pin){
  for(int i = 0; i < 5;i++){
    digitalWrite(pin, HIGH);
    delay(200);
    digitalWrite(pin,LOW);
    delay(200);
  }
}

bool colormatch(int cR, int cG, int cB, int tolerance){
  return (abs(RED-cR)< tolerance && abs(GREEN-cG) < tolerance && abs(BLUE-cB) < tolerance);
}

void setup(){
  Init_Motors();
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A4, OUTPUT);
  pinMode(A3, OUTPUT);
  pinMode(A0, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, INPUT);
  digitalWrite(A0, HIGH);
  digitalWrite(10, LOW);
  digitalWrite(A1, HIGH);
  delay(calibrate_time * 1000);
  Mesure_color();
  calib_R_green = RED; calib_G_green = GREEN; calib_B_green = BLUE;
  digitalWrite(A1, LOW);
  delay(1000);
  digitalWrite(A2, HIGH);
  delay(calibrate_time * 1000);
  Mesure_color();
  calib_R_red = RED; calib_G_red = GREEN; calib_B_red = BLUE;
  digitalWrite(A2, LOW);
}

void loop(){
  Mesure_color();
  if (colormatch(calib_R_red, calib_G_red, calib_B_red, red_sens)) {
    if (millis() - last_time > (unsigned long)lag_time * 1000) {
      STOP();
      Blink_LED(A2); 
      last_time = millis();
    }
  } 
  else if (colormatch(calib_R_green, calib_G_green, calib_B_green, green_sens)) {
    if (millis() - last_time > (unsigned long)lag_time * 1000) {
      STOP();
      Blink_LED(A1);  
      last_time = millis();
    }
  } 
}


исправь мой код вот тестовые функции

int sens1 = 8;
int sens2 = 7;
int sens3 = 11;
int val1;
int val2;
int val3;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(sens1, INPUT);
pinMode(sens2, INPUT);
pinMode(sens3, INPUT);

}

void loop() {
  // put your main code here, to run repeatedly:
val1=digitalRead(sens1);
Serial.print("val1=");
Serial.println(val1);

val2=digitalRead(sens2);
Serial.print("val2=");
Serial.println(val2);

val3=digitalRead(sens3);
Serial.print("val3=");
Serial.println(val3);
delay(500);

}
void setup() {
  
  pinMode(2, OUTPUT);  
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);  
  pinMode(6, OUTPUT);
}

void loop() {
  digitalWrite(2, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, 255);
  digitalWrite(6, 255);
  delay(10000); 
  
  digitalWrite(2, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, 0);
  digitalWrite(6, 255);   
  delay(10000);   
                       
  digitalWrite(2, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, 0);
  digitalWrite(6, 0);   
  delay(10000); 

  digitalWrite(2, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, 0);
  digitalWrite(6, 255);   
  delay(10000);   

  
}