Понедельник, 02 мая 2022 18:59

Автоматизированные шахматы

F49SV2PKXX9MD9M

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

Но у DIY- культуры нашлось своеобразное решение проблемы – умные автоматизированные шахматы. Они совмещают натуралистичность деревянных фигур и практичность цифровых программ.

Умные шахматы – это игрок, который всегда готов появиться по ту сторону доски и сыграть за чёрных. Он не только мыслит как человек, но ещё и фигуры сам передвигает, оставаясь совершенно невидимым и беззвучным. Что это: магия поттерианы или запрещённые технологии? 

На деле, это всего лишь скрытый подвижный механизм на осях XY под управлением знаменитой платы Arduino

Сегодня мы делимся с вами руководством по сборке умных шахмат.

Список деталей:

– Линейные рельсы с V-образным пазом 20x20 (5 шт. различной длины – 315 мм, 350 мм, 395 мм и 2 шт. по 345 мм);

– Угловые кронштейны 90 градусов (10 шт.);

– Шкив GT2-20, отверстие 5 мм (2 шт.);

– Шкив GT2 (8 шт.);

– Ремень GT2 3,5 м;

– Arduino Nano;

– Шаговый двигатель Nema 17, 200 шагов/об, 12V 350mA (2 шт.);

– Драйвер шагового двигателя A4988 (2 шт.);

– LCD модуль;

– Аркадные кнопки 23,5 мм (2 шт.);

– Электромагнит с удерживающей силой 5 кг;

– Диод 1N4001;

– Силовой транзистор TIP 120;

– Концевой микропереключатель с роликом (2 шт.);

– Герконовый переключатель 14,5 мм (64 шт.);

– Резистор 1 кОм;

– Мультиплексор CD74HC4067 (4 шт.);

– Клеммная колодка DC Jack;

– Межплатные соединители (штыри однорядные);

– Винтовые клеммы (10 шт.);

– Макетная плата 50 x 100 мм (3 шт.);

– Разъём HE10 (4 шт.);

– Ленточный кабель (8 шт.);

– Набор деревянных шахматных фигур;

– Наклейка «шахматная доска», клетки 37 x 37 мм;

– Магниты 8 x 3 мм (32 шт.);

– Стенки коробки из пенокартона – 462 x 462 x 5 мм; 462 x 462 x 10 мм; 462 x 80 x 10 мм (2 шт.); 442 x 80 x 10 мм (2 шт.);

– Колёса для V-образных рельсов (8 шт.);

– Алюминиевые распорки 5 х 6 мм (4 шт.);

– Эксцентриковые распорки для колёс (4 шт.);

– Наборы гаек, болтов, винтов, шайб и шестигранников;

– Опорные 3D-детали (файлы для печати в Приложении).

FQZ8ME2KZVA9N95

Рис. 1. Здесь видны рельсы, двигатели, электромагнит и различные детали для крепления – будущая система XY

FSR8SJTKZJUPUWN

Рис. 2. Электроника

Шаг 1: Электромагнитная тележка на осях X и Y

FCMGYV9KXHJSGK3 1

Рис. 3. То, что скрыто внутри

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

F4V8YPNKXHJSGMW

Рис. 4. Оси XY, электромагнитная тележка (Trolley) и два шаговых двигателя (Motor A и B)

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

Переключать подачу питания легко с силовым транзистором TIP 120, управляя им прямо с Arduino.

FIQL3QBKY1JXQFW

Рис. 5. Получая напряжение на базу (B), транзистор позволяет току идти через коллектор (C) на эмиттер (E)

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

FAVSQFRKXG4D15E 1

Рис. 6

FAVSQFRKXG4D15E

Рис. 7

– если вращается только один двигатель, возникает диагональное смещение тележки, как на рис. 6;

– при вращении двух двигателей в одном направлении производится горизонтальное смещение (рис. 7, справа);

– если двигатели вращаются в противоположных направлениях, тележка движется по вертикали.

FXG28ICKXN9KK4V

Рис. 8. Перемещение по оси X с помощью боковых колёс

F9O4JV7KXN9KK4W

Рис. 9. Перемещение по оси Y с помощью колёс тележки

Для гладкого беспрепятственного скольжения очень важна контактная сила и пространство между колёсами и рельсами. Если его слишком мало, скольжение будет тугим, если слишком много – неточным. Получить хорошую контактную силу только за счёт конструкции нельзя, должна быть система настройки. Эксцентриковые распорки нужны именно для этого: поворачивая их в разные стороны, можно увеличить или уменьшить зазор рядом с колесом, и тем самым добиться наилучшего скольжения.

FKCFWLZKXN9KKPM

Рис. 10 Распорки в конструкции тележки

Последовательность действий (рис. 11):

1) Соберите тележку.

2) Установите её на рельс и отрегулируйте зазоры трения с помощью эксцентриковых распорок. Соберите и добавьте две опоры для шкивов на каждом конце рельса.

3) Соберите основную раму из четырёх внешних рельсов.

4) Соберите опоры шкивов.

5) Установите рельс тележки на основную раму, сделайте фрикционные зазоры и добавьте опоры шкивов.

6) Установите шаговые двигатели.

7) Добавьте ремни и отрегулируйте их длину так, чтобы обеспечить хорошее движение двигателей.

FC8NJ83L01C332P

Рис. 11 Поэтапная сборка тележки и рельсов

Шаг 2: Шахматы и коробка

FCMGYV9KXHJSGK3

Рис. 12 Подготовка деталей

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

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

F4BOP5TKWQEH2AT

Рис. 13 Так должна выглядеть внутренняя сторона доски

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

Последовательность действий (рис. 14):

1) Наклейте «шахматную доску» на основную поверхность и сделайте отверстия для кнопок и экрана.

2) С обратной стороны начертите точно такую же доску. Проследите, чтобы её положение полностью совпадало с положением первой доски, буквально клетка в клетку. 

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

F2LM3L5KZE4ZD73

Рис. 14

4) Закрепите ленты на доске с помощью клея, затем установите кнопки и экран.

5) Завершите монтаж проводов.

6) Удалите войлок в основании фигур и закрепите магниты с опорами на том месте (рис. 15)

FWDV2EHL01C33XH

Рис. 15

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

F016HGSL0856CRN

Рис. 16

Ориентируйтесь по рисунку 16, чтобы обеспечить хорошее взаимодействие магнитных полей.

Части пенокартона склейте вместе и в одной из стенок просверлите отверстие для подключения разъема питания.

FZEFOQNKZIF82NE

Рис. 17

Шаг 3: Электроника

FDKI874KZLA7AR4

Рис. 18

1) Разложите перед собой макетные платы.

2) Установите штыревые разъёмы и винтовые клеммы.

3) Приклейте макетные платы к специальным опорам. Спаяйте все выводы, разъёмы и провода, используя схему подключения на рис. 19.

4) Установите печатные платы, соединяя все устройства между собой так, как это показано на рис. 19.

F84RW6BKXX9NIXN

Рис. 19 Схема подключения устройств

– Шаговые двигатели подключите к драйверам A4988

– Аркадные кнопки и концевые выключатели подсоедините к Arduino, используя внутренние подтягивающие резисторы

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

– Экран можно подключить к Arduino через I2C связь, тем самым снизив количество используемых контактов. Линия SCL идёт к пину A5, а линия SDA – к пину A4.

– Подключить 64 геркона напрямую к Arduino не получится, контактов не хватит. Поэтому используйте мультиплексоры, подключая герконы к их канальным выводам C0 – C15. 

Шаг 4: Аппаратно-программное обеспечение

Теперь, чтобы вдохнуть жизнь в сборку, необходимо заняться программированием. В приложении есть исходный код на языке Arduino, но для его использования нужно установить две библиотеки: 

– Wire.h

– LiquidCrystal_I2C.h

Шахматная программа Micro Max с открытым исходным кодом станет для вас тем самым невидимым игроком напротив. В её основе лежат универсальные алгоритмы Minimax и Alpha-Beta. Первый работает как мозг человека: анализирует возможные ходы и составляет разветвлённое дерево решений. Но в чистом виде не является удобным: анализ бесчисленных возможностей шахматной партии требует серьёзных вычислительных мощностей. Arduino, при всех своих достоинствах, не может обеспечить этого.

FU426YMKZVA9OHQ

Рис. 20 Разветвлённая структура принятия решений

К счастью, алгоритм Alpha-Beta трудится над тем, чтобы обрезать лишнее. Он оценивает начальные варианты и выбирает только одну ветку, отсекая остальные. Быстрый анализ и отсечение он делает при каждом новом ответвлении и, в итоге, приходит к конечному результату максимально прямым путём, без лишних сбоев и перегрузок.

Не забывайте, что в ваших силах создать собственный ИИ или расширить Micro Max дополнительными функциями: шахматы с человеком удалённо, игра в "пьяницу" с ПК, режим тренировки в шотландском дебюте. Может, вы уже определились, с чего начать? Или даже задумались об апгрейдах умных шахмат? Напишите нам, будем рады вашему мнению.

Удачи в начинаниях!

 

Приложения:

1) Файлы для 3D-печати

2) Исходный код

 

 

 

 

 

 

 

 

 

 

Опубликовано в Технологии

Ссылки