Вопрос задан 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' Это сообщение будет содержать больше информации чем "Отображать вывод во время компиляции" включено в Файл > Настройки
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Горбунов Иван.

Ответ:

Объяснение:

ты 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

0 0
Отвечает нейросеть 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); }

Внесенные изменения:

  1. Перенесли закрывающую фигурную скобку } перед else.
  2. Добавили открывающую фигурную скобку { после условия if (val != 0).
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос