Arduino & IoT Academy · Урок

delay() и синхронизация мигания

Приостанавливайте выполнение, создавая заметный ритм мигания

Урок 3 из 413 шагов

«delay() и синхронизация мигания» — бесплатный урок Arduino & IoT Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Arduino & IoT Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Arduino & IoT Academy содержит 4 уроков всего.

Добавьте паузу

Переключение вывода происходит за микросекунды — слишком быстро, чтобы это увидеть. Чтобы получить настоящее мигание, нужно заставить плату подождать с помощью задержки. ⏱️

Задержка измеряется в миллисекундах

Функция задержки приостанавливает выполнение скетча на указанное число миллисекунд. В одной секунде 1000 миллисекунд, поэтому delay(1000) ждёт ровно одну секунду.

delay(1000);

Удерживайте свет включённым

Установите для светодиода HIGH, затем вызовите задержку. Плата бездействует, а светодиод остаётся включённым на протяжении всей паузы.

digitalWrite(ledPin, HIGH);
delay(1000);

Затем удерживайте его выключенным

Теперь установите на выводе LOW и снова вызовите задержку. Светодиод остаётся в темноте на протяжении паузы, поэтому выключенная часть мигания тоже становится заметной.

digitalWrite(ledPin, LOW);
delay(1000);

Полный цикл мигания

Поместите эти четыре строки в loop() и получите равномерное мигание: включить, подождать, выключить, подождать и повторить. Это классический скетч Blink.

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

Быстрее или медленнее

Изменяйте число, чтобы менять ритм. Меньшее значение, например delay(200), создаёт быструю вспышку, а большее заметно замедляет мигание.

delay(200);

Периоды включения и выключения могут различаться

Две задержки не обязаны быть одинаковыми. Долгое включение и короткое выключение создают ровное свечение с кратким морганием между импульсами.

Задержка останавливает всё

Но есть нюанс: во время задержки плата больше ничего не делает. Она не может считывать состояние кнопки или датчика, потому что задержка блокирует весь скетч.

Пока этого достаточно

Для простого мигания блокировка вполне подходит. Позже Вы познакомитесь с millis — способом отсчитывать время, не останавливая остальную программу.

Короткие и длинные ожидания

Задержка работает с миллисекундами, но для очень коротких пауз есть delayMicroseconds. Позже она понадобится для точного отсчёта времени при работе с датчиками.

Повторение выполняет loop

Вам не нужно писать отдельную команду повторения. Поскольку loop() автоматически запускается снова, последовательность включения, выключения и ожидания повторяется бесконечно.

Быстрая проверка

Вы хотите, чтобы светодиод оставался включённым ровно две секунды.

Итоги

Вы использовали задержку, чтобы задать темп мигания, узнали, что она считает миллисекунды, и увидели, что она блокирует всё остальное. Далее Вы подключите настоящий светодиод. 🎉

Можно начать бесплатно

Изучай C++ с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «delay() и синхронизация мигания» бесплатный?

Да — полный текст урока «delay() и синхронизация мигания» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Arduino & IoT Academy, подпишись на CoddyKit PRO. Курс Arduino & IoT Academy содержит 4 уроков всего.

Чему я научусь в уроке «delay() и синхронизация мигания»?

Приостанавливайте выполнение, создавая заметный ритм мигания Ты практикуешь Arduino & IoT Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Arduino & IoT Academy?

Предыдущий опыт не требуется. Arduino & IoT Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «delay() и синхронизация мигания»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Arduino & IoT Academy?

Да. Каждый урок Arduino & IoT Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. pinMode и OUTPUT
  2. digitalWrite, HIGH и LOW
  3. delay() и синхронизация мигания
  4. Безопасное подключение внешнего LED
← Назад к Arduino & IoT Academy