Игра-платформер

Игра-платформер


Автор Instructables под ником joshua.brooks придумал игру-платформер на Arduino с однокнопочным управлением. Всё, что в ней надо делать - это вовремя подпрыгивать. Получилось - счёт увеличивается на единицу, не вышло - игра прекращается, а новую можно запустить той же кнопкой, что используется для прыжков.

Игровая программа работает на Arduino Uno, к которой подключён двухстрочный дисплей на чипе HD44780. Кнопка при нажатии соединяет вывод 2 Arduino с общим проводом. Точку соединения этой кнопки с Arduino хорошо подтянуть вверх резистором на 10 кОм, так улучшится помехозащищённость. Подсветка дисплея питается через резистор на 220 Ом. Всё это, вместе с макетной платой типа breadboard, кабелем и перемычками, показано на фото:



Перед сборкой самоделки мастер убеждается, что дисплей имеет стандартную цоколёвку:

1 - GND - общий провод
2 - VCC - плюс питания
3 - V0 - настройка контраста
4 - RS - выбор регистра
5 - R/W - чтение/запист
6 - E - разрешение операции
7 - DB0 - бит данных 0 (здесь не задействован)
8 - DB1 - бит данных 1 (здесь не задействован)
9 - DB2 - бит данных 2 (здесь не задействован)
10 - DB3 - бит данных 3 (здесь не задействован)
11 - DB4 - бит данных 4
12 - DB5 - бит данных 5
13 - DB6 - бит данных 6
14 - DB7 - бит данных 7
15 - LED+ - плюс подсветки
16 - LED- - минус подсветки

У некоторых дисплеев, особенно на чипе КБ1013ВГ6, но не только, цоколёвка может отличаться. Ничего страшного, заглянуть в даташит и скорректировать схему - минутное дело. И всё будет работать.

Первые четыре бита не задействованы потому, что Arduino отправляет данные на дисплей в четырёхбитном режиме. Перед этим он по тем же выводам конфигурирует дисплей сооответствующим образом.

В время сборки joshua.brooks питание на схему не подаёт. Плюсовой и общий выводы Arduino (5V и GND соответственно) он соединяет с соответствующими шинами пакетной платы. То же самое он проделывает с дисплеем, там с плюсовой шиной надо соединить вывод 2, а с общей - 1 и 16. Вывод 15 дисплея (питание подсвтеки) он подключает к плюсовой шине не напрямую, а через 220-омный резистор.

Затем он берётся за соединение Arduino с дисплеем:

Соединяет вход DB7 дисплея с выводом 3 Arduino.
Соединяет вход DB6 дисплея с выводом 4 Arduino.
Соединяет вход DB5 дисплея с выводом 5 Arduino.
Соединяет вход DB4 дисплея с выводом 6 Arduino.
Соединяет вход E дисплея с выводом 9 Arduino.
Соединяет вход R/W дисплея с выводом 10 Arduino (или общим проводом)
Соединяет вход RS дисплея с выводом 11 Arduino.
Соединяет вход V0 дисплея с выводом 12 Arduino (или общим проводом).

При желании можно добавить регулятор контраста. Сейчас он всегда на максимуме.

Осталась кнопка. Один из выводов кнопки мастер соединяет с общим проводом, другой - с выводом 2 Arduino. Лучше при этом добавить подтягивающий резистор (см. выше). Всё готово к программированию.

Весь цикл разработки joshua.brooks провёл в Tinkercad. Здесь, с некоторыми лагами, можно сыграть в эту игру в виртуалке, помодифицировать код и тут же увидеть, что получится. Там же есть кнопка Download Gerber для желающих собрать игру на печатной плате. А если Tinkercad у вас лагает очень сильно, сразу качайте прошивку и пробуйте запустить её на реальной железке.



Должно получиться что-то вроде этого:



Хотя эта игра не занимала даже третьих мест ни в каких конкурсах, которые на Instructables очень любят, она стала там настоящим хитом. О её повторении сообщили 23 пользователя. Например, kb55mail:



Rob Cai:



aryas25:



zhollett:



И другие. А вы?

Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Платформенный левитрон своими руками

Джойстик от NES - чтобы играть

8.5
Идея
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
7.4
Описание
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
8.3
Исполнение
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 8.04 из 10 (голосов: 8 / История оценок)

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

    • smilesmilesxaxaokdontknowyahoonea
      bossscratchfoolyesyes-yesaggressivesecret
      sorrydancedance2dance3pardonhelpdrinks
      stopfriendsgoodgoodgoodwhistleswoontongue
      smokeclappingcraydeclarederisivedon-t_mentiondownload
      heatirefullaugh1mdameetingmoskingnegative
      not_ipopcornpunishreadscarescaressearch
      tauntthank_youthisto_clueumnikacuteagree
      badbeeeblack_eyeblum3blushboastboredom
      censoredpleasantrysecret2threatenvictoryyusun_bespectacled
      shokrespektlolprevedwelcomekrutoyya_za
      ya_dobryihelperne_huliganne_othodifludbanclose

Привет, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

Добавьте самоделку

Добавьте тему

Онлайн чат

Опрос
А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

Последние комментарии

Все комментарии
Новые самоделки на почту

Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.