Цикли 1 — Вступ до циклів Arduino
Вступ
Цикли — це важливий інструмент у програмуванні, що дозволяє багаторазово повторювати набір інструкцій без їх ручного дублювання. В Arduino цикли застосовуються майже в кожному проєкті — від простого мигання світлодіодом до складної логіки керування пристроями.
Що таке цикл у програмуванні
Цикл — це конструкція, яка виконує код певну кількість разів або до виконання заданої умови. Приклад із життя: якщо потрібно моргнути лампою 10 разів, замість того щоб писати 10 команд, ми використовуємо цикл, який сам рахує кількість повторень.
Нескінченний цикл loop() в Arduino
В Arduino є особлива функція loop(), у якій розміщується основний код програми. Вона виконується нескінченно, починаючи з моменту запуску плати. Це і є головний цикл програми.
void setup() {
// Код, який виконується один раз
}
void loop() {
// Код, який виконується знову і знову
}
Відмінність від циклів for, while, do...while
- for — виконує код задану кількість разів, зручно для лічильників.
- while — виконує код, доки умова істинна.
- do...while — виконує код хоча б один раз, потім перевіряє умову.
Усередині loop() можна використовувати будь-який із цих циклів для керування виконанням програми.
Практика
Приклад 1 — цикл for для мигання світлодіодом
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 5; i++) { // Мигаємо 5 разів
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
delay(2000); // Пауза перед повторенням
}
Приклад 2 — нескінченний цикл while(true)
void loop() {
while (true) { // Ніколи не завершиться
// Дія, яка виконується завжди
}
}
Такий код може бути корисним у тестах, але в реальних проєктах зазвичай використовують стандартний loop().
Проєкт: «Мигаючий маяк»
Світлодіод мигає задану кількість разів, потім пауза — як маяк на березі.
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// Мигаємо 3 рази
for (int i = 0; i < 3; i++) {
digitalWrite(ledPin, HIGH);
delay(300);
digitalWrite(ledPin, LOW);
delay(300);
}
delay(2000); // Пауза перед наступним циклом мигання
}
Висновок
Цикли дозволяють економити час програміста та ресурси мікроконтролера. Розуміння того, як і коли використовувати різні типи циклів, — основа для написання ефективних скетчів Arduino.





