Цикли 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. Він робить код компактним, а керування лічильником — простим і гнучким. Опановавши його, ви зможете легко створювати ефекти, керувати кількома пристроями та писати більш структуровані програми.

Цикли 3 — Цикл while

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

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

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Перетворювач рівнів 5В на 3В двонапрямлений 4-канальний

Перетворювач рівнів 5В на 3В двонапрямлений 4-канальний

Перетворювач логічних рівнів з 5 В на 3,3 В та навпаки.Дозволяє перетворити 4 лінії комунікаціїДуже ..

20.09грн.

Блок живлення 12 В 5 А ноутбучний

Блок живлення 12 В 5 А ноутбучний

Вхідна напруга змінного струму 165...240 В 50/60 ГцВихідна стабілізована напруга 12 ВМаксимальний ст..

290.18грн.

Скільки коштує розробка друкованої плати: фактори, приклади та строки

Скільки коштує розробка друкованої плати: фактори, приклади та строки

Одне з найпоширеніших запитань від замовників: сколько стоит разработка печатной платы і від чого за..

Уроки Arduino типы данных для начинающих

Уроки Arduino типы данных для начинающих

Привет друзья от geekmatic.in.ua! Пора заняться полезным делом и разобрать типы данных, представле..

Датчик звуку

Датчик звуку

Датчик звуку (дискретний, з регулюванням чутливості)Інтелектуальний дискретний датчик звуку для сист..

49.61грн.