Вопрос задан 19.07.2023 в 21:35.
Предмет Информатика.
Спрашивает Алексеева Элла.
Помогите найти ошибку на ардуино Вот скетч #include int joyX = 0; int angl = 0; Servo myservo;
void setup() { myservo.attach(9); pinMode(joyX,INPUT); Serial.begin(9600); } void loop(){ int val = (analogRead(joyX)/64)-8; if(val>0){ angl=angl+abs(val); } } else{ if (val < 0){ angl=angl-abs(val);} } if(angl<0)angl = 0; if(angl>180)angl = 180; Serial.print("Power:"); Serial.println(val); Serial.print("angle:"); Serial.println(angl); myservo.write(angl); int spd = 500 if(val !=0){ spd = 600/abs(val); } Serial.print("Speed:"); Serial.println(spd); Serial.println("-----------"); delay(spd); } вот ошибка которую он выдает Arduino: 1.6.5 (Windows 8.1), Плата"Arduino/Genuino Uno" sketch_may16a:17: error: expected unqualified-id before 'else' expected unqualified-id before 'else' Это сообщение будет содержать больше информации чем "Отображать вывод во время компиляции" включено в Файл > НастройкиОтветы на вопрос
Отвечает Горбунов Иван.
Ответ:
Объяснение:
ты else вынес из функции loop() посмотри на фигурные скобочки
void loop(){
int val = (analogRead(joyX)/64)-8;
if(val>0){
angl=angl+abs(val);
}
} <-----
else{
if (val < 0){
angl=angl-abs(val);}
}
+ у тебя пустой include
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Ошибка в вашем скетче связана с неправильным размещением фигурных скобок и несоответствующим использованием оператора "else". Вот исправленный код:
cpp#include <Servo.h>
int joyX = 0;
int angl = 0;
Servo myservo;
void setup() {
myservo.attach(9);
pinMode(joyX, INPUT);
Serial.begin(9600);
}
void loop() {
int val = (analogRead(joyX) / 64) - 8;
if (val > 0) {
angl = angl + abs(val);
} else if (val < 0) {
angl = angl - abs(val);
}
if (angl < 0) angl = 0;
if (angl > 180) angl = 180;
Serial.print("Power:");
Serial.println(val);
Serial.print("angle:");
Serial.println(angl);
myservo.write(angl);
int spd = 500;
if (val != 0) {
spd = 600 / abs(val);
}
Serial.print("Speed:");
Serial.println(spd);
Serial.println("-----------");
delay(spd);
}
Внесенные изменения:
- Перенесли закрывающую фигурную скобку
}передelse. - Добавили открывающую фигурную скобку
{после условияif (val != 0).
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Информатика 22
Информатика 36
Информатика 60
Информатика 2166
Информатика 10
Информатика 571
Информатика 49
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
