Я не вижу ошибки в моем коде 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);
}
}