Delay Arduino: How to Create Time Delays for Your Projects
Функция delay() в Arduino используется для задержки программы на определенное количество миллисекунд. Она может быть полезной во многих ситуациях, например, когда требуется отобразить на экране информацию на некоторое время, когда требуется дать устройству отдохнуть между отправками данных или когда нужно обработать завершение выполнения определенной операции перед переходом к следующей.
Примеры использования функции delay():
1. Отображение надписи "Hello World!" на дисплее в течение 2 секунд:
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print("Hello World!");
delay(2000);
lcd.clear();
}
void loop() {}
2. Задержка между отправкой данных через серийный порт на ПК:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Data1");
delay(1000);
Serial.print("Data2");
delay(1000);
}
3. Обработка завершения выпролнения операции перед переходом к следующей:
void setup() {
pinMode(8, OUTPUT);
}
void loop() {
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
delay(500);
}
Недостатком функции delay() является то, что она вызывает блокировку программы во время задержки, что может привести к неэффективному использованию ресурсов Arduino, помешать выполнению других задач и уменьшить отзывчивость устройства. Вместо этого рекомендуется использовать функцию millis() с использованием таймеров с прерываниями, что позволяет управлять задержками программы без блокировки работы устройства.