Оглавление:
- Шаг 1. Соберите компоненты и инструменты
- Шаг 2: сделайте сетку
- Шаг 3: сделайте джойстик
- Шаг 4: напишите код
- Шаг 5: Играйте с друзьями
Видео: Игра 3D4x: 3D 4x4x4 Крестики-нолики: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Вы устали играть в одни и те же, старые, скучные, двухмерные крестики-нолики ?? Что ж, у нас есть решение для вас! Крестики-нолики в 3-х измерениях !!! Для 2 игроков в этом кубе 4x4x4 поставьте 4 светодиода подряд (в любом направлении) и вы выиграете! Ты делаешь это. Вы играете в это.
Шаг 1. Соберите компоненты и инструменты
Самым важным компонентом этих 3D крестиков-ноликов является светодиод. Мы выбрали PL9823, в котором уже есть встроенный контроллер. Он имеет четыре контакта (вход данных, питание, заземление, выход данных) и позволяет легко адресовать и контролировать цвет светодиода. Структуру сетки можно построить разными способами, но для нас это был самый дешевый, прочный и эстетичный вариант.
Список компонентов:
- Arduino (мы использовали Uno)
- Светодиоды PL9823 (не менее 64)
- Деревянные палочки для шампуров (длина 24 см)
- Электропроводка (мы использовали внутренности старого кабеля Ethernet)
- Кнопки (мгновенное состояние)
- 7 резисторов (220 Ом)
- Макетные платы (1 для кнопок и игры, 1 для простого подключения панели к Arduino)
- Пенополистирол (~ 2х30х30см для изготовления панелей)
- Блок пенополистирола (~ 7x25x25см в качестве основы для всей сетки)
Список инструментов:
- Паяльник
- Олово для пайки
- Клей
- Линейка с линейкой
- Плоскогубцы
- Инструмент для зачистки проводов
- Кусачки
- Ножницы
- Маркер
- Ручка
- Пинцет
Шаг 2: сделайте сетку
Изготавливаем 4 панели из светодиодов 4х4 индивидуально.
- 00: Получите пенополистирол, чтобы сделать макет панели. Нарисуйте выкройку. В этом случае мы использовали расстояние 6 см между светодиодами с 2 см на концах.
- 01: Вставьте контакты светодиода в пенополистирол. Важный! Убедитесь, что вы вставили все светодиоды с одинаковой ориентацией. В нашем случае мы выбрали выходной контакт слева.
- 02: Теперь поместите палочки для шампуров из деревянных стержней по обе стороны от светодиодов рядами, убедившись, что все точки смотрят в одном направлении. Приклейте палочку к бокам светодиодных лампочек и дайте высохнуть.
- 03: Сделайте то же самое для столбиков деревянных прутьев для шпажек с обеих сторон светодиодов, убедившись, что все точки направлены в одном направлении. Приклейте и дайте высохнуть.
- 04: Осторожно удалите, ослабив светодиоды со всех сторон. Поднимите панель и переверните. Приклейте обратную сторону, чтобы было надежнее.
- 05: После того, как все высохнет, согните контакты, чтобы облегчить пайку и избежать пересечения электрических линий. Воспользуемся пинцетом и загибаем штифт вплотную к основанию.
- 06: Теперь подготовьте провода. Мы использовали старый кабель Ethernet с 4-мя витыми парами внутри. Снимайте изоляцию, стараясь не порезать маленькие провода. Затем раскрутите, выберите цвета, соответствующие разным линиям, и отрежьте нужную длину между светодиодами. Затем снимите немного изоляции с концов. Мы выбрали землю = зеленый, Vdc = синий, вход / выход данных = белый.
- 07: Припой! Соединений много (64х4), поэтому будьте осторожны при правильной пайке.
- 08: Снимите панель и поместите на пенопласт!
Шаг 3: сделайте джойстик
Мы использовали макетную плату, чтобы сделать джойстик для навигации по сетке и выполнения выбора. Мы разместили перемычки, резисторы и кнопки, чтобы сформировать схему (см. Диаграмму), которая определяет контроллер направления (6 кнопок, по 1 для каждого направления) и кнопку выбора (вводит ход игрока). 5 В и земля подключены к соответствующим портам на Arduino. Для аналоговых и цифровых входных контактов мы выбрали порты Arduino A5 и 2 соответственно.
Кнопка выбора имеет принципиальную схему с антигруппировочным резистором. Команда направления основана на резистивной лестнице, которая работает как схема делителя напряжения: напряжение на аналоговом входе зависит от нажатой кнопки и интерпретируется Arduino как одно направление команды.
Шаг 4: напишите код
Мы загрузили наш код, чтобы вы могли его использовать:) Во-первых, выполните электрические подключения к Arduino. Мы поставили мини-макет рядом с Arduino, чтобы облегчить задачу. Мы подключили Arduino «GND» и «5V» к 2 линиям макетной платы, где затем подключили соответствующее заземление и Vdc от каждой панели. Для ввода и вывода данных мы выбрали 4 разных контакта Arduino, 13, 10, 7 и 4 для каждой из панелей. Светодиоды PL9823 можно адресовать индивидуально, указав порядковый номер последовательно включенных светодиодов. Например, если вы хотите, чтобы 1-й светодиод загорелся определенным цветом, обратитесь к светодиоду [0]. Для 16-го светодиода адресный светодиод [15]. Теперь вы готовы писать код и играть с красивыми огоньками! Ниже приводится общее объяснение кода игры в 3D крестики-нолики.
Код игры 3D4x
Мы используем библиотеку fastled.h, которая позволяет нам управлять светодиодами с микроуправлением.
Куб виртуально запоминается в трехмерном целочисленном массиве «TTTMap», где каждый элемент может находиться в 1 из 5 состояний в зависимости от того, принадлежит ли соответствующий свет: 0 = нет игрока, 1 = игрок 1, 2 = игрок 2, 3 = игрок 1 в выигрышной комбинации и 3 = игрок 2 в выигрышной комбинации. Чтобы сопоставить элементы виртуального куба в TTTMap с реальными светодиодами, используются целочисленные массивы LEDMap0, LEDMap1, LEDMap2, LEDMap3.
Функция «setup» инициализирует порты Arduino, подключенные к панели, инициализирует все светодиоды на «черный» и инициализирует элементы массива TTTMap на 0.
Функция «цикл» запускает функции «ReadButtonInput ()», «SendLED ()» и, в случае победы одного игрока, функцию «VictoryAnimation ()». Первая функция считывает аналоговый вход команды направления и цифровой вход кнопки выбора. Логические переменные «ButtonPushing» и «SelectPushing» используются для того, чтобы избежать повторения движения со скоростью цикла, когда кнопка удерживается. Функция «SendLED ()» обновляет статусы светодиодов, отправляя последовательный управляющий сигнал в соответствии с данными в TTTMap. Фундаментальной функцией является «CheckVictory ()», которая вызывается функцией «ReadButtonInput ()» каждый раз, когда нажимается кнопка выбора. Эта функция проверяет, составляет ли выбранная точка в поле выигрышную комбинацию с окружающими кеглями. В случае выигрышной комбинации очки на TTTMap подписываются цифрами 3 или 4, в зависимости от игрока, который выигрывает, и запускается захватывающая «VictoryAnimation ()»!
Чтобы сыграть снова, просто нажмите кнопку сброса на Arduino:)
Шаг 5: Играйте с друзьями
Никаких объяснений здесь не требуется… НАСЛАЖДАЙТЕСЬ!
Рекомендуемые:
BBC Micro: Bit and Scratch - Интерактивная игра с рулевым колесом и вождением: 5 шагов (с изображениями)
BBC Micro: Bit and Scratch - Интерактивное рулевое колесо и игра вождения: Одно из моих заданий на этой неделе - использовать BBC Micro: bit для взаимодействия с программой Scratch, которую мы написали. Я подумал, что это прекрасная возможность использовать мою ThreadBoard для создания встраиваемой системы! Мое вдохновение для скретч-п
Игра в 3D лабиринт с использованием Arduino: 8 шагов (с изображениями)
Игра в 3D-лабиринт с использованием Arduino: Здравствуйте, друзья, поэтому сегодня мы собираемся создать игру-лабиринт с использованием ARDUINO UNO. Поскольку Arduino Uno является наиболее часто используемой платой, очень круто создавать игры с ней. В этом руководстве давайте создадим игру-лабиринт, управляемую с помощью джойстиков. Не забывайте
Нажмите кнопку); // Игра с ЖК-дисплеем Arduino: 5 шагов (с изображениями)
Нажмите кнопку); // Игра с ЖК-дисплеем Arduino: недавно в Scouts я работал над значком за заслуги перед игровым дизайном. По одному из требований я создал эту игру с использованием Arduino, основанной на LED Rocker Game. Цель игры - набрать как можно больше очков. В начале т
Игра Arduino Wire: 7 шагов (с изображениями)
Arduino Wire Game: для этого проекта я использовал ссылку на этом веб-сайте и изменил его, чтобы создать новый проект. Этот проект называется Wire Game, где вы возьмете металлическую ручку и проведете ее сквозь проволоку, не касаясь ее. Если ручка касается провода
Игра Саймона - Веселая игра !: 5 шагов
Simon Game - Fun Game !: Справка: После долгих выходных вы должны очень постараться, чтобы выполнить все задания и работу, за которые вы отвечаете. Пора нам тренировать мозг, не так ли? Помимо этих скучных и бессмысленных игр, есть игра под названием Simon Game