Menu
CoddyTech

Сравнение значений

Часть раздела Первые схемы путешествия по Arduino на Coddy. Урок 20 из 22.

Условие сравнивает два значения. В C++ есть шесть вариантов:

  • == равно
  • != не равно
  • < меньше, > больше
  • <= меньше или равно, >= больше или равно

Распространённая ошибка — написать =, когда имеется в виду ==. Один знак = присваивает значение; два — сравнивают.

if (count == 5) { ... }   // count равен 5?
if (count = 5) { ... }    // записывает 5 в count!

Вторая строка компилируется, и это ловушка: она помещает 5 в count, а поскольку 5 не равно 0, плата считает это значением true. Блок в фигурных скобках выполняется каждый раз, а count каждый раз сбрасывается до 5.

challenge icon

Задание

Легко

Стартовый код увеличивает счётчик каждые 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);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Первые схемы

Потренируйтесь самостоятельно: Песочница Arduino