Главная » Микроконтроллеры
Призовой фонд
на июль 2017 г.
1. Осциллограф DSO138
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 200 руб.
От пользователей

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

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

Устройство на макетной плате

Антон Гаркуша (gam-raingers@mail.ru) (на форуме AntonIOCifra)

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

Теги:

Гаркуша А. Опубликована: 2010 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (3) | Я собрал (0) | Подписаться

0
Игорь #
Сейчас собираю эту схему. У меня возникли 2 вопроса:
1) Я пользуюсь программатором UspAsp и шью контроллеры через программу avrdude. Там FUSE-биты выставляются через
hfuse (старший конфигурационный байт);
lfuse(младший конфигурационный байт);
efuse(дополнительный конфигурационный байт)
т.е мне требуются значения требуемых фьюзов(CKSEL3-0 равны 0100; присвоить значение 100 фьюзам BODLEVEL 2-0; CKDIV8 равен 1) в 16-ичном формате (т.е. например ext=0xFF, High=0xDB, Low=0xFF). Напишите пожалуйста, какие значения каких фьюзов нужно прописать?

2) Я что-то не очень понимаю, а не нужно ли подводить питание и землю на 20-10 ноги контроллера соответственно?
Ответить
0
Игорь #
Разобрался с данными вопросами. Кому интересно или кто будет собирать устройство, привожу информацию:

1) Для avrdude фьюзы следующие: lfuse=0xe4; hfuse=0xd9; efuse=0xff

2) По поводу схемы - там не указано, что нужно подключать питание(20 ножка - Vcc; 10 ножка - GND).

Схему собрал. Все отлично работает. Спасибо автору за интересное устройство.

Ответить
0
Александр #
Собрал схему, все работает, но настолько медленно, что не передать словами... Программировал через AVRProg фьюзы ставил как написано... Скажите, пожалуйста, в чем может быть проблема?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
iMAX B6 - зарядное для Lion, LiPo, LiFe, Pb, NiCd и NiMH аккумуляторов Тестер ESR, полупроводников, резисторов, индуктивностей
вверх