Таймер внутри таймера на millis, нужна ваша помощь
- Войдите на сайт для отправки комментариев
Ср, 18/07/2018 - 16:20
Приветствую, изучаю азы, столкнулся с проблемой, первая не излечимая конфликт tone и IRremote.h, пришлось ставить активный зумер, пищит отвратительно. )) А теперь воврос сделал таймер финала на 2 сек, но хотелось бы не непрерывный , а прерывистыя 1-3-1-3-1-3 например, не усложняя код на 20 строк
отрезок кода
.................................................... moment2_3 = millis(); digitalWrite(31, HIGH); Serial.println("Time reset 1"); digitalWrite(blink_out, HIGH); } if ((millis() - moment2_3 >= 2000) && flag2_3) { flag2_3 = 0; digitalWrite(31, LOW); digitalWrite(blink_out, LOW); } ........................
А теперь воврос сделал таймер финала на 2 сек
Сделал? Ой ли?
Если вы имеете в виду приведенный код - то спешу вас разочаровать, работать правильно оно не будет. По крайней мере так, как вы хотите. Если вы рассчитывали подавать на blink_out высокий уровень на 2 секунды - код выше не подойдет.
Так что прежде чем его модифицировать. добейтесь правильной работы.
А теперь воврос сделал таймер финала на 2 сек
Сделал? Ой ли?
Если вы имеете в виду приведенный код - то спешу вас разочаровать, работать правильно оно не будет. По крайней мере так, как вы хотите. Если вы рассчитывали подавать на blink_out высокий уровень на 2 секунды - код выше не подойдет.
Так что прежде чем его модифицировать. добейтесь правильной работы.
Вы заблуждаетесь, он у меня как 2 месяца уже работает подаёт сигнал на 2 сек, почему у вас он не будет работать не знаю
Вы заблуждаетесь, он у меня как 2 месяца уже работает подаёт сигнал на 2 сек, почему у вас он не будет работать не знаю
ну значит Вы так скопировали "отрывок", когда выкладывали в форум, что получилась бессмыслица. Можете для проверки вставить это в loop() и убедится, что blink_out всегда будет HIGH
newold - суть моего коммента - прежде чем задавать вопрос о новом коде, выложите такой отрывок, который работает и делает то. что задано.
Нет смысла "оптимизировать" нерабочий код.
Вот, ну опять же то что обяявлено не копировал.
Если я правильно понял, что вам нужно... Замените жестко кодированное значение 2000 в строке 21 переменной и на каждом обороте присваивайте ей то 1000, то 3000 ...
... а прерывистыя 1-3-1-3-1-3 например...
нарисуйте картинкой 2 периода (график) чего хотите, мне не совсем понятен этот пример.
Может библиотека готовая есть?
на каждом обороте присваивайте ей то 1000, то 3000 . Ну тогда уже 100, 300, т к это должно вложиться в 2-3 секунды.
Я массивы пока не проходил...
Гриша Получается так . Пик(длинный) пауза, Пик(короткий) пауза, Пик(короткий) пауза, Пик(короткий) пауза....Пик(длинный) пауза.... это этоко 2-3 сек
Гриша Получается так . Пик(длинный) пауза, Пик(короткий) пауза, Пик(короткий) пауза, Пик(короткий) пауза....Пик(длинный) пауза.... это этоко 2-3 сек
и сколько весят в граммах: Пик(короткий) -?, пауза - ?, Пик(длинный) -?... рисуйте, не ленитесь, Paint вам в помощь.
Гриш, не парься, он ужо на всех обиделся и ушел.