ожидаемый неквалифицированный-id раньше, если
#include <IRremote.h>
const int pingPin=7;
int PIR=0;
int IR_Recv=11;
IRrecv irrecv(IR_Recv);
decode_results results;
void setup ()
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop()
{long duration,cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(3);
digitalWrite(pingPin, HIGH);
delayMicroseconds(3);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
cm = microsecondsToClockCycles(duration);
Serial.print(cm);
Serial.print("cm");
Serial.println();
if(cm<50)
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(10, HIGH);}
else
{
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(10, LOW);
}
}
if (IRrecv.decode (5results))
{
long int decode = results.value;
Serial.println(results.value);
switch(results.value);
{
case 16593103: Serial.println("0");
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(10, HIGH);
break;
case 16582903: Serial.println("1");
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(10, HIGH);
break;
case 16615543: Serial.println("2");
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(10, LOW);
break;
case 16599223: Serial.println("3");
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(10, LOW);
break;
case 16623703: Serial.println("5");
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(10, LOW);
break;
}
irrecv.resume();
}
}
long microsecondsToInches(long microseconds);{
return microseconds / 74 / 2;
}
long microsecondsToCentimetres(long microseconds);{
return microseconds / 29 / 2;
}
@Lka12, 👍1
Обсуждение0
Смотрите также:
- Есть ли способ воспроизводить звуки с Arduino без использования звукового экрана?
- В чем разница между analogWrite и digitalWrite?
- Что означает “LSB на градус в секунду” (LSB per degree per second)?
- Как настроить ADC7 на Arduino Pro Mini в качестве цифрового выхода?
- Чтение частоты ввода в цифровых выводах
- Отправка цифрового сигнала с одного Arduino на другой для запуска события
- DHT11 аналоговый или цифровой?
- digitalRead продолжает давать 1
У вас есть одна фигурная скобка
}
слишком много прав перед `if (IRrecv.decode (5results))'. Это означает, что эта строка и следующие находятся вне какой-либо функции. Вы не можете иметь код вне функции. Хотя это чистый вопрос синтаксиса C/C++ и, таким образом, вне темы здесь. Удачи вам в вашем проекте., @chrislОгромное спасибо. Это сработало идеально. Ты можешь сказать мне еще кое-что? Я не могу опубликовать его снова: ожидаемое объявление перед '}' token ->>> under if (IRrecv.decode (5results)), @Lka12
У вас есть задание 5 в операторе if (
5results
вместо правильногоresults
), и у вас есть дополнительная точка с запятой в конце строки switch. Точка с запятой не принадлежит. Возможно, вам стоит попробовать некоторые учебники по C/C++, чтобы получить правильные правила синтаксиса. Тогда сообщения об ошибках компиляторов становятся довольно легко читаемыми., @chrislЯ удалил это 5, а также удалил точку с запятой из конца строки коммутатора. Но та же ошибка записывается, когда я инициирую кнопку "start simulation"., @Lka12
Затем посмотрите вблизи тех мест, где компьюлер сообщает об этих ошибках. Посмотрите, есть ли у вас какие-то несбалансированные скобки/парантезы, неправильно поставленные или отсутствующие точки с запятой. Вам нужно правильно использовать синтаксис C/C++. Есть много учебных пособий об этом в Интернете., @chrisl
Да, но у меня занятия до 6, а потом проект.. Я написал код, но не нашел ошибки, так что у меня не осталось времени.. Мне нужна немедленная помощь., @Lka12
Я вижу дополнительные точки с запятой в определениях функций в конце. Удалите их также. Но когда вы пишете код, вам нужно смотреть на то, что говорит компилятор. Я понимаю, что иногда бывает трудно управлять имеющимся временем, и мне очень жаль. Но мы здесь не для того, чтобы делать тебе домашнее задание., @chrisl