Разработка игрового устройства “Лабиринт”: жизнь как игра

Игра – это важная составляющая жизни человека. Игры помогают развивать креативность, социальные навыки, моторику, логическое мышление, помогают расслабиться и уменьшить уровень стресса, играют важную роль в образовании, бизнесе и научных исследованиях. Студент Казанского техникума информационных технологий и связи Адель Зифаров в статье рассказывает о кейсе создания игры, в которую будет интересно сыграть – какие нужны комплектующие, как и что вырезать, и как запрограммировать игру.

«Лабиринт» – это игра, в которой игроку нужно управлять шариком, двигая его через лабиринт, избегая препятствий и находя путь к финишу. Игра достаточно популярна и имеет свою аудиторию

Основные плюсы данной игры:

  • игра лабиринт с шариком требует от игрока точности и умения контролировать движение шарика, что помогает развить моторику и координацию;
  • это игра-головоломка, которая требует от игрока логического мышления и умения решать задачи;
  • игра требует от игрока постоянного контроля и внимания, что помогает улучшить концентрацию и внимательность;
  • игра может помочь снизить уровень стресса, так как требует от игрока концентрации и внимания, что может увести его мысли от проблем и неприятностей;
  • достижение успеха в игре может улучшить настроение и повысить самооценку.

Игровое устройство «Лабиринт» актуально в современном мире, поскольку может оказывать положительное влияние на развитие личностных качеств человека. Кроме того, оно имеет потенциал для применения в таких областях, как образование, развлекательная индустрия и медицина.

В данной статье будет рассматриваться этап разработки устройства «Лабиринт» на базе микроконтроллера atmega328p

Игровое устройство представляет собой игру «Лабиринт», где нужно управлять шариком, чтобы пройти лабиринт от старта до финиша, изменяя положение игровой площадки с помощью джойстика и сервоприводов. Механизм автоподачи шаров на стартовую позицию обеспечивает удобство игрока.

Игра имеет несколько уровней сложности, которые игрок выбирает в начале. Дисплей показывает оставшееся время для прохождения уровня, и при установлении рекорда время добавляется в таблицу рекордов. Игрок может подписать свой рекорд с помощью клавиатуры. На дисплее отображается таблица рекордов, а звуковое сопровождение включает победные и проигрышные звуки.

Чтобы создать более яркую атмосферу игры, устройство оснащено светодиодной лентой, меняющей цвета во время игры.

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

Список необходимых комплектующих:

– arduino Mega;

– 2 аккумулятора 18650;

– контроллер зарядки BMS;

– блок питания 12В 2А;

– 2 понижающих модуля LM2596;

– 2 сервопривода MG996R;

– сервопривод SG90;

– 2 датчика линии TCRT5000;

– джойстик KY-023;

– матричная клавиатура;

– энкодер EC11;

– дисплей OLED 0,96 дюйма;

– DFPlayer;

– SD карта;

– 2 динамика 3Вт;

– адресная светодиодная лента WS2813DC5V;

– переключатель.

– резисторы 1кОм.

Сборка схемы устройства

После подбора необходимых компонентов необходимо спроектировать электрическую схему. Первым этапом необходимо реализовать систему питания всех компонентов и микроконтроллера. Для этого сначала необходимо подключить аккумуляторы к контролеру заряда BMS по схеме.

Контакты будут являться входом и выходом, следовательно, необходимо подключить гнездо для блока питания к этим контактам. Также к контактам будут подключены понижающие модули через переключатель.

Так как на выходе BMS высокое напряжение, необходимо понизить его до 7,2Вв и 5В. Для этого необходимо настроить понижающие модули с помощью переменного резистора и мультиметра.

Понижающий модуль, настроенный на 7,2В подключается только к сервоприводам Mg996R. Микроконтроллер, инфракрасные датчики, адресная светодиодная лента, энкодер, джойстик, OLED экран, DFPlayer, усилитель PAM8403 будут работать от напряжения 5В, следовательно, их необходимо подключить к другому понижающему модулю LM2596.

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

Сервоприводы и адресную светодиодную ленту, матричную клавиатуру можно подключить к любым цифровым входам Arduino. Главное во время программирования микроконтроллера, в программе указать верные входы. Контакты SW, DT, CLK энкодера также подключаем к цифровым пинам микроконтроллера. Для подключения OLED дисплея используются контакты SCL и SDA. SCL – это пин для передачи сигнала тактовой частоты. Для подключения джойстика KY-023 требуется использовать аналоговые пины. Пины VRx VRy джойстика подключаются к аналоговым пинам Arduino. Пин SW джойстика подключается к цифровому пину микроконтроллера.

Для подключения инфракрасных датчиков необходимо подключить D0 к цифровым входам микроконтроллера.

Далее необходимо подключить DFPlayer, динамики и усилитель PAM8403. Для подключения DFplayer к Arduino используются входы RX и TX.

Полная схема устройства представлена на рисунке:

Сборка устройства «Лабиринт»

После сборки схемы необходимо изготовить корпус для устройства. Выбраны материалы для корпуса: фанера и ДСП.

Из ДСП вырезается доска размером 20×20 см, а затем делаются бортики высотой 2 см. Для платформы делаются отверстия под модульные бортики, используя ручной лобзик. Бортики крепятся специальным столярным клеем и маленькими гвоздями для надежности. Модульные бортики для игровой площадки изготавливаются из ДСП толщиной 2 мм с помощью электролобзика для точности. Модульные бортики позволят изменять лабиринт и придумывать новые игровые сценарии. Готовая игровая площадка с модульными бортиками изображена на рисунке.

Для сборки основной части корпуса необходимо изготовить все части из 10-миллиметровой фанеры. Каждая часть точно вырезается с помощью электролобзика. Одной из частей является фанерный контейнер, который будет прикреплен к краю основной части устройства.

В этом контейнере будет размещаться вся электроника. Конструкцию можно скрепить со стенкой основной части корпуса с помощью винтов. Основная часть корпуса представлена ниже.

В основной части корпуса делаются отверстия для проводов, динамиков и крепления крышки. Затем изготавливается механизм игровой площадки, состоящий из оси, способной наклоняться в двух плоскостях.

Для изготовления механизма потребуется просверлить два отверстия в бруске высотой 5 см и вставить шпильки. На концах шпилек крепятся уголки для надежной фиксации. Затем устанавливаются два сервопривода для движения игровой площадки. В площадке делаются отверстия для шарика, ИК датчиков и динамиков, а также подключаются провода к сервоприводам и ИК датчикам. Далее происходит сборка и установка крыши с использованием деталей из фанеры 10 мм и алюминиевых уголков. Механизм автоподачи шариков включает сборку барабана, оси и подшипников, а также крепление сервопривода и трубки для шариков. Готовый механизм представлен на рисунке.

Барабан снабжается желобом для направления шарика в трубку и его падения на игровую площадку. Адресная светодиодная лента приклеивается к внутренней части крыши. Провода от сервопривода и ленты проложены вниз к месту установки электроники. Для экрана и органов управления вырезаются посадочные места на передней панели, и элементы крепятся с помощью маленьких винтов или горячего клея.

Затем в корпус устанавливается вся оставшиеся электроника, начиная с системы питания. Собранное устройство представлено ниже.

Программирование устройства «Лабиринт»

Программирование устройства «Лабиринт» включает в себя различные задачи, такие как управление сервоприводами, обработка данных с сенсоров, управление светодиодной лентой или OLED дисплеем, и другие функции. Программирование будет производиться в среде разработки ArduinoIDE. Следующим этапом является инициализация таких библиотек как: Keypad, GyverEncoder, GyverOLED, FastLED, Servo, eeprom, DFRobot DFPlayer Mini.

Эти библиотеки необходимо дополнительно загрузить в папку libraries, находящиеся в папке Arduino.

Программа начинается с настройки параметров игры, таких как названия мелодий для победы и проигрыша, уровни сложности и пины подключения компонентов. SD карту необходимо отформатировать под формат FAT32. Мелодии нужно будет загрузить на SD карту с названиями 0001,0002 и т. д. В зависимости от ситуации можно прописывать проигрыш нужной мелодии.

Затем идет инициализация компонентов, например, настройка дисплея, сервоприводов, клавиатуры и других.

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

Также программа отслеживает время игры и проверяет, была ли введена правильная комбинация клавиш в заданное время. При окончании игры проигрывается соответствующая мелодия и отображается результат игры на дисплее.

Программа также сохраняет лучший результат игры в памяти eeprom для последующего отображения на дисплее при запуске игры.

Данный код реализует игру с использованием различных компонентов и функций для управления игрой, отображения информации и взаимодействия с игроком.

Устройство лабиринта открывает двери в увлекательный мир программирования, электроники и разработки игр, и может стать отличным проектом для самостоятельного изучения и творчества. Надеемся, руководство будет полезным для тех, кто интересуется созданием устройств игрового типа

Приятного путешествия в мир лабиринтов!

Если хотите узнавать больше о развитии ИТ и новостях индустрии, подписывайтесь на телеграм-канал и подкаст “Поток”

 

Источник

жизнь, игра, игрового, Как, лабиринт, разработка, устройства

Читайте также