Сравнение значений
Часть раздела Первые схемы путешествия по Arduino на Coddy. Урок 20 из 22.
Условие сравнивает два значения. В C++ есть шесть вариантов:
==равно!=не равно<меньше,>больше<=меньше или равно,>=больше или равно
Распространённая ошибка — написать =, когда имеется в виду ==. Один знак = присваивает значение; два — сравнивают.
if (count == 5) { ... } // count равен 5?
if (count = 5) { ... } // записывает 5 в count!Вторая строка компилируется, и это ловушка: она помещает 5 в count, а поскольку 5 не равно 0, плата считает это значением true. Блок в фигурных скобках выполняется каждый раз, а count каждый раз сбрасывается до 5.
Задание
ЛегкоСтартовый код увеличивает счётчик каждые 300 мс и выводит каждое число. Сделай так, чтобы светодиод на выводе 13 загорался только при одном числе:
- если
countравно 5, включи светодиод - иначе выключи его
Светодиод должен гореть, пока на мониторе отображается 5, и оставаться выключенным для всех остальных чисел. Нажми Run, затем Check.
Попробуйте сами
int count = 0;
void setup() {
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
count = count + 1;
Serial.println(count);
// LED включён, когда count равен 5, в остальных случаях выключен
delay(300);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Первые схемы
Потренируйтесь самостоятельно: Песочница Arduino