Имеем ардуинку (пусть будет Уно), группу кнопок (или энкодер), часы реального времени и дисплей. Нужно завести несколько таймеров, которые будут подавать сигнал через определённое время (к примеру, каждые 5 минут, каждые 8 минут, каждые 14 минут и т.д...), причём запускать каждый таймер каждый день нужно вручную. У всех маршрутов интевалы разные, но у одного конкретно взятого маршрута интервалы одинаковые. Например, у 8-го маршрута интервал 13 минут, у 20-го - 6 минут, и т.д...
Применение - конечная остановка автобусов, отъезжающих по разным маршрутам с разными интервалами движения. Девайс должен подавать звуковой сигнал и выводить на экран номер маршрута, которому необходимо отправляться.
Настраивать планирую гибко: добавляю номер маршрута, интервал движения, записываю в ЕЕПРОМ. Выхожу из настроек, выбираю номер маршрута и запускаю конкретный таймер (то есть автобус отъезжает).
Как я это вижу:
Это двумерный массив, в котором 3 столбца и плавающее количество строк.
Столбец 0 - id, которое связывает номер маршрута с его интервалом, столбец 1 - собственно номер (строковое имя) маршрута, и столбец 2 - интервал (в минутах).
Или кто-то предложит более простое решение?
Применение - конечная остановка автобусов, отъезжающих по разным маршрутам с разными интервалами движения. Девайс должен подавать звуковой сигнал и выводить на экран номер маршрута, которому необходимо отправляться.
Настраивать планирую гибко: добавляю номер маршрута, интервал движения, записываю в ЕЕПРОМ. Выхожу из настроек, выбираю номер маршрута и запускаю конкретный таймер (то есть автобус отъезжает).
Как я это вижу:
Это двумерный массив, в котором 3 столбца и плавающее количество строк.
Столбец 0 - id, которое связывает номер маршрута с его интервалом, столбец 1 - собственно номер (строковое имя) маршрута, и столбец 2 - интервал (в минутах).
ID | Номер маршрута | Интервал (в мин) |
1 | 10 | 11 |
2 | 21 | 5 |
3 | 13 | 16 |
4 | 15 | 26 |
5 | 28 | 13 |
6 | 163 | 55 |
... | ... | ... |
id(N) | track(N) | interval(N) |
Вот дальше начинаются грабли, которые я не могу понять. Как создать в EEPROM массив, да ещё и плавающий? Как связать адресацию массива и адресацию EEPROM? То есть я хочу добавлять маршруты через настройки, а не вручную в коде скетча.Или кто-то предложит более простое решение?