Обратный отсчет

Тема в разделе "Arduino & Shields", создана пользователем Timoshenko Mitya, 9 сен 2014.

  1. Ребят, как сделать что то типа устройства обратного отсчета на Arduino? какое максимальное число ожидания на Arduino после которого счетчик обнуляется?
     
  2. geher

    geher Гуру

    Максимальное время практически бесконечное (устройство сдохнет раньше).
    millis() возвращает unsigned long, что составляет заметно больше 40 дней.
    Но и это не предел, можно считать переходы millis через 0 (просто периодически проверяя, когда millis вдруг вернет меньшее значение, чем было в предыдущий раз) в отдельной переменной, а переходы через 0 отдельной переменной считать еще в одной переменной. И так до бесконечности.
    Соответственно, время обратного отсчета тоже можно хранить в нескольких переменных unsigned long, используя нехитрые приемы для организации 64-х и более разрядной арифметики.
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    А можно и часы реального времени использовать для этой цели.
     
  4. отсчет сделал а как сделать так чтобы допустим выводилась такая информация в ОДНОЙ строке: "Day: n"
    N-количество дней, которые считаются и разумеется меняются. Ведь время считается в loop а "Day" я пишу в setup, а если писать все в loop то все строчки начинают обновляться каждую секунду и информация некорректно выводиться
     
  5. geher

    geher Гуру

    А куда выводится информация? На LCD индикатор?
    Тогда достаточно перед выводом вызвать lcd.setCursor(столбец, строка) (нумерация с 0).
    Если длина строки меняется, перед выводом можно забить строкой пробелов.
    Чтобы меньше моргало, можно не забивать все место пробелами, а дополнить выводимую строку нужным количеством пробелов справа или слева.