Функция delay() считается устаревшим способом организации временных задержек, потому что она блокирует выполнение кода, а программа просто ждёт, ничего не выполняя. 13
В процессе действия delay() не могут выполняться такие операции, как считывание данных с датчиков, математические вычисления или операции с выводами. 2 Это может привести к непредсказуемому поведению программы, особенно если в цикле выполняется множество различных действий. 3
Для организации временных задержек лучше использовать функцию millis(), которая не останавливает выполнение программы. 23 Она возвращает количество миллисекунд, прошедших с момента запуска микроконтроллера. 3