Ожидаемый инициализатор перед "myservo"
Здравствуйте, я вхожу в Arduino и хочу, чтобы мой код был аккуратным. Я не знаю, как, но думаю, что #include "Stepper.h" и "Servo.h" будут работать. Программа показывает, что это работает. Но теперь это показывает, что я ожидаемый inizializer до "myservo" отсутствует. Я не знаю, что это значит. Любая помощь была бы очень кстати! Вот код: первый-это первая вкладка, второй-вторая вкладка и так далее.
int stepsPerRevolution=2048;
int motSpeed=10;
int dt=500;
int buttonPin=2;
int motDir=1;
int buttonValNew;
int buttonValOld=1;
Stepper myStepper (stepsPerRevolution, 8,10,9,11);
#include <Servo.h> //Servo
Servo myservo;
int pos =0;
#include "Servo.h"//einbezug der Dateien
#include "Stepper.h"
int menu = 0;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
//Displays the menu
if (menu == 0) {
//Выводит меню на последовательный порт
Serial.println("Wähle eine Eingabe aus:");
Serial.println("-----------------");
Serial.println("1) Starte den Stepper Motor");
Serial.println("2) Starte den Servo Motor");
Serial.println("3) Stoppe alles");
Serial.println("4) Trace Boundary");
Serial.println("5) Start Drawing");
Serial.flush();
while (!Serial.available()) {}
menu = Serial.parseInt(); // sucht für einen interger
Serial.flush();
}
Во-вторых, где проблема находится в строке 8:
Servo myservo;
int pos =0;
void setup()
// поместите свой установочный код здесь, чтобы запустить его один раз:
myservo.attach(3); // присоединяет сервопривод на выводе 9 к сервообъекту
}
void loop()
// поместите свой основной код здесь, чтобы запустить его повторно:
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos); // скажите серво перейти в позицию в переменной 'pos'
delay(0); // ждет 15 мс, пока сервопривод достигнет нужного положения
}
for (pos = 180; pos >= 0; pos -= 1) { // переходит от 180 градусов к 0 градусам
myservo.write(pos); // скажите серво перейти в позицию в переменной 'pos'
delay(0); // ждет 15 мс, пока сервопривод достигнет нужного положения
}
}
И вкладка thrid в программе:
int stepsPerRevolution=2048;
int motSpeed=10;
int dt=500;
int buttonPin=2;
int motDir=1;
int buttonValNew;
int buttonValOld=1;
Stepper myStepper (stepsPerRevolution, 8,10,9,11);
void setup()
// put your setup code here, to run once:
Serial.begin(9600);
myStepper.setSpeed(motSpeed);
pinMode(buttonPin,INPUT);
digitalWrite(buttonPin,HIGH);
}
void loop()
// put your main code here, to run repeatedly:
buttonValNew=digitalRead(buttonPin);
if (buttonValOld==1 && buttonValNew==0) {
motDir=motDir*(-1);
}
myStepper.step(motDir*1);
} ```
@Jonasoos, 👍1
Обсуждение0
Смотрите также:
- Преобразование int или float в массив байтов в ардуино
- Как объявить массив переменного размера (глобально)
- устаревшее преобразование из строковой константы в 'char*'
- Какие есть другие IDE для Arduino?
- Esp8266 Vin контакт
- Плата для разработки STM8 с Arduino IDE
- Поскольку double и float представляют один и тот же тип данных (обычно), что предпочтительнее?
- Скрытие пароля WLAN при отправке на GitHub
во втором и третьем списках отсутствуют части структуры программы .... обратитесь к примеру минимальный скетч в среде IDE arduino, чтобы увидеть, что вам не хватает, @jsotola
В первом вы используете библиотеку stepper, прежде чем фактически включить ее (вы должны сделать все включено в самой верхней части файла). Во втором коде вы пропускаете включение для библиотеки сервоприводов, и у вас отсутствует " {"в начале" setup () " и " loop ()". Аналогично в третьем коде: Отсутствует включение и отсутствует " {
для
настройки()и
цикла ()". В общей сложности: Вам нужно включить в скетч все библиотеки, которые вы хотите использовать. И вы должны придерживаться правильного синтаксиса C/C++. Для этого вы можете обратиться к учебным пособиям по C/C++., @chrislКроме того, ошибки компилятора довольно описательны. Вы можете поместить сообщение об ошибке в Google, и вы, скорее всего, найдете много результатов для помощи. Когда компилятор выдает ошибку, это в основном чистая проблема C/C++ и не имеет ничего общего с Arduino. Я надеюсь, что приведенное выше описание поможет, но поскольку ваш вопрос касается не Arduino, а синтаксиса C/C++, здесь он не по теме. Я голосую за то, чтобы закрыть этот вопрос., @chrisl
Почему вы включаете Servo.h дважды?, @KIIV