el_creator: (Default)
[personal profile] el_creator
Выложил в паблик базовую версию техдокументации (схема, файлы проекта с исходным кодом и прошивкой) на свою установку для проведения интеллектуальных игр https://sourceforge.net/projects/openbrainy .
Лицензия GPL v2, всем желающим развивать программную и/или аппаратную часть проекта выдам права на апдейт, форки тоже приветствуются.
Установка позволяет определять, кто из 2..4 игроков первым нажал кнопку, сигнализируя встроенной пищалкой, светодиодами у ведущего и у игрока на кнопке.
После того, как кто-либо нажал кнопку, нажатия остальных игнорируются в течение времени на индикацию, после чего система сбрасывается в исходное состояние.
Здесь можно найти аналоги: http://www.krylenko.com/chgk/utilities/brain-systems.html
Преимущества перед аналогами:
- современная (все детали выпускаются промышленностью), недорогая (стоимость деталей ниже стоимости сборки), доступная (использован один из самых популярных контроллеров, имеющийся в наличии даже у мелких фирм и на радиорынках) элементная база
- возможность адаптации установки к большинству существующих jeopardy-подобных игр, использования ее для создания новых без перепаивания, только перепрошивкой при помощи элементарного программатора "5 проводков в LPT порт" или любого имеющегося в наличии.
- возможности расширения функциональности за счет интеграции с ПК через USB путем подпаивания любого доступного дата-кабеля от мобильного телефона, создающего в системе виртуальный COM-порт. Когда информация о том, кто нажал кнопку (и за какое время) передана компьютерной программе, обработка ограничена только фантазией и возможностями программиста (подсчет очков, миллисекунд на нажатие для тренировки кнопочников, вывод счета на экран или проектор на турнирах, вывод вопросов и ответов, работа с базой вопросов, публикация результатов турнира в режиме онлайн и т.п.). Библиотеки для работы с COM-портом есть для всех популярных сред разработки графических приложений.

Благодаря нестандартному программно-аппаратному решению удалось реализовать светодиодную индикацию на кнопке по тем же двум проводам, которые используются для приема сигнала от кнопки. Изначально, в режиме прослушивания сигналов с кнопок, выводы 12..15 микроконтроллера сконфигурированы как входы. Они подтянуты к земле резисторами, что дает определенную помехозащищенность, поддерживая логический "0" на входах. Светодиоды включены анодами к ним, поэтому не горят и не оказывают влияния на работу схемы. VT2 закрыт, потенциал в точке соединения R5 и R4 максимально близок к напряжению питания,т.к. через R4 ток крайне мал. Когда кнопка нажата  (считаем, что нажали первую), на выводе 12 появится логическая "1". Далее программа подаст логическую "1" на вывод 9, VT2 откроется, ток потечет через R4, потенциал в точке подключения кнопок (R5-R4) снизится. Реакция на кнопки станет невозможной, но она и не нужна в этот момент, поскольку программа переключает выводы 12..15 в режим выхода, и подает логическую "1" на вывод 12, соответствующий нажатой первой кнопке. При нажатии на кнопку ток потечет через делитель, образованный цепью R5-R6, поэтому для четкого установления логической единицы отношение сопротивления R6 к R5 не должно быть слишком малым. Пропорциональное уменьшение сопротивления этих резисторов увеличит помехозащищенность за счет увеличения текущего через них тока, но это приведет к увеличению нагрузки на контроллер в режиме индикации и росту энергопотребления, увеличение даст обратные эффекты.
Кроме того, в первых версиях устройства транзистор VT1 отсутствовал, пищалка была подключена прямо к коллектору VT2. Ввести его пришлось исключительно для этой опенсорс версии, рассчитанной на новые игры, где нажатие на кнопку необходимо регистрировать параллельно с подачей звукового сигнала (впрочем, в брейн-ринге с фальстартами при длинном сигнале на начало ответа также возможна ситуация, когда сигнал еще не отзвучал, а обе команды уже нажала кнопку).

August 2015

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 21st, 2017 10:33 am
Powered by Dreamwidth Studios