Спидометр для измерения масштабной скорости
Последняя версия скетча доступна на GitHub https://github.com/vhar/mrs
Управление осуществляется при помощи двух кнопок units/mode и scale/options
Спидометр имеет два режима работы ”Спидометр” и “Таймер”
Переключение между режимами осуществляется нажатием на кнопку units/mode более 1.5 сек
После включения устанавливается режим “Спидометр”. Если нет ошибок то на экране отображаются выбранные единицы измерения скорости, масштаб и надпись “Готов”
Кратковременное нажатие на кнопку units/mode переключает по кругу единицы измерения скорости MPH/KPH
Кратковременное нажатие на кнопку scale/options переключает по кругу масштаб HO/TT/N
Выбранные значения сохраняются в EEPROM. При включении автоматически выбираются последние выбранные перед выключением параметры.
При пересечении локомотивом первого сенсора, в нижней строке появляется “бегущая строка” указывающая направление движения локомотива
После пересечения локомотивом второго сенсора, в течении 5 секунд отображается результат измерения и надпись “RESULT”
После этого, значение обнуляется и отображается стартовый экран “READY”
Если после срабатывания первого сенсора прошло определенное время и не сработал второй сенсор, на экран на 5 секунд выводится надпись “TIME OUT”
После чего спидометр переходит на стартовый экран “READY”
Если происходит сбой или нештатный режим работы, например одновременно поступает сигнал от обоих сенсоров и при этом не производится измерение скорости (спидометр был включен когда за ним находился локомотив перекрывающий оба сенсора), на экран выводится надпись “ERROR”.
Новый опрос готовности производится каждую секунду и если причина нештатной работы была устранена, то спидометр переходит в рабочий режим к экрану “READY”
При переходе в режим “Таймер” (кнопка units/mode была нажата в течении 1.5 сек) появляется экран с тремя таймерами и надписью “START” слева от кнопки scale/options
Для запуска таймера нужно кратковременно нажать кнопку scale/options при этом вместо надписи “START” появится надпись “WAIT”, означающая что таймер ожидает первого срабатывания сенсора
После поступления этого сигнала начинается отсчет времени на таймерах в правой колонке.
Таймеры в левой колонке заполняются по мере срабатывания сенсора.
В левом верхнем углу отображается время последнего круга, в левом нижнем - время предпоследнего круга.
В правом верхнем углу отображается время на текущем круге и в правом нижнем углу время от начала отсчета (первого срабатывания сенсора)
При нажатии на кнопку scale/options,таймеры останавливаются
Следующее нажатие на кнопку scale/options приводит к обнулению таймеров и отображению экрана “START”.
При кратковременном нажатии на кнопку units/mode в любой момент времени, будет отображен второй экран таймера. На нем отображается общее количество пройденных кругов и среднее время прохождения круга. При повторном нажатии на кнопку units/mode будет отображен экран с таймерами.
Работа таймеров в момент отображения экрана LAPS/AVG не прекращается и при возврате к экрану таймеров, данные будут актуальными. Чтобы избежать случайной остановки или сброса таймеров, при отображении экрана LAPS/AVG нажатия на кнопку scale/options игнорируются.
Для перехода в режим “Спидометр” в любое время можно нажать и удержать не менее 1,5 сек кнопку units/mode.