Познакомьтесь с электронной игрой ‘Светодиодные наперстки’. Это увлекательное устройство моделирует классическую игру в новом свете.
Это электронное устройство моделирует игру «Наперстки». В качестве наперстков используются светодиоды. Ведущим игроком выступает микроконтроллер. Игровое поле состоит из 7-ми светодиодов и расположено в три ряда (рис. 2). Центральный ряд олицетворяет наперстки, которые в процессе игры переставляются. Остальные светодиоды используются для обозначения направлений перестановки. Смысл игры заключается в том, чтобы отследить движение исходного светодиода (шарика) и определить его положение в конце перестановок.
Игра имеет 7 уровней сложности, которые различаются между собой числом и скоростью перестановок. При старте устройства с помощью светодиодов индицируется текущий уровень сложности. Информация о нем сохраняется в энергонезависимой памяти микроконтроллера.
На рисунке представлена принципиальная схема устройства. Кнопки «+» SB0 и «-» SB1 используются для изменения уровня сложности. Кнопка «Start» SB2 служит для начала процесса игры. Кнопки «Pos.1» SB3, «Pos.2» SB4, «Pos.3» SB5 предназначены для выбора положения искомого светодиода в конце цикла перестановок. Кнопка «Reset» SB6 осуществляет сброс микроконтроллера. Светодиоды «Pole 1-Pole 7» HL1-HL7 составляют игровое поле, где HL1-HL3 — средний ряд, HL4-HL5 — верхний ряд, HL6-HL7 — нижний ряд. Светодиоды «Yes» HL8 и «No» HL9 служат для индикации правильности ответа игрока.

Игровой процесс выглядит следующим образом:
В начале игры, игроку, путем пятикратного мигания, показывается один из 3-х светодиодов среднего ряда. Так обозначается наперсток, под которым находится шарик. Затем загораются все светодиоды этого ряда, и начинается их перестановка. Позиция искомого светодиода (шарика) меняется. Направление перестановок происходит случайным образом. Для этого в алгоритме программы микроконтроллера используется линейный конгруэнтный метод получения псевдослучайного числа [1]. В конце таких манипуляций игроку необходимо путем нажатия кнопок Pos1-Pos3 выбрать позицию, в которой находится помеченный светодиод. Если ответ правильный, то загорается зеленый светодиод «Yes». В случае неверного ответа загорается красный светодиод «No», а также мигает поле истинной позиции шарика.
В устройстве используется микроконтроллер ATTINY 2313 [2]. Фьюзы настраиваются на работу от внутреннего RC генератора с частотой 8 МГц (CKSEL3-0 равны 0100). Для повышения надежности работы с данными EEPROM задействован BOD детектор на уровень напряжения 4.3 вольта. Для его включения необходимо присвоить значение 100 фьюзам BODLEVEL 2-0. Также необходимо отключить деление тактовой частоты на 8 (CKDIV8 равен 1).
На рисунке 2 представлена фотография устройства собранного на макетной плате.

Антон Гаркуша (gam-raingers@mail.ru) (на форуме AntonIOCifra)
Прикрепленные файлы:
- naperstki.rar (33 Кб)