Содержание статьи
Содержание

Главная / Arduino для начинающих / Выражение if в Arduino IDE

Выражение if в Arduino IDE

Выражение if() является основным для всех управляющих структур в программировании. Данное выражение позволяет вам совершать или нет определенное действие в зависимости от условия, которое является true (выполняется) или false (не выполняется). Синтаксис условия If выглядит следующим образом:

if (someCondition) {

// совершить действие, если условие выполняется

}

Так же есть подобные вариации структуры с использованием if-else. Выглядит это следующим образом:

if (someCondition) {

// совершить действие, если условие выполняется

} else {

// совершить какое-то действие, если условие не выполняется

}

Также есть структура else-if, с помощью которой вы можете проверить второе условие, если первое не выполняется:

if (someCondition) {

// совершить действие, если условие выполняется

} else if (anotherCondition) {

// совершить действие только если не выполняется первое условие

// а второе условие выполняется

}

Выражения if вы будете использовать постоянно. Пример, приведенный ниже зажигает светодиод на 13 пине (интегрированный в большинство плат Arduino) если считанное с аналогового пина значение больше, чем присвоенное переменной threshold.

Что вам понадобится

Схема подключения

Arduino_If_pot_led

Электросхема

Arduino_If_Scheme_pot_led

Программа Arduino

В программе, приведенной ниже, переменная с именем analogValue используется для передачи данных от потенциометра, который подключен к аналоговому пину 0 на плате Arduino. Эти данные сравниваются со значением переменной threshold. Эсли аналоговое значение превышает значение переменной threshold, светодиод на 13 пине зажжется. Если analogValue меньше threshold, светодиод остается в выключенном состоянии.

/*

Условия - выражение If

В данном примере рассмотрено использование выражений if()

Считывается состояние потенциометра (аналоговый вход) и зажигается светодиод при условии, что полученное значение превышает заданное threshold. Полученное аналоговое значение выводится в окне серийного монитора в среде Arduino IDE.

Схема подключения:

* потенциометр подключен к аналоговому пину 0.

Центральный коннектор потенциометра подключается к аналоговому пину.

Боковые пины подключаются к 5 вольтам и к земле.

* светодиод подключается к 13 пину и земле

* обратите внимание: на большинстве плат Arduino есть встроенный светодиод на 13 пине, так что можно использовать и его, не подключая периферийный.

*/

// эти константы не будут изменяться:

const int analogPin = A0; // пин, к которому подключен сенсор (в нашем случае - переменный резистор)

const int ledPin = 13; // пин, к которому подключен светодиод

const int threshold = 400; // константа, с которой сравнивается числовое значение с аналогового входа

void setup() {

// инициализация пина светодиода в качестве выхода:

pinMode(ledPin, OUTPUT);

// инициализация соединения по серийному протоколу:

Serial.begin(9600);

}

void loop() {

// считывание значений потенциометра:

int analogValue = analogRead(analogPin);

// если аналоговое значение достаточно большое, зажигается светодиод:

if (analogValue > threshold) {

digitalWrite(ledPin, HIGH);

}

else {

digitalWrite(ledPin,LOW);

}

// отображение аналогового значения в окне серийного монитора:

Serial.println(analogValue);

delay(1); // задержка между считываниями значений для стабильности работы

}