Часы на millis()
Часть раздела Отсчёт времени без delay путешествия по Arduino на Coddy. Урок 1 из 18.
В плате есть встроенные часы. millis() возвращает количество миллисекунд, прошедших с момента запуска платы: 0 при включении питания, 1000 через одну секунду, 60000 через минуту.
Вам никогда не нужно запускать или сбрасывать эти часы. Они отсчитывают время сами по себе, даже когда ваш скетч находится внутри delay(), и вы можете считывать показания в любой момент:
Serial.println(millis()); // выводит время в мсДо сих пор delay() был единственным способом отмерять время, и он останавливает весь скетч на время ожидания. Считывание показаний часов ничего не останавливает: скетч продолжает выполняться и проверяет, сколько времени прошло.
Задание
ЛегкоВыводи показания часов платы раз в секунду:
- в
loop()выводиmillis()с помощьюSerial.println() - оставь после этого
delay(1000)
Нажми Run и наблюдай за числами в мониторе Serial, затем нажми Check.
Попробуйте сами
void setup() {
Serial.begin(9600);
}
void loop() {
// выведите здесь время, прошедшее с момента запуска платы
delay(1000);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Отсчёт времени без delay
1millis()
Часы на millis()Время в unsigned longМигание без задержкиДва светодиода, две скоростиМигание и переключение кнопкойСвет по таймеру4Точное измерение времени
Измерение с помощью micros()Когда millis() переполняетсяСекундомер с кнопкойПотренируйтесь самостоятельно: Песочница Arduino