Цикли 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.

Цикли 2 — Цикл for

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Типи Watchdog у ESP32: теорія, налаштування та приклади використання

Типи Watchdog у ESP32: теорія, налаштування та приклади використання

Watchdog (WDT) — це спеціальний апаратно-програмний механізм мікроконтролера, який захищає пристрій ..

Насос погружний 3 ... 6В 120л/год

Насос погружний 3 ... 6В 120л/год

Насос рідинний погружного типу.Використовується для поливу домашніх рослин, для мініатюрних фонтанів..

69.82грн.

Модуль на DIN-рейку для Arduino Nano — 8 дискретних входів, I2C, SPI, UART

Модуль на DIN-рейку для Arduino Nano — 8 дискретних входів, I2C, SPI, UART

Головний модуль автоматизації для створення домашніх і промислових систем управління на базі Arduino..

557.49грн.

Захист входів та аналогових сигналів: як не спалити Arduino та ESP32 і отримати стабільні вимірювання

Захист входів та аналогових сигналів: як не спалити Arduino та ESP32 і отримати стабільні вимірювання

Захист входів та аналогових сигналів: як не спалити Arduino та ESP32 і отримати стабільні вимірюванн..

Двигун 12В з редуктором 10RPM

Двигун 12В з редуктором 10RPM

Двигун постійного струму з потужним редуктором для використання в різноманітній робототехніці, елект..

517.43грн.