Как работает цикл for Ардуино, как правильно использовать цикл в программе и каких ошибок следует избегать. Познакомимся с использованием цикла for на примере плавного затухания светодиода. Для этого мы будем управлять светодиодом через аналоговый выход c ШИМ модуляцией, чтобы он постепенно включался и выключался. На этом простом примере мы покажем, как остановить цикл или перейти от одного цикла к другому.
СОДЕРЖАНИЕ ►
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- светодиод и резистор
- макетная плата
- коннекторы
Дополнительные материалы на эту тему:
Цикл for используется для повторения команд, заключенных в фигурные скобки. Задача состоит в том, чтобы инициализировать некую переменную с заданным начальным значением и заставить ее изменяться на фиксированный шаг (приращение) при каждом проходе цикла for(). При достижении определенного условия происходит выход из оператора. Рассмотрим синтаксис, предоставленный официальным сайтом arduino.cc
Описание цикла for в языке Arduino IDE

Синтаксис for Arduino
for (initialization; condition; increment) { блок операторов }
- initialization — мы присваиваем начальное значение переменной, которая будет развиваться в нашем цикле. Обратите внимание, что можно объявить переменную в этой точке (просто добавьте тип переменной перед ней, например,
int i = 0) - condition — цикл будет выполняться до тех пор, пока это условие истинно. Если оно верно, выполняется блок операторов и приращение. Когда условие condition становится ложным, цикл завершается
- increment — приращение, это значение, на которое будет изменяться переменная при каждом проходе через цикл for arduino

В следующей программе первый цикл начинается (initialization) с начального значения переменной i=0, условие (condition) гласит, что цикл фор будет выполняться до тех пор, пока переменная меньше или равна заданному значению i<=255. Приращение (increment) указывает на то, что переменная будет увеличиваться на единицу на каждом шаге. Выход из цикла for в Arduino IDE произойдет, когда переменная станет больше значения 255.
Скетч для цикла for Arduino с примером
#define LED 10
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for(int i=0; i<=255; i++) {
analogWrite(LED, i);
delay(10);
}
for(int i=255; i>=0; i--) {
analogWrite(LED, i);
delay(10);
}
}
Инструкция break для выхода из цикла
Если вы хотите выйти из всего цикла фор, независимо от заданных параметров в условиях, используйте оператор break или goto. Оператор break позволяет выйти из цикла for, и программа продолжит выполнение следующих команд в скетче. Оператор goto позволяет не только выйти из цикла, но и продолжить выполнение команд из любого места программы, например, можно перейти к другому циклу while или for в скетче.
Заключение. Каждый цикл в C++ и в языке программирования Arduino — это действие, которое повторяется несколько раз или бесконечно много раз. Ни одна программа для Arduino не обходится без циклов, например, цикл void вызывается в бесконечном цикле. Существует три типа циклов: for, while и do while. Сегодня мы сосредоточились на операторе for и рассмотрели, как он работает на простом примере со светодиодом.
