Электронная игра Светодиодные наперстки на микроконтроллере

Электронная игра Светодиодные наперстки на микроконтроллере

Это электронное устройство моделирует игру "Наперстки". В качестве наперстков используются светодиоды. Ведущим игроком выступает микроконтроллер. Игровое поле состоит из 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 служат для индикации правильности ответа игрока.

Игровой процесс выглядит следующим образом:

Светодиоды этого ряда, и начинается их перестановка. Позиция искомого светодиода (шарика) меняется. Направление перестановок происходит случайным образом. Для этого в алгоритме программы микроконтроллера используется линейный конгруэнтный метод получения псевдослучайного числа [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 представлена фотография устройства собранного на макетной плате.






Рекомендуемый контент




Copyright © 2010-2020 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.