Цикли 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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Драйвер двох колекторних двигунів L298N

Драйвер двох колекторних двигунів L298N

Модуль драйвера для керування роботою одного двохполюсного високооммного крокового двигуна або двома..

105.58грн.

Модуль реле 2-канальний 5В 10А

Модуль реле 2-канальний 5В 10А

2-канальный модуль реле для підключення напряму до дискретного виходу контролера. Світлодіодна індик..

76.14грн.

Модуль блока живлення 5В 700мА

Модуль блока живлення 5В 700мА

Мініатюрний безкорпусний трансформаторний блок живлення для любительських проектів.Вхідна напруга 85..

70.15грн.

Підключення кнопки до Arduino

Підключення кнопки до Arduino

Спочатку я збирався написати статтю про фільтрацію брязкоту кнопки, що підключена до контролера Ardu..

Датчик напруги мережі 220В

Датчик напруги мережі 220В

Гальванічно ізольований датчик наявності напруги мережі 220ВНапруга живлення логіки 3 ... 5 ВРозмір ..

106.67грн.