Я не вижу ошибки в моем коде Arduino.

Вот мой код, и когда я помещаю его в Arduino IDE, он говорит:

"ожидаемое первичное выражение перед", "токен"

Я думаю, что где-то забыл точку или сделал небольшую ошибку в классе if.

Большое спасибо за Вашу помощь.

Код:

#include <Servo.h>

#define trigPin 13
#define echoPin 12
#define PinOut1 

Servo myservo; 
int AnalogIn=A0;
int buttonState = 0;
int integer1 = 3;
float floating1 = PI;
String string1 = "words and numbers123";
int array1[5] = {100, 200, 300, 400, 500};
int PinIn1 = 2;
int PinOUt = 11;
int button = 0;

void setup() {
  pinMode(PinOUt, OUTPUT);
  pinMode(PinIn1, INPUT);
  Serial.begin(9600);
  myservo.attach(9);
}

void loop() {
  Conditional1();
}

void Conditional1() {
  button = digitalRead(PinIn1);
  if (buttonState == HIGH) {
    digitalwrite(PinOut1, HIGH);
    myservo.write(60);
  } else{
    digitalwrite(PinOut1, LOW);
    myservo.write(0);
  }
}

1 ответ

Решение

В строке 4 написано #define PinOut1попробуйте добавить пробел, чтобы сделать это#define PinOut 1

РЕДАКТИРОВАТЬ: Было также несколько других вещей, которые я заметил после этого поста, поэтому я скомпилировал исправленную версию вашего кода:

#include <Servo.h>
#define trigPin 13
#define echoPin 12
#define PinOut1 11
Servo myservo; 
int AnalogIn=A0;
int buttonState = 0;
int integer1 = 3;
float floating1 = PI;
String string1 = "words and numbers123";
int array1[5] = {100, 200, 300, 400, 500};


int PinIn1 = 2;
int PinOut = 11;
int button = 0;


void setup() {
  pinMode(PinOut, OUTPUT);
  pinMode(PinIn1, INPUT);
  Serial.begin(9600);
  myservo.attach(9);
}
void loop() {
Conditional1();
}

void Conditional1() {
   button = digitalRead(PinIn1);

  if (buttonState == HIGH) {
digitalWrite(PinOut1, HIGH);
    myservo.write(60);

  } else{
    digitalWrite(PinOut1, LOW);
    myservo.write(0);

  }
}
Другие вопросы по тегам