Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Приветствую, Хабр!
Идея реализации возникла не сама собой. Дети одного из коллег ходят в хоккейную секцию. Для тренировки ребятишек и оценки их спортивных показателей тренер придумывает различные игровые сценарии, измеряя секундомером время их прохождения. Мы решили разработать некую систему, которая позволит разнообразить тренировки с возможностью отслеживания результатов. И назвали мы ее Sport Light (над названием думали не очень долго).
Данное устройство не является чем-то новым, и мы не изобретали велосипед. Подобные системы уже существуют. Несколько лет назад мы также продумывали подобную систему для тренировки скалолазов. Изготовили макет устройства, которое в итоге забросили. Там, кстати, была интересная реализация на тензодатчике (измерение веса), так как необходимым условием было измерение силы надавливания.
Вернемся к нашим баранам устройствам. Наша система должна быть предназначена для оценки, прежде всего, скорости, ловкости и реакции будущих спортсменов. Нужно было что-то простое и функциональное. На первом этапе остановились на сенсорных датчиках, BLE и RGB светодиодах. Внешне выглядит примерно так.
У нас есть шесть «шайб», которые умеют светиться разными цветами. Главное не перепутать с хоккейными и не вдарить клюшкой. Темное кольцо сверху – это сенсорная панель внутри корпуса.
Как это работает? Сценариев может быть множество! Пока мы решили остановиться на шести цветах. Каждая «шайба» может менять цвет при прикосновении, фиксировать время срабатывания и отправлять данные по Bluetooth в приложение на смартфон. Можно зажигать определенный цвет на каждом устройстве (свой для каждого игрока/команды) или менять цвет в процессе, если не добрался до цели в заданное время. Можно при касании одного устройства рандомно менять цвета на остальных. Детям, при их низком росте устройство оказалось очень удобным. Они без труда могут хлопать ладошкой по крышке «шайбы» и тренировка превращается в своеобразную игру.
Первая сложность как всегда – это корпус. Нужно что-то полупрозрачное, разборное и с разъемом. Решение пришло внезапно. В одном из интернет-магазинов на глаза случайно попался аккумуляторный светильник с зарядкой от Micro-USB. Так как выход на рынок и его завоевание не планировался – это была прямо находка! Осталось только разработать свою плату и написать софт.
Элементная база. Микроконтроллер выбрали из того, что было в наличии на складе – STM32F100 (сейчас есть еще более замечательные от GigaDevice, если вы понимаете, о чем я). Датчик прикосновения самой простой TTP223, имеет минимум обвязки, стоит копейки, работает замечательно. Bluetooth модуль JDY–10M с интерфейсом UART. Использовали в первый раз, нареканий вообще никаких. Для зарядки аккумулятора классика – LTC4054. Все это добро было куплено на алике и пока шло к нам долгой почтой я делал схему и плату.
Покупной светильник состоял из двух плат. Первая – основная. Вторая – плата с Micro-USB разъемом для зарядки. Я решил оставить также. Ниже стандартная схема подключения LTC4054. Вывод CHARGE вывел на контроллер, чтобы красиво отображать процесс зарядки переливающимися RGB. Аккумулятор поставил другой - LP414661 Li-Pol 1300мА (стоял на 500мА). Со схемой особо не мудрил, так как аккумулятор довольно мощный, а время тренировки относительно мало.
Напряжение питания контроллера и светодиодов реализовано на DC/DC AP3418KTR. Предусмотрел одну «фишку» - отключение DC/DC с помощью геркона на нижней стороне платы. Если установить «шайбы» на площадку с магнитами, например для транспортировки, то питание будет отключено. Можно было, конечно, отключать сразу аккумулятор, но очень хотелось иметь возможность заряжать все устройства сразу в специальной коробке (пусть даже без красивой индикации). Есть идея сделать коробку из фанеры (лазерной резкой) с вырезами для «шайб» и встроенной зарядкой.
RGB светодиоды FYLS-5050RGBC. Управление на полевиках 2N7002.
Так как Bluetooth модуль использовали новый, на всякий случай установил на плату дополнительно RN4871U, который уже использовали ранее.
В начальной конструкции кольца не было. В качестве сенсора использовалась штатная пружинка, но срабатывания были не вполне уверенными. Кольцо решило все проблемы. Разрабатывали сразу два варианта плат одновременно – под пружинку (разработал мой коллега) и под кольцо (разработал я). Это было соревнование с другим инженером из нашей компании на скорость и качество разработки, так сказать.
К сожалению, больше фотографий не осталось, так как все очень быстро сделали и весь комплект отдали в секцию. Если вдруг вернутся на доработку обязательно добавлю материал.
Что планируем? Сделать бокс для транспортировки с возможностью зарядки через контактные площадки на дне «шайб». Добавить оптические датчики на крышку и разнообразить сценарии игры еще больше. Ведь аудитория – это дети, а их нужно заинтересовать!
Спасибо за внимание и успехов!