Выражение 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
- 1 потенциометр или переменный резистор
- 1 резистор на 220 Ом
- 1 светодиод
- Кабели
Схема подключения
Электросхема
Программа 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); // задержка между считываниями значений для стабильности работы
}