Контроллер кнопок для игры Что? Где? Когда?

Всем известна интеллектуальная игра «Что?Где?Когда?», но не все знают ее разновидность – так называемый «Свояк». Суть заключается в следующем: одновременно играют 2-3 команды, по шесть человек в каждой из них.

На столе (ну или где-то там) у жюри стоит пульт или ноутбук со специальной программой. Командам же раздают кнопки (по одной на каждую команду). Вопрос зачитывают всем командам сразу, и на размышление дается одна минута. Если команда знает ответ, то игрок жмет на кнопку, и отвечает.  Если ответ верен отсчет времени прекращается, и зачитывается новый вопрос, а если неверен, то время для ответа остальных команд уменьшается (увеличивается) до 20 секунд.

Недавно меня попросили сделать контроллер кнопок для такой игры. Простейший вариант – собрать все на реле, но конструкция получится неподъемной, альтернатива – на МК.

Так как я как раз практикую программирование Arduino, то выбор пал на него. К слову, программа для Arduino весит меньше 3 кБайт.

Вот скрин исходного кода:

Рассмотрим поподробнее скетч:

Так как мы будем подключать устройство к ПК, то скорость COM порта для удобства можно выбрать 9600 бит/с (что бы меньше настраивать комп). Частоту опроса кнопок поставим 100мс, потому что десятая доля секунды мало на что влияет. Что бы не подключать к входам МК дополнительные подтягивающие резисторы, включим встроенные в МК Atmega 8 подтягивающие резисторы к VCC номиналом 20кОм.

Устройство подключается к ПК по USB, ну или по COM порту(смотря какой у вас Arduino/Freeduino).

Программа для Windows написана в среде Delphi (Embaracadero Delphi XE3). Вот ее окно:

.

ВАЖНО! Для правильной работы, после подключения к ПК нужно зайти в диспетчер устройств, выбрать появившийся COM порт и изменить его название на COM30. После этого можно запускать программу.

Внешний (скорее внутренний) вид устройства:

Кнопки к платформе Arduino нужно подключать следующим образом:

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.