Как стать волшебником (часть 2)

в 15:52, , рубрики: diy или сделай сам, гарри поттер, квест в реальности

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

Т.к. до момента построения квеста я увлекался электроникой, в частности, программированием AVR-микроконтроллеров на С, было принято решение попытаться максимально реализовать этот потенциал, что дало бы возможность добавить максимум интерактива, интереса и увлекательности квесту! К тому же, очень не хотелось делать квест похожим на десятки других (работающих на то время в нашем городе).

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

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

Как стать волшебником (часть 2) - 1

Общий обзор

Первоначальную реализацию квеста мы опустим (возможно я расскажу об этом позже), а сосредоточимся на моменте доработки (после которой квест имеет окончательный вид).

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

Как стать волшебником (часть 2) - 2

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

Сердцем всей системы стал микроконтроллер Atmega16 (единственным критерием выбора было достаточное количество GPIO), который по UART общается с программой на компьютере. Все остальные устройства выполнены на микроконтроллере Atmega8 (отлично подходит по количеству GPIO и имеет приемлемую цену).

Большинство плат спаяны на крутейших двусторонних макетках, соотвественно все детали в DIP-корпусах. Часть плат осталась с самого начала работы квеста.

Программа для компьютера

Основное окно программы:

Как стать волшебником (часть 2) - 3

Расширенное окно для нештатных ситуаций:

Как стать волшебником (часть 2) - 4

Окно ошибки:

Как стать волшебником (часть 2) - 5

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

Фото платы

Как стать волшебником (часть 2) - 6Как стать волшебником (часть 2) - 7

Основное магическое орудие: палочка

Волшебная палочка немного таки волшебная, у неё в кончик встроен неодимовый магнит. Сделал её добрый дедушка-токарь по дереву всего за 2$. Основной проблемой было впихнуть магнит максимального диаметра, сохранив кончик максимально тонким.

Как стать волшебником (часть 2) - 8

Теперь более подробно рассмотрим каждое устройство.

Красная ветка

Книга

Как стать волшебником (часть 2) - 9

Аудио-событие книги срабатывает по концевику, который вмонтирован в полку. Она изначально закрыта и чтобы открыть её, нужно поднести палочку с магнитом. Книга как мини сейф: в ней есть аккумуляторы (Li-ion 3S), геркон и транзисторный ключ, который управляет электромеханической защёлкой (чтобы не пускать весь ток через геркон. При этом можно наблюдать красивое свечение внутри геркона, но при этом он долго не проживёт и велика вероятность “залипания” контактов). Здесь всё просто — палочка поднесена, геркон пропускает ток, транзистор открыт и ригель защёлки втянут. Внутренности сейфа для носка выглядят так:

Как стать волшебником (часть 2) - 10

И конечный вид:

Как стать волшебником (часть 2) - 11

Добби

Как стать волшебником (часть 2) - 12

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

Устройство выполнено на микроконтроллере Atmega8 и популярном RFID-модуле RC522. После поднесения носка (радиус срабатывания до 4 см, как раз идеально подходит), полевой транзистор открывает электромагнитную защёлку в шкатулке и с помощью пружины крышка приподнимается, на главную плату идёт сигнал и в чаше воспоминаний засвечивается красный свет.

Плата

Как стать волшебником (часть 2) - 13

Синяя ветка

Камин

Как стать волшебником (часть 2) - 14

Камин, естественно, фейковый. Выполнен из профиля и гипсокартона, обклеенного кирпичной плиткой.

Электроника собрана на Atmega8. В каждую кирпичину вмонтирован концевик и подведена светодиодная лента синего цвета. Сами кирпичи сидят с одной стороны на завесах, а с другой сделана примитивная направляющая с возвратной пружиной. При первом нажатии на любую кирпичинку засвечиваются все нажимабельные (их 7 штук) на 100мс и у картины убирается глаз с помощью шагового двигателя, на главную плату уйдёт сигнал, включится воспоминание и синий свет в чаше воспоминаний.

Шаговый двигатель и светодиодная лента управляются с помощью транзисторной сборки Дарлингтона ULN2003 (для любознательных — теоретическую часть можно почитать здесь).

Теперь каждое нажатие на любую кирпичину инвертирует её состояние (одно нажатие — вкл., следующее — выкл. и так по кругу), при первом нажатии на любой кирпич В картине скрыт инфракрасный датчик: ИК-светодиод светит, излучение отбивается от приближающегося игрока и попадает на ИК-транзистор, который с помощью колхозных точных подстроек резисторами дает на выходе дискретный сигнал 0 либо 1.

Как стать волшебником (часть 2) - 15

Предусмотрено также решение против паразитной засветки (особенно актуально, если юзеры начинают светить лампой на камин), в разрыв цепи основного ИК-транзистора включен ещё один (замаскированный), который при засветке просто отключает реакцию микроконтроллера.

Как только срабатывает ИК-датчик, микроконтроллер и включает моргание нужной комбинации, которую нужно нажать (засветить) и, кстати, последовательность нажатия тоже играет роль. Моргание нужной комбинации выключает все нажатые до этого кирпичи.

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

(Вообще эти защёлки очень слабые, хотя в пике и потребляют немало тока. С их управлением нужно быть очень осторожным, если давать ток на неё более 5 секунд она может просто сгореть, именно так я спалил одну защёлку)

Доступ к техническим узлам и плата

Как стать волшебником (часть 2) - 16

Как стать волшебником (часть 2) - 17Как стать волшебником (часть 2) - 18

Зелёная ветка

Шкатулка

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

Как стать волшебником (часть 2) - 19

(Эта та самая баночка, которая нужна для пасхалки с анекдотами Добби, о которой рассказано в первой статье)

Дверь

Как стать волшебником (часть 2) - 20

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

Как стать волшебником (часть 2) - 21

Правильный алгоритм открытия двери можно понять исходя из подсказки:

Как стать волшебником (часть 2) - 22

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

Как стать волшебником (часть 2) - 23

Во время пауз (5с) микроконтроллер просто висит в delay, а во время нажатий инкрементируется переменная. Поэтому если долго и упорно нажимать на ручку, то она и так откроется, кстати, некоторые люди открывали дверь именно таким способом, сами не понимая, как они это сделали. Чтобы не делать новую плату с отдельным микроконтроллером для этой простой затеи, на плате лабиринта было найдено несколько свободных пинов и всё подключено туда.

Зеркало-сундук

На крышке сундука нанесены 10 магических символов, а изнутри под ними приклеены герконы.
Пользователю нужно поднести палочку к 3 правильным символам (последовательность роли не играет. На фото отмечены галочками), однако на других рисунках тоже стоят герконы, поднесение палочки к которым аннулирует прошлые нажатия, даже если они были правильными (чтобы невозможно было открыть сундук поднесением палочки ко всем подряд символам). При правильном выборе символов электромагнит в сундуке открывается (в сундуке стоит любимая Atmega8 и ULN2003). На этом этапе отправляется сигнал на плату циферблата лабиринта (банальная единица с пина одного МК на пин другого через транзисторный ключ) и в лабиринте начинают вращаться крутилки.

Как стать волшебником (часть 2) - 24

Лабиринт

Как стать волшебником (часть 2) - 25

Эту громадную конструкцию мы оооочень недооценили. Она забрала очень много сил и времени на создание, однако результат того стоял. Для работы “большого чёрного объекта на стене” требовалось много GPIO (всё делалось самым примитивным путём — никаких мультиплексоров/демультиплексоров, только хардкор!), поэтому пришлось разбить устройство на функциональные узлы — циферблат и сам лабиринт. Каждый узел выполнен на всё той же Atmega8.

Процес сборки

Как стать волшебником (часть 2) - 26

В лабиринте впринципе всё просто (хотя тогда это казалось не совсем просто:) ). Много проблем доставила схема наличия шарика в конце своего пути. В работу открытой оптопары постоянно вмешивались рандомные помехи.

Фото платы

Как стать волшебником (часть 2) - 27

Именно эти жёлтенькие конденсаторы помогли решить проблему рандомного срабатывания оптопар.

По итогу прохождения лабиринта открывается доступ к зеленой сфере. Система предоставления доступа к нему сделана на замке от дверей автомобиля. (По соотношению цена/сила втягивания он монстр!).

Изначально не планировалось выдавать по 1 шарику для игры, однако пришлось вносить коррективы уже на финальной стадии, т.к. в шариках магнитики, они могут “слипнуться” и разъединить их очень проблематично, поэтому чтобы максимально исключить эту вероятность в игре было принято решение выдавать шарики по очереди. Подача осуществляется с помощью шагового двигателя и импровизированной заслонки из старого спиннинга.

Фото механизма

Как стать волшебником (часть 2) - 28

Объединение сил

Шахматы

Как стать волшебником (часть 2) - 29

После долгих размышлений была продумана задача с единственным алгоритмом (при некоторых условиях, которые игрокам оговариваются). Оставалось дело за малым — реализовать систему движения шахмат и реакции на действия игроков :)

При поддержке колхоз-продакшн была реализована такая тррррэшовая конструкция:

Как стать волшебником (часть 2) - 30Как стать волшебником (часть 2) - 31

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

Фото платы

Как стать волшебником (часть 2) - 32Как стать волшебником (часть 2) - 33

Кто знает, фигуры мы взяли из набора шахмат Гарри Поттера, они еще издают разные звуки, светятся и т.д. Я не мог оставить эти фичи просто так, переместил эти платки под доску и получилось, что когда ходят конём — он ржёт, а в конце можно услышать звук падшего короля.
После победы в шахматах открывается дверь шкафа (открывается быстро с помощью мебельной газовой направляющей).

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

Чаша воспоминаний

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

Туманообразователем стали ультразвуковые увлажнители в количестве 6(!!!) шт и суммарной мощностью около 100 Вт!

Как стать волшебником (часть 2) - 34

Увы, фото не сохранилось, однако устройство очень простое, выполненное по схеме:

Как стать волшебником (часть 2) - 35

Размеры делались такими, чтобы идеально поместить эту систему в стол (место для ящиков).

Переговорное устройство

Мои скудные знания аналоговой схемотехники не позволили с наскоку решить эту задачу. После долгих и неудачных попыток (но как оказалось позднее, решение было четровски близко!) я попросил своего друга из Херсона сделать мне такое устройство.

И вот через некоторое время я получил такой девайсик

Как стать волшебником (часть 2) - 36Как стать волшебником (часть 2) - 37

Предусилитель сделан на малошумящем операционном усилителе NE5532, после чего стоит TDA2006.

Схема предусилителя

Как стать волшебником (часть 2) - 38

И наконец мы переходим к одной из самых сложных систем в комнате — финальном сражении с Тёмным Лордом!

Бой

Идея была реализовать хоть примерно похожий “бой” игрока (Гарри Поттера) с Волан-де-Мортом. Для большего эффекта был добавлен ветер (2 вентилятора). Мы продумывали множество вариантов, и тут мне друг подсказал об адресных светодиодах WS2812. Это сейчас даже самые ленивые ардуинщики рассказывают о том, какие крутые штуки они делали, но тогда WS2812 были менее известны, но именно они стали нашим спасением! Без них реализовать нашу задумку было просто нереально!

5м светодиодной ленты были сложены пополам, а внутри был протянут провод для геркона. Первые 5м ленты были благополучно спалены в попытке сэкономить на блоке питания для этой же ленты :)

Разработку мы начали с устаканивания таймингов:

Как стать волшебником (часть 2) - 39

Некоторых траблов добавило включение вентиляторов. Если подносить/убирать палочку часто, то реле (изначально пробовал включать вентиляторы через реле), микроконтроллеру просто сносило башню. В итоге я узнал об возможности управлять нагрузкой 220В через оптосиммистор. После этого я реле не использую :)

Также стоит упомянуть, что серьезных вычислительных мощностей (в масштабах Atmega8) требовалось уделить управлению адресной светодиодной лентой. Сначала работа ленты очень подвисала, мы долго с мучились, не могли понять почему. В итоге мне пришлось найти в интернете человека, который написал библиотеку для этой ленты и попросить помощи у него. Причина была банально проста: МК не успевал выполнять код в обработчике прерывания, и как только мы это пофиксили, всё заработало прекрасно!

Фото платы

Как стать волшебником (часть 2) - 40Как стать волшебником (часть 2) - 41

Программы для микроконтроллеров
Программа для компьютера

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

Будет интересно!

Автор: Bolshoi_Booze

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js