Статус выхода 1 не может скомпилироваться

Я полный новичок с очень небольшими знаниями. Я пытаюсь сделать переключатель в Arduino UNO, используя руководство, которое я нашел в Интернете, но оно не скомпилируется. Серводвигатель должен работать, если он включен loadstate == HIGH. Я понятия не имею, что такое "статус выхода 1" и как это исправить, помогите.

#include <Servo.h>
    Servo myservo;

    int buttonPin = 3;
    int reading;
    int state = 0;
    int Loadstate = 0;

    int pos = 0;
    int trig = 13; 
    int echo = 11;

void setup() {
  // поместите сюда код установки для однократного запуска:

    pinMode(buttonPin, INPUT);
    pinMode(ledPin, OUTPUT);
    pinMode (trig ,OUTPUT);
    pinMode (echo ,INPUT);
    myservo.attach(7);

}


void loop() {

    long duration, distance;

    digitalWrite (trig, LOW);
    delayMicroseconds (2);
    digitalWrite (trig, HIGH);
    delayMicroseconds (10);
    digitalWrite (trig, LOW);
    duration = pulseIn(echo, HIGH);
    distance = (duration/2) / 29.1;


      reading = digitalRead(buttonPin);

  if (state == 0 && reading == HIGH){
        state = 1;
        Loadstate = !Loadstate;
  }
  if (state == 1 && reading = LOW){
        state = 0;
  }

  if (Loadstate == HIGH){
      if (distance <= 30 && distance >= 0){
          for (pos = 0; pos<90; pos +=1){               

            myservo.write(pos);
            delay(15);
        }

        delay(1000);

          for(pos = 90; pos>=1;pos-=1){
            myservo.write(pos);
            delay(15);
        }
        }
        }   
}

, 👍0


1 ответ


1
  1. ledPin не определен. Вы должны определить это где-то.
  2. if (state == 1 && reading = LOW){ недопустимый синтаксис. Для сравнения значений необходимо использовать ==, а не =.
,