Оглавление:
Видео: POiNG! - Аркадная игра Arduino!: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Мы будем создавать аркадную игру в стиле PONG, в которой будут использоваться детали из набора «Самый полный стартовый комплект UNO R3 Project» от Elegoo Inc.
Полное раскрытие информации - Большая часть деталей, поставляемых для этого Руководства, была предоставлена автору Elegoo Inc.
Я хотел создать проект с использованием модуля LED Matrix. Базовый светодиодный дисплей 8x8 требует использования дополнительных регистров сдвига, чтобы иметь возможность адресовать отдельные светодиоды в матрице. Вместо этого в этом проекте используется светодиодный модуль MAX7219 8x8. Это очень простой в использовании модуль.
Я бы предположил, что из-за большого количества проводных соединений в этом проекте он будет считаться ПРОМЕЖУТОЧНЫМ уровнем инструктируемого.
Давайте начнем!
Запасы
Используемые детали стартового комплекта Elegoo (https://rebrand.ly/dvjb3w8)
- Микроконтроллер UNO R3
- Светодиодный модуль MAX7219 8x8
- ЖК-дисплей 16x2
- Потенциометр и ручка обрезки 10K
- Dupont Wires
- 220R резистор
- Пассивный пьезо-зуммер
- Модуль питания
- Адаптер 9V 1A - необходим, потому что UNO не может обеспечить достаточный ток для светодиодного модуля 8x8
- Макетная плата
Требуются дополнительные детали
Линейный потенциометр 2 x 10K - недорогой и широко доступный на eBay, AliExpress, Banggood и т. Д.
Шаг 1: Подключение схемы
Подключите цепь согласно электрической схеме. Не торопитесь. Для двух дисплеев требуется МНОГО подключений.
Обратите внимание на фотографии схемы, что модуль питания прикреплен к левой стороне макета, а адаптер постоянного тока 9 В, 1 А подключен к модулю питания, так что на светодиодную матрицу подается достаточный ток. НЕТ связи между выводом 5V на UNO и макетной платой. НО, контакт GND на UNO подключен к GND на макетной плате.
Дважды и трижды проверьте свою работу.
Шаг 2: Код Arduino
Это руководство предполагает, что вы уже знаете, как программировать на Arduino.
Загрузите прикрепленный скетч Arduino. Убедитесь, что вы добавили библиотеку LedControl в свои библиотеки Arduino. Я использовал версию Эберхарда Фале. Просто найдите MAX7219 в браузере управления библиотеками, и вы найдете и установите его.
Убедитесь, что файл pitches.h находится в папке вашего скетча. Он используется для воспроизведения звуков в игре.
Немного о сроках
Поскольку команда delay () полностью приостанавливает выполнение вашего эскиза при его запуске, мы вместо этого ищем истекшие периоды времени, когда мы хотим выполнить части эскиза, связанные с анимацией. Мы ищем заранее установленное количество времени, чтобы пройти, прежде чем мы выполним части эскиза, такие как обновление местоположения мяча на дисплее.
Что еще более важно, команда delay () действительно выполняется только в методе loop (). Обычно он не выполняется так, как ожидалось, в других методах. Таким образом, все связанные с анимацией временные рамки выполняются в методе loop ().
Пример:
Мы определяем несколько переменных типа long и пару логических значений, а затем устанавливаем их в конце setup ().
bThresh = 80; // время в миллисекундах между обновлениями шара
ballTime = millis (); // устанавливаем текущее системное время
bon = ложь; // горит ли светодиод шара
ballReturn = false; // возвращаем ли мы мяч после удара ракеткой?
В loop () для рисования мяча у нас есть:
if ((millis () - ballTime> bThresh) && bon == false) {// если мяч выключен и прошло достаточно времени ballOn (); // включаем светодиод шара
bon = правда; // мяч теперь включен
ballTime = миллис (); // сбрасываем ballTime на текущее время
}
if ((millis () - ballTime> bThresh) && bon == true) {// если мяч включен и прошло достаточно времени
ballOff (); // выключаем светодиод шара
bon = ложь; // мяч выключен
ballTime = миллис (); сбросить BallTime на текущее время
}
Есть много способов сделать эту игру. Это всего лишь мои предпочтения.
Эскиз полностью документирован, поэтому я предлагаю вам прочитать код, чтобы увидеть, как он работает.
Проверьте, скомпилируйте и загрузите свой код.
Наслаждайтесь игрой!
Шаг 3: Заключение
Я благодарю Elegoo Inc за предоставление стартового набора, используемого в этом проекте. Это набор с большим разнообразием деталей и модулей, который поможет вам хорошо освоиться в мире Arduino Maker.
Рекомендуемые:
Игра в рулетку DIY 37 Leds Arduino: 3 шага (с изображениями)
DIY 37 Leds Arduino Roulette Game: Roulette - это игра в казино, названная в честь французского слова, означающего маленькое колесо
Цифровая игра Ludo Dice с 7-сегментным дисплеем Arduino: 3 шага
Digital Ludo Dice с проектом 7-сегментного дисплея Arduino: в этом проекте 7-сегментный дисплей используется для случайного отображения числа от 1 до 6 всякий раз, когда мы нажимаем кнопку. Это один из самых крутых проектов, который нравится делать всем. Чтобы узнать, как работать с 7-сегментным дисплеем, нажмите здесь: -7 segme
Игра Jumping Man с использованием Arduino: 3 шага
Игра Jumping Man с использованием Arduino: Всем привет !!! Добро пожаловать в мой первый учебник. Я был большим поклонником игры Jumping Dinosaur, поэтому я попытался создать аналогичную игру с помощью Arduino UNO и ЖК-экрана. Это интересный проект, требующий лишь усилий
Автоматизированная игра в динозавров с использованием Arduino: 4 шага
Автоматическая игра с динозаврами с использованием Arduino: Итак, привет, парень, добро пожаловать обратно в новую статью в этой статье, мы создадим автоматизированную игру с динозаврами с использованием Arduino. Эту автоматизированную игру с динозаврами очень легко сделать. За несколько шагов вы можете сделать эту игру с динозаврами дома, когда я смотрел Тик-Ток несколько дней назад, я иду
Игра Саймона - Веселая игра !: 5 шагов
Simon Game - Fun Game !: Справка: После долгих выходных вы должны очень постараться, чтобы выполнить все задания и работу, за которые вы отвечаете. Пора нам тренировать мозг, не так ли? Помимо этих скучных и бессмысленных игр, есть игра под названием Simon Game