В условиях пандемии тема настольных игр стала очень актуальна. У кого-то вошло в традицию собирать у себя дома шумные компании, а кто-то любит проводить гейм-батлы наедине со своей второй половинкой. Но постоянное обновление домашней коллекции настольных игр — затратное занятие. Мы решили помочь вам избавиться от этой проблемы и занять себя вдвойне интересным квестом. Представляем гайд по созданию настольного лабиринта на основе Arduino. Туториал подойдёт для всех любителей повозиться с электроникой в домашних условиях.
Что нам понадобится?
- Контроллер REXQualis Nano V3.0;
- модуль игрового контроллера PS2 Breakout;
- два сервопривода MG995;
- держатель пальчиковых батареек;
- листы гофрированного картона;
- печатная плата;
- самоклеящиеся двусторонние поролоновые прокладки;
- древесноволокнистая плита средней плотности;
- набор для пайки
- набор отвёрток;
- мини-шлифовальный станок GOXAWEE;
- лопаточное сверло 1/2 дюйма (12 мм);
- провода и паяльник;
- металлический шарик;
- три деревянных пластинки;
- разъёмы для печатных плат.
Шаг 1: проектирование
Рисунок 1
Первая задача — спроектировать и построить лабиринт. Для этого возьмите лист гофрированного картона и вырежьте из него прямоугольник 150x210 мм.
Начертите лабиринт белой ручкой или жидким корректором на листе чёрной бумаги такого же размера, как и лабиринт. Можете воспользоваться готовой схемой (смотри рисунок 1) или проявить фантазию и продумать свой маршрут. Но наносить путеводную дорожку совсем не обязательно — усложните задачу и нанесите на лист только перегородки. Главное — не забыть создать вспомогательный маршрутный лист, чтобы довести игру до конца, если кто-то из ваших гостей попадёт в тупик.
Приклейте нарисованный лабиринт к картонному листу, используя любой клей, который у вас есть (лучший вариант — ПВА).
Когда клей схватится, вырежьте круглые «ловушки» канцелярским ножом или любым другим острым предметом. Рекомендуемый диаметр отверстий — 15-20 мм. Их количество зависит от задуманного вами уровня сложности игрушки.
Возьмите несколько листов картона и сделайте коробку таких же размеров, как и сама настольная игра. Стенки картона в высоту не должны превышать 35 мм, иначе прохождение станет менее удобным.
Рисунок 2
Под коробкой будет размещена большая часть электроники. Вырежьте несколько небольших полосок картона (высота не более 30 мм) и покрасьте их в чёрный цвет, чтобы они сочетались с лабиринтом.
Приклейте их к макету, чтобы создать перегородки (смотри рис. 2). Затем возьмите древесноволокнистую плиту и обрежьте её до размеров лабиринта.
Вырежьте из оставшихся обрезков плиты два блока 30х30 мм и соедините их между собой. Приклейте получившийся блок к заготовке (смотри рис. 3).
Рисунок 3
Шаг 2: установка серводвигателей
Рисунок 4
Приклейте один серводвигатель поверх блока. Снимите пластиковую насадку с оси сервопривода и соедините её с небольшим куском дерева (размер 15х30 мм) с помощью клея. Обрежьте края, как показано на рисунке 5.
Рисунок 5
Возьмите другой сервопривод и прикрепите его к готовому куску дерева. Как только клей высохнет, прикрепите сборку к первому сервоприводу.
Рисунок 6
Склейте вместе ещё два деревянных куска, снимите и приклейте ось второго сервопривода. Когда сборка высохнет соедините её с изделием, как показано на рисунке 7.
Рисунок 7
Шаг 3: создание платы
Рисунок 8
Самый простой способ получить нужную нам печатную плату — заказать её в интернете. В этом вам поможет сайт https://jlcpcb.com/. Ваша задача — загрузить схему в раздел создания заказа, оплатить его и ждать доставку. Стоимость платы не превысит 3 доллара.
Второй вариант — напечатать плату на 3D-принтере. Самая простая программа для такой печати — Tinkercad. Рекомендуем использовать именно её.
Третий способ — создать печатную плату самостоятельно. Для этого воспользуйтесь нашей статьёй о технологии ЛУТ (https://insighthub.ru/ru/technology/izgotovlenie-pechatnykh-plat).
Рисунок 9
Шаг 4: сборка
Рисунок 10
После того, как печатная плата будет готова, прикрепите к ней Arduino Nano (смотри рис. 9). Припаяйте концы проводов модуля игрового контроллера PS2 к плате (рисунок 10). Затем, с помощью самоклеющихся прокладок, прикрепите плату, модуль и держатель пальчиковых батареек к древесноволокнистой плите (рисунок 11). Подключите Arduino Nano к компьютеру с помощью USB-кабель с разъёмом Mini-B.
Рисунок 11
Шаг 5: код Arduino Nano
Запустите программное обеспечение Arduino. Скопируйте следующий код:
#include
Servo servo1;
Servo servo2;
int joyX = 0;
int joyY = 1;
int servoVal;
void setup()
{
servo1.attach(3);
servo2.attach(5);
}
void loop()
{
servoVal = analogRead(joyX);
servoVal = map(servoVal, 10, 1023, 0, 15);
servo1.write(servoVal);
servoVal = analogRead(joyY);
servoVal = map(servoVal,10, 1023, 17 , 34);
servo2.write(servoVal);
}
Шаг 6: подключение
Рисунок 12
После завершения программирования подключите сервоприводы к печатной плате (рисунок 12). Включите аккумулятор и проверьте контроллер: вы должны увидеть плавное движение сервоприводов в ответ на управление модулем PS2.
Когда всё будет готово, прикрепите лабиринт к верхнему блоку сервоприводов, как показано рисунке 13. Для этого воспользуйтесь самоклеящимися двусторонними прокладками.
Рисунок 13
Шаг 7: пользуйтесь!
Поместите металлический шарик на отметку «старт» и начинайте своё гейм-путешествие. Вы можете соревноваться с друзьями на скорость: кто быстрее доведёт шар до финиша, кто меньше попадётся в ловушки и т.д. А можете создать сразу два лабиринта и устроить настоящую гонку!