Menu
CoddyTech

Меняем скорость мигания

Часть раздела Первые схемы путешествия по Arduino на Coddy. Урок 3 из 22.

delay() считает в миллисекундах (мс), тысячных долях секунды. delay(1000) — это одна секунда, а delay(250) — четверть секунды.

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

digitalWrite(13, HIGH);
delay(100);   // включено на одну десятую секунды
digitalWrite(13, LOW);
delay(100);   // выключено на одну десятую секунды

delay() принимает только целое количество миллисекунд. delay(0.2) — это не пятая часть секунды: плата отбрасывает дробную часть и ждёт 0 мс. Чтобы подождать пятую часть секунды, напишите delay(200).

Важны обе задержки. Без второй светодиод выключается и сразу же включается снова, поэтому кажется, что он никогда не гаснет.

challenge icon

Задание

Легко

Стартовый код мигает медленно. Ускорь его:

  • включён на 200 ms
  • затем выключен на 200 ms

Нажми Run, чтобы посмотреть, затем нажми Check.

Попробуйте сами

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);  // сократи это ожидание
  digitalWrite(13, LOW);
  delay(1000);  // и это тоже
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Первые схемы

Потренируйтесь самостоятельно: Песочница Arduino