Цикли 2 — Цикл for
Вступ
Цикл for — один із найчастіше використовуваних інструментів в Arduino-програмуванні. Він ідеально підходить для завдань, де потрібно виконати набір команд фіксовану кількість разів. Завдяки компактному синтаксису for легко керувати лічильником, кроком і умовами виходу з циклу.
Синтаксис і структура
for (початок; умова; крок) {
// Код, який буде повторюватися
}
- початок — виконується один раз перед стартом циклу (зазвичай тут оголошують лічильник).
- умова — перевіряється перед кожною ітерацією; якщо вона хибна, цикл завершиться.
- крок — виконується в кінці кожної ітерації (збільшення або зменшення лічильника).
Лічильники, кроки, умови
Як лічильник найчастіше використовується змінна типу int. Крок може бути як додатним (збільшення), так і від’ємним (зменшення). Умову можна задати будь-яку — не обов’язково лише i < 10.
// Прямий перебір
for (int i = 0; i < 10; i++) {
// код
}
// Зворотний перебір
for (int i = 10; i > 0; i--) {
// код
}
Прямий і зворотний перебір
Цикл for дозволяє як збільшувати, так і зменшувати значення лічильника. Це зручно, наприклад, для зворотного відліку або перебору масиву з кінця.
Практика
Перебір пінів для вмикання світлодіодів
Припустимо, у нас є 5 світлодіодів, підключених до пінів 2–6.
void setup() {
for (int pin = 2; pin <= 6; pin++) {
pinMode(pin, OUTPUT);
}
}
void loop() {
for (int pin = 2; pin <= 6; pin++) {
digitalWrite(pin, HIGH);
delay(200);
digitalWrite(pin, LOW);
}
}
Зворотний відлік у Serial Monitor
void setup() {
Serial.begin(9600);
}
void loop() {
for (int i = 10; i >= 0; i--) {
Serial.println(i);
delay(500);
}
delay(2000);
}
Проєкт: «Біжучий вогонь» на 5–10 світлодіодів
Класичний ефект біжучого вогню можна реалізувати за допомогою циклу for.
const int firstLed = 2;
const int lastLed = 6;
void setup() {
for (int pin = firstLed; pin <= lastLed; pin++) {
pinMode(pin, OUTPUT);
}
}
void loop() {
// Прямий рух
for (int pin = firstLed; pin <= lastLed; pin++) {
digitalWrite(pin, HIGH);
delay(100);
digitalWrite(pin, LOW);
}
// Зворотний рух
for (int pin = lastLed; pin >= firstLed; pin--) {
digitalWrite(pin, HIGH);
delay(100);
digitalWrite(pin, LOW);
}
}
Висновок
Цикл for — потужний інструмент для роботи з повторюваними діями в Arduino. Він робить код компактним, а керування лічильником — простим і гнучким. Опановавши його, ви зможете легко створювати ефекти, керувати кількома пристроями та писати більш структуровані програми.





