суббота, 2 апреля 2016 г.

Страйкбольный таймер на три стороны

Запилил очередной вид игрового таймера. На этот раз попросили сделать на три игровых стороны, для чего пришлось поизвращаться и разработать всё полностью с нуля.


Далее будет небольшое описание, фотка внутреннего устройства и видео с примером работы таймера.



Видео



Элементы управления

Главный компонент (и геморрой) данного таймера - четырехстрочный LCD дисплей, купленный у китайцев. Именно он определил размер корпуса. Из торчащих наружу элементов вы можете наблюдать три кнопки разных цветов, ключ для входа в меню установок и отверстие пищалки, закрытое красно-черной наклеечкой (на время отладки, чтобы не шибко пищал).

Кнопки управляют счетом времени для сторон, а также управляют параметрами при настройке. Вход в режим настройки происходит при повороте ключа. Выход - при повороте обратно.

Режимы

Всего у таймера 2 режима работы - таймер, когда время игры ограничено и часы, когда счет времени не останавливается. В режиме таймера время можно выбрать от 15 минут до 360 минут (6 часов) с шагом в 15 минут.

Для темного времени суток или при установке таймера в темном месте возможно задействовать подсветку, при этом настройки позволяют как полностью включить или выключить подсветку, так и включить режим подсветки по событиям - подсветка включается на 1/4 секунды при нажатии кнопок и каждую минуту в режиме счёта.

После завершения настройки таймер переходит в режим ожидания, а при нажатии любой кнопки в режиме ожидания - в режим счёта (вверх или вниз, в зависимости от режима работы). После этого нажатие кнопок запускает прибавление времени сторонам. Текущая сторона, которой приплюсовывается время отмечается на дисплее символом звёздочки.

По завершению счёта в  режиме таймера счёт останавливается, подаётся длинный звуковой сигнал и сторона набравшая наибольшее количество времени отмечается стрелочкой.

Внутри



Питается это дело от двух батареек, однако наличие дисплея требует для его работы стабильного напряжения в районе 5в. Поэтому внутри присутствует импульсный преобразователь напряжения в 5в, работающий даже при снижении напряжения на входе до 1в, так что комплект батарей он должен высасывать почти насухо.

Плату делать было лень, плюс это пилотный экземпляр, поэтому основная плата - кусок макетной платы. Собственно, это хорошо: пришлось пару моментов переделывать в процессе разработки. Развести под это дело обычную плату будет несложно.

Основной "мозг" данного таймера - мини-плата Arduino Pro Mini, но т.к. саму идею ардуины я не жалую, то программа к нему написана с нуля на C++ под его набортный микроконтроллер AT Mega168, без использования их софта и прочего, прошивается обычным образом, через программу avrdude. Под дисплей, кнопки, ключ, пищалку и управление подсветкой ушли все свободные выводы, но имеются еще три свободных "ноги" на разъеме программирования, плюс еще штуки четыре вывода на ProMini, которые не совпали с выводами макетной платы и поэтому к ней не припаяны.

Потребление электричества
Для снижения энергопотребления были применены несколько приемов - снижение напряжения питания микросхемы микроконтроллера до 3,3в с применением очень хорошего стабилизатора lp2980, снижение тактовой частоты микроконтроллера до 2МГц, применение режима ожидания микроконтроллера. К сожалению, самой жручей деталью остаётся дисплей - с ним ничего особенно не сделаешь. Особенно с его подсветкой (но её можно и не включать).

Были проведены замеры потребления тока при питании от одной ячейки LiPo аккумулятора (напряжение около 4,1в). Без подсветки потребление составило в режиме счёта 5,2мА, с подсветкой подскочило до 26,8мА.

Питание от полудохлых батареек AA (суммарное напряжение 2,7в) дало 8,1мА и 43,9мА. То есть на комплекте обычных батарей без подсветки стоит ожидать более 100 часов работы без подсветки и более 20 часов с подсветкой.

Данные пессимистичны и приведены для дерьмовых дешевеньких батарей. Исходя из опыта возни с таймерами вообще, для хороших щелочных батарей ожидаемый срок работы с подсветкой - не менее двух суток.

Дальнейшие перспективы

Данный таймер это пока можно сказать "проба пера", и есть мысль на основе полученных результатов спроектировать более универсальное устройство с более другим микроконтроллером, богатой периферией (внешняя клавиатура для ввода кодов), считывателем RFID-карт (для фиксации кто и когда включал) и беспроводным интерфейсом передачи данных на компьютер оргов и интерфейсами для подключения сигнализации и пиротехники, с USB-интерфейсом для конфигурирования с компьютера.

Такой таймер можно будет применять для организации достаточно сложных сценариев в играх, типа поиска карт для разблокировки, кодов запуска или отмены и прочего.

Беда в том, что такие таймеры в наших краях не очень востребованы, плюс народ как-то не очень хочет платить за игры, пусть даже качественно организованные.

Так что в отсутсвии интереса к таким устройствам  это так и останется "мыслями", хотя описанное выше возможности я в тех или иных разработках (не для страйкбола) уже применял.