Содержание:

Если вы только начинаете изучать программирование микроконтроллеров на Ардуино, вам обязательно придется столкнуться с понятием пустых функций (void setup и void loop). Эти функции являются неотъемлемой частью программирования на Ардуино и играют важную роль в инициализации и работе ваших проектов.
Void setup — это специальная функция, которая вызывается только один раз при запуске микроконтроллера. В этой функции обычно размещают код, который необходим для инициализации переменных, подключения периферийных устройств и других настроек, которые нужно выполнить только один раз при запуске.
Например, если вы используете в своем проекте дисплей, то в функции void setup вы можете инициализировать дисплей и настроить его параметры. Также в этой функции можно инициализировать переменные и константы, которые будут использоваться в других частях вашей программы.
В отличие от void setup, функция void loop вызывается бесконечное количество раз после запуска микроконтроллера. В этой функции размещают код, который должен выполняться циклически. Например, если вы хотите, чтобы ваш проект реагировал на изменения в окружающей среде, то код для этого должен быть размещен в функции void loop.
Использование пустых функций в Ардуино позволяет организовать код таким образом, чтобы он был более понятным и структурированным. Это особенно важно, когда вы работаете над большими проектами, в которых может быть много кода и различных функций.
Использование функции инициализации в Ардуино
Функция setup() вызывается только один раз при запуске микроконтроллера. В ней можно выполнять любые действия, которые необходимы для инициализации проекта, например, настройку пинов, подключение библиотек и инициализацию переменных.
Например, если вы хотите использовать пины микроконтроллера для подключения светодиодов, вы можете настроить их в функции setup(), как показано ниже:
cpp
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
В этом примере мы используем функцию pinMode() для настройки пинов 2, 3 и 4 как выходных. Это означает, что мы можем использовать эти пины для управления светодиодами, подключенными к ним.
Важно отметить, что функция setup() не должна содержать бесконечные циклы или задержки, так как это может привести к задержке или сбою в работе микроконтроллера. Вместо этого, любые действия, которые должны выполняться многократно, должны быть помещены в функцию loop().
Применение функции void setup в проектах на Ардуино
Пример 1: Настройка светодиода
Одним из самых простых примеров применения функции void setup является настройка светодиода. Для этого необходимо подключить светодиод к одному из цифровых пинов Ардуино и инициализировать его в функции void setup. Вот пример кода:
cpp
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // инициализация встроенного светодиода как выхода
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // включение светодиода
delay(1000); // задержка на 1 секунду
digitalWrite(LED_BUILTIN, LOW); // выключение светодиода
delay(1000); // задержка на 1 секунду
}
В этом примере в функции void setup мы инициализируем встроенный светодиод Ардуино как выход. В функции void loop мы включаем и выключаем светодиод с задержкой в 1 секунду, создавая эффект мигания.
Пример 2: Настройка сервопривода
Функция void setup также используется для настройки сервоприводов. Сервоприводы требуют специальной инициализации, чтобы они могли правильно работать с Ардуино. Вот пример кода для настройки сервопривода:
cpp
#include
Servo myservo; // создание объекта Servo
void setup() {
myservo.attach(9); // привязка сервопривода к пину 9
}
void loop() {
myservo.write(0); // поворот сервопривода на 0 градусов
delay(1000); // задержка на 1 секунду
myservo.write(180); // поворот сервопривода на 180 градусов
delay(1000); // задержка на 1 секунду
}
В этом примере мы подключаем библиотеку Servo и создаем объект Servo. В функции void setup мы привязываем сервопривод к пину 9. В функции void loop мы поворачиваем сервопривод на 0 и 180 градусов с задержкой в 1 секунду.