Миллисекунда
мс
Это понятие впервые встречается на программе «Электроника, программирование и инженерная практика» — примерно 13-14 лет (7-8 класс).
Одна тысячная доля секунды: в секунде 1000 миллисекунд. Такими крошечными отрезками времени электроника отмеряет паузы, вспышки и сигналы.
Секунда и миллисекунда — как метр и миллиметр: та же линейка времени, только деления в тысячу раз мельче.
Помигать светодиодом на Arduino с delay(1000) и delay(100); показать, где пауза в целую секунду, а где — в десятую долю.
Единица времени: 1 мс = 0,001 с. В программах Arduino паузы задают в миллисекундах: delay(500) — полсекунды. Реакция человека — примерно четверть секунды (250 мс), а для контроллера миллисекунда — долгий срок: тысячи операций.
Найти ошибку: скетч должен мигать раз в секунду, но написано delay(10); исправить значение и объяснить пересчёт секунд в миллисекунды.
1 мс = 10⁻³ с; мельче — микросекунды (10⁻⁶ с) и наносекунды (10⁻⁹ с). В Arduino millis() возвращает миллисекунды от старта в 32-битном счётчике — переполнение через ≈49,7 суток. Ориентиры: кадр при 60 FPS — ≈16,7 мс, хороший пинг в сети — единицы-десятки мс, дребезг кнопки — единицы мс.
Переписать мигание светодиода с delay() на millis() и показать, что кнопка теперь опрашивается без задержки.
Частое заблуждение
«В delay() указывают секунды: delay(1) — пауза в одну секунду». Нет: Arduino считает паузы в миллисекундах, секунда — это delay(1000).