На тренировках по слалому в Москве (то есть на небольших горках с перепадом высот 50-55 метров и длиной спуска 200-250 метров) мы иногда ставим самодельный хронометраж. На старте калитка, на финише фотофиниш (пересечение лыжником ИК луча) и часы. Связь старт и финиша по радиоканалу. Так сложилось, что мы называем систему хронометража для горных лыж «омега». Так вот, наша омега сломалась — пропал радиоканал. Возникла мысль собрать новую на основе «конструктора» Ардуино, т.е. можно сказать, что без паяльника. В серии заметок планирую освещать ход работ.

Описывать нашу старую омегу не буду, сразу перейду к тому, что хотелось бы иметь на тренировках.
Калитка
После старта лыжника калитка должна «залипать» в открытом положении. Следующий участник тренировки ее закрывает и при этом «взводит» пружину. То есть при открытии нужно преодолеть усилие пружины, а потом после открытия на 45 градусов другая пружина должна подтянуть калитку до открытого состояния. Начало отсчета времени — по полностью открытому состоянию калитки.
Фотофиниш
В фотофинише должен быть ИК луч, поскольку видимый свет может хуже работать в снегопад. Желательна модуляция (кодирование) связки «излучатель» — «фотоприемник», чтобы избежать ложных срабатываний. Ширина финишных ворот от 5 до 10 метров. Желательно, чтобы ИК-излучатель и фотоприемник были в одном блоке, с противоположной стороны — катафот. Такую систему удобно настраивать. Но возможно и разнесение (излучатель и фотоприемник напротив друг друга), такое решение позволяет существенно уменьшить мощность излучателя.
Базовый блок
Хронометр, который принимает сигналы от стартовой калитки и от фотофиниша должен «держать» на трассе трех лыжников. Соответственно нужно, чтобы было три удобно читаемых табло на четыре цифры каждое: две на секунды и две на сотые доли секунды. Базовый блок располагается не обязательно прямо на финише, лучше подальше, чтобы можно было спокойно оттормозиться и вообще доехать до удобного места, например у подъемника.
Радиоканал
Стартовая калитка, фотофиниш и базовый блок должны быть соединены тремя радиомодулями, каждый типа приёмо-передатчик. В принципе достаточно, если радиомодули калитки и финиша «добивают» до базового блока. То есть, связывать старт и финиш не обязательно. Дальность работы радиомодулей не менее 500 метров (напомню, что горки в Москве короткие).
Логика
На старте
При старте радиомодуль калитки передает сигнал открытия на базовый модуль для запуска хронометра (одного из трех, по очереди). Кроме этого желателен отклик о готовности от радиомодулей на финише и «базе», с соответствующим световым индикатором.
Если участник с трассы сошел (DNF — «do not finished»), то нужно нажать на месте старта на специальную большую кнопку «DNF»для сброса таймера без пересечения фотофиниша.
В логике модуля управления калиткой нужно предусмотреть защиту от ложных срабатываний, если не получилось вручную закрыть калитку с первого раза. То есть, «истинный» импульс следующего старта возможен только после необходимого для закрытия калитки времени.
Базовый блок должен «держать» не более трех участников на трассе и соответственно выдавать сигнал «можно дать старт» (в виде светодиода, например), когда участников на трассе меньше. В принципе для тренировок достаточно «держать» на трассе двух участников, а возможность «держать» третьего — просто на всякий случай.
На финише
Никакой логики. При пересечении луча на базовый блок по радиоканалу передается импульс «стоп».
Базовый блок
Базовый блок принимает по радиоканалу импульс старта от калитки с отсылкой ответа на старт «старт принял». При пересечении фотофиниша базовый блок останавливает секундомер и также отправляет на старт сигнал «финиш принял». Связано это с тем, что у участников, собирающихся на старте постоянно возникает вопрос «омега работает?».
Для минимальной защиты от случайного пересечения луча фотофиниша нужно предусмотреть отсечку времени, например 10 секунд. То есть, если сигнал с фотофиниша пришел менее чем через 10 секунд после открытия калитки, то он игнорируется.
Базовый блок хронометрирует до трех участников из логики: старт потом финиш, относящийся стало быть именно к этому старту. Измеренное время выводится на три табло, одно под другим, с «прокруткой» так, чтобы последнее зафиксированное время показывалось на верхнем табло.
Питание
Аккумуляторы «18650» (литий-ионные 3.7 Вольт на банку). Аккумуляторы встроенные, зарядка через разъем микро USB, поскольку такой разъем сейчас распространен на смартфонах. Заряда аккумуляторов должно с запасом хватать на три часа работы системы в мороз.
Аппаратная часть
Все должно быть только из готовых модулей платформы Ардуино. Это в частности обеспечит хорошую ремонтопригодность.
Например, если «пропадет» радиоканал, то нужно будет просто заменить модуль радиоканала.
Основные вычислительные модули — Ардуино-нано (Arduino nano).
Это одноплатный компьютер с цифровыми и аналоговыми входами, программируемый с обычного компьютера через разъем USB. Таких модулей нужно три. К этим модулям добавляются модули радиоканала, кнопки, светодиоды и цифровые индикаторы. Все модули — «в стандарте» Ардуино, поэтому вопросы согласования должны быть решены сами по себе.
Питание от аккумуляторов, тоже из модулей: сам аккумулятор, плата зарядки и плата преобразователя напряжения в рабочее напряжение для Ардуино (5 Вольт) или для финишных ворот (12 Вольт).
Фотофиниш может быть собран на готовом решении для управления гаражными воротами.
Механическая часть калитки (система с пружинами и «залипанием» в открытом состоянии может быть собрана на основе мебельных петель с пружинным управлением, как на кухонных шкафчиках.
Стержень калитки стеклопластиковый из вариантов поддержки растений в саду.
Стоимость
Примерно такая «тренировочная омега» от Microgate стоит 3 800 евро. Эта цена и заставила задуматься об Ардуино. Поскольку закупаться планирую на Али Экспресс, ожидаю стоимость составляющих в 100 раз меньше.
Корректировка
добавлено позже 🙂
В процессе реализации по разным причинам были изменения и дополнения.
Старт
Основной вычислительный блок, который отслеживает сколько участников на трассе одновременно, а также контролирует качество радиосвязи, расположен на старте. Здесь же дополнительное табло на три времени. То есть на этом блоке три цифровых индикатора времени, светодиодные индикаторы «Можно дать старт» и «Пропала радиосвязь с финишем», и кнопка «DNF-Reset», которую нужно нажать, если участник не финишировал.
В радиообмене блок «Старт» это постоянный приемник, который настроен на передатчик, который на финише. Блок «Финиш» периодически посылает сигнал для контроля радиосвязи и синхронизации часов и, разумеется, посылает сигнал при пересечении финиша. При получении сигнала о пересечении финиша стартовый блок после вычисления результата прохождения трассы участником переключается в режим передатчика и передает результат на блок «Табло» (а также показывает результат «у себя»).
Финиш
Только передатчик и только на стартовый модуль.
Табло
Только приемник и только со стартового модуля. На табло расположено 6 цифровых индикаторов, показывающих шесть текущих результатов в обратном порядке. Самый свежий результат сверху, а по получении нового результата остальные смещаются на строчку вниз. Табло может быть расположено где угодно, подразумевается что где-то внизу на финише после зоны торможения.
Дополнительные секундомеры
Помимо основного радиоканала на Старте и Финише расположены короткодействующие передатчики. Эти передатчики выдают кодированный сигнал соответственно при открытии калитки и при пересечении финиша. У (некоторых) участников в кармане блок с секундомером со своим цифровым индикатором и короткодействующим приемником. Все такие секундомеры одинаковые. Для того, чтобы они не мешали друг другу (когда участник стоит на старте в очереди, его блок улавливает старт других участников) в секундомер заложена простая логика: «свой старт» это тот, за которым последует финиш.
Это сделано на случай, когда дальности основного радиоканала будет не хватать. Например, поездка в горы небольшим составом участников.
Получилось вот так:

Стоимость материалов и комплектующих (без учета индивидуальных секундомеров (на фото один такой сверху) и блока контроля регламента (на фото — слева) составила 5 400 руб или 83 USD. Хотя общие расходы, конечно больше 🙂
Дальность в городе с соблюдением по возможности условия прямой видимости составила 1 км для радиосвязи блоков «Старт» — «Финиш» и 700 метров для связи блоков «Старт» — «Табло». После тестирования поставил в блок «Табло» такой же (более продвинутый) радиомодуль как в блоках «Старт» и «Финиш», поэтому тоже должен быть километр дальности, но не проверял.
Здесь собраны все заметки по теме «Хронометраж для горных лыж на Ардуино».
Вадим Никитин
Отличная статья! Мне сегодня скинули ссылку и смотрю и как будто себя со стороны вижу =) Приятно понимать что я не один такой =))) Моя омега тут: https://vk.com/omega_as
Сергей, добрый день! С вашим проектом знаком, в заметке про радиомодули размещена ссылка на ваш проект.
Продаете готовые комплекты ?
Сколько стоит на заказ готовый комплект, готов заказать
Готов купить комплект