Процедуры void loop и void setup в Arduino IDE — это первое с чем сталкивается любой человек, кто начинает знакомство с языком программирования микроконтроллеров Ардуино. Разберем для чего нужны в скетче данные функции, что следует размещать внутри циклов. Данные правила относятся ко всем платам семейства Arduino в начале изучения языка Arduino IDE, следует подробно изучить void loop в Ардуино что это.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- светодиоды и резисторы
- макетная плата
- коннекторы
Дополнительные материалы на эту тему:
Функции void loop и void setup как работают? Данные функции должны быть включены в каждую программу и вызываться только один раз, даже если один из циклов не используется. Дело в том, что когда вы запускаете микроконтроллер Ардуино, то начинает работать встроенная микропрограмма. Первое, что делает микропрограмма, это проверяет, не начала ли загружаться в микроконтроллер новая программа с компьютера.
Функции void loop, void setup в Arduino IDE

Оба цикла при запуске скетча вызываются встроенной функцией main() в файле main.cpp. Функция void setup() вызывается один раз, а функция void loop() вызывается бесконечное число раз в цикле for. Если в программе Arduino IDE имеется более одной функции void setup Arduino или void loop Arduino, то при компиляции кода в Arduino IDE появится переопределение ‘void setup()’ или переопределение ‘void loop()’ соответственно.
Скобки указывают на начало и конец функции void. Поэтому все команды должны располагаться между ними. Если вы случайно удалите или поставите лишнюю скобку, вы получите ошибку во время компиляции скетча. Процедура void setup в Ардуино вызывается только один раз и используется для назначения режима работы выходам микроконтроллера или командам, которые должны выполняться при загрузке программы.
Функция void setup Arduino IDE описание

В первом примере рассмотрим мигание светодиодом, когда команды расположены только в процедуре войд сетап. После загрузки программы в микроконтроллер и при каждой последующей перезагрузке платы, светодиод будет включаться только один раз. Если эти же команды переместить в процедуру воид луп (смотри второй пример программы далее), то светодиод будет мигать постоянно, пока на плату будет поступать питание.
Процедура void setup Ардуино синтаксис
#define LED 13
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
void loop() {
}
Функция void loop Arduino IDE описание
После выполнения конфигурации в цикле void setup, программа входит в цикл void loop Ардуино, который повторяется до тех пор, пока плата включена. Если цикл содержит одну инструкцию, он будет выполняться тысячи раз в секунду. Если вы решили написать скетч для мигания светодиода от Ардуино, то необходимо добавить в скетч задержку (delay или millis) на выполнение программы, иначе мигание светодиодов будет незаметным.
Процедура void loop Ардуино синтаксис
#define LED 13
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Заключение. Таким образом, если вам нужно один раз включить светодиод или пьезодинамик для индикации начала работы устройства на микроконтроллере Arduino во время выполнения программы, лучше записать команду в функции void setup(). Если вам необходимо постоянно выполнять какое-либо действие в программе, например, выводить информацию на дисплей 1602, команду следует поместить в функцию void loop().
