Лабиринт на основе Arduino

Автор Юлия Костина

В условиях пандемии тема настольных игр стала очень актуальна. У кого-то вошло в традицию собирать у себя дома шумные компании, а кто-то любит проводить гейм-батлы наедине со своей второй половинкой. Но постоянное обновление домашней коллекции настольных игр — затратное занятие. Мы решили помочь вам избавиться от этой проблемы и занять себя вдвойне интересным квестом. Представляем гайд по созданию настольного лабиринта на основе 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: пользуйтесь!

Поместите металлический шарик на отметку «старт» и начинайте своё гейм-путешествие. Вы можете соревноваться с друзьями на скорость: кто быстрее доведёт шар до финиша, кто меньше попадётся в ловушки и т.д. А можете создать сразу два лабиринта и устроить настоящую гонку!

 

Ссылки