Вот пример
unsigned long time;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("Time: ");
time = millis();
//выводит количество миллисекунд с момента начала выполнения программы
Serial.println(time);
// ждет секунду, перед следующей итерацией цикла.
delay(1000);
}
Вот еще один пример
const int ledPin = 13; // номер выхода, подключенного к светодиоду
// Variables will change:
int ledState = LOW; // этой переменной устанавливаем состояние светодиода
long previousMillis = 0; // храним время последнего переключения светодиода
long interval = 1000; // интервал между включение/выключением светодиода (1 секунда)
void setup() {
// задаем режим выхода для порта, подключенного к светодиоду
pinMode(ledPin, OUTPUT);
}
void loop()
{
// здесь будет код, который будет работать постоянно
// и который не должен останавливаться на время между переключениями свето
unsigned long currentMillis = millis();
//проверяем не прошел ли нужный интервал, если прошел то
if(currentMillis - previousMillis > interval) {
// сохраняем время последнего переключения
previousMillis = currentMillis;
// если светодиод не горит, то зажигаем, и наоборот
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
// устанавливаем состояния выхода, чтобы включить или выключить светодиод
digitalWrite(ledPin, ledState);
}
}
Вот еще один пример
Благодарю. Вопрос где привязывается именно светодиод к millis ?
Я правильно понимаю? Строка 20 и 25 ?
Штирлиц поднял глаза. Это были глаза mag155...
Доброго времени суток. Разбираюсь с вашим скетчем с диодом все понятно, пытаюсь привязать кнопку.
Но при нажатии кнопки диод загорается сразу, без выдержки времени подскажите где ошибка ?
Разобрался, нужно было добавить .
Все получилось, но есть зависимость если interval больше чем interval1 диод не гаснит .Вчем причина? Подскажите если не сложно.
Штирлиц прям вдохновил БЛАГОДАРНОСТЬ ему !!! Разобрался сам.
Бывает если долго не нажимать кнопку диод загорается без выдержки.Укажите на косяки кому не сложно?
Братья!!!! Выручайте.