Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Меня вдохновили многие вариации классической игры Pong, реализованной на Arduino с использованием светодиодной матрицы 8x8. В этом руководстве я покажу вам, как создать мою любимую версию Pong, в которой есть два весла - нападающий и вратарь - на игрока. Поскольку светодиодная матрица 8x8 имеет очень ограниченное пространство (или точки), я буду использовать вместо этого в этом проекте светодиодную матрицу 8x16. Для простого подключения я буду использовать две светодиодные матрицы 8x8 со встроенным MAX7219 и по одному потенциометру на каждый плеер для управления веслом.
Шаг 1: материалы
- Arduino Uno или аналогичный
- (2) светодиодная матрица 8x8 с MAX7219
- (2) потенциометр 10K
- перемычки
- Держатель батареи 9 В и батарея 9 В
- корпус (мое решение по умолчанию - всегда картонная коробка)
Инструменты: клеевой пистолет, нож
Шаг 2: Сборка оборудования
Обратитесь к моему видео и схеме подключения для сборки оборудования.
Шаг 3: Код
Прилагается код Arduino, который я использовал для игры, показанной на видео.
Для этого проекта я использую простую библиотеку max7219 под названием LedControl. Если эта библиотека еще не установлена в вашей Arduino IDE, следуйте инструкциям на их веб-странице для загрузки и установки.
Чтобы отслеживать движение мяча, я использую 5 переменных. Хотя лучше хранить все это в массиве на случай, если мне понадобится несколько мячей для игры в прорыв, этот проект предназначен для учеников средней школы, поэтому я сохраняю его простоту.
Для позиционирования игроков я читаю соответствующие потенциометры, которые возвращают значения от 0 до 1023 и сопоставляют их значениям от 0 до 7 для координаты Y.
Используя эту платформу, вы также можете кодировать другие игры, такие как змейка, вождение, стрельба и прорыв. Я написал игру для двух игроков, в которой два мяча движутся одновременно, но из-за низкого разрешения и того, что шары всегда движутся под углом 45 градусов, это не сработало так хорошо, как я себе представлял. (Если вы погуглите, вы можете найти однопользовательскую игру для прорыва.)