Приветствую всех, кому может оказаться полезной данная статья. Хотя конечно, сейчас «квеструмы» уже далеко не на пике своей популярности, и новое поколение «квестов в реальности» использует совсем другие технологии. Но я искренне надеюсь, что кто-то сможет извлечь для себя опыт и из данной публикации, и применить его в быту.

Идея написания этой статьи родилась довольно давно: за спиной разработка и реализация электроники и автоматики для 5 «квеструмов». Общение с коллегами по цеху показало, что многие при строительстве квестов используют и более простые решения, как и куда более серьезные. Поскольку я не претендую на определенную компентенцию или авторитетность в разработке электроники, данная статья имеет смысл передачи опыта, и является попыткой рассказать о собственном видении применения автоматики типа «DIY» в сфере развлечений.

Итак, начнем. Для тех, кто не в курсе, «квесты в реальности» — вид современного развлечения, где команде игроков за определенное время предлагают найти выход из «кастомной» локации, попутно решая различные возложенные на них задания и миссии. Начиная с комнаты с дверью, и кучей механических кодовых замочков, «квеструмы» эволюционировали до огромного «шоу-монстра», соединив в себе элементы театрального представления, перфоманса, 3-d шоу, аттракциона и т.д. Создание таких квестов требует немалых финансовых вложений и усилий. И сейчас я расскажу, как мы построили подобный квест, не используя промышленные решения в автоматике и обеспечении интерактивности, ибо подобные вещи обошлись бы в суммы, на порядок выше тех, что мы потратили на постройку всей локации вместе с отстройкой ресепшена. В целях соблюдения коммерческой тайны, я не смогу назвать ни названия самого «квеструма», ни компанию, ни показать фото реализованных головоломок и устройств. Но все же что-то я смогу показать, и попробую рассказать обо всем максимально детально в рамках данной статьи.

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

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

Все действия и события, происходящие во время игры в квесте озвучиваются, подобно тому, как это происходит в любой видеоигре. Интерактивность происходящего реализовано в формате: ПК, к которому подключены 2 автомобильных усилителя класса AB + 6 аудиоколонок, дающих суммарную мощность в пике 800 Ватт. Также к ПК, работающему под управлением старой доброй Win7 подключены 2 ЖК — монитора, воспроизводящих в определенные игровые моменты видеоролики, а в остальное время отображающие некоторые статичные скрины. И как ни странно, вся эта кухня работает и управляется микроконтроллером AVR Atmega 2560, заботливо припаянным к плате **Arduino Mega 2560** нашими друзьями из недалекого, но известного государства. Но обо всем по порядку. Всего в квесте используется следующая электроника и автоматика:

— 6 датчиков движения;
— 15 герконовых датчиков СМК;
— 4 резистивных сенсора, изготовленных из фольгированного текстолита;
— 3 электромотора от стекло-подъемного механизма автомобилей;
— 1 дым-машина;
— 1 компрессор с ресивером для обеспечения работы пневматики;
— 2 пневмоцилиндра фирмы Camozzi + вся обвязка для подготовки воздуха и управления;
— 23 кнопки для ввода кодов в кнопочные панели головоломок с вводом кода;
— ультразвуковой датчик измерения расстояния HC-SR04;
— датчик шума для Arduino на конденсаторном микрофоне с компаратором;
— асинхронный трехфазный безщеточный двигатель 380 В;
— около 50 метров светодиодных лент;
— 33 светодиода 1 Ватт;
— 4 светодиода 10 Ватт для освещения комнаты в светильниках;
— 3 светодиодных софита;
— 15 плат Arduino (Uno, Mega 2560, и Pro Mini);
— 16 плат модулей, изготовленных и разработанных самостоятельно для этого квеста;
— 2500 метров кабеля UTP Cat-5e, ШВВП и ПУГНП;
— 1000 метров кабеля МГТФ для кроссировки электроники и модулей между собой;
— 2 автомобильных усилителя общей мощностью 800 Ватт;
— 6 автомобильных коаксиальных аудиоколонок, каждая мощностью в пике 120 Ватт;
— 2 трехфазных контактора 5 Ампер;
— 8 твердотельных реле с нагрузочной способностью 25 Ампер;
— 1 ПК (x64) на базе Windows 7;
— и еще куча разной неинтересной, но необходимой мелочи.

Для начала: об интерактивности. Все события и действия игроков внутри квеста озвучиваются (открытия дверей, проникновение в комнаты, сработки сенсоров и датчиков, и прочие игровые моменты — все озвучено, во время игры также проигрываются сюжетные аудиовставки).В игре реализована динамически воспроизводящаяся музыка: около 40 аудиотреков воспроизводятся в определенные игровые моменты и события, каждый аудиотрек плавно сводится с предыдущим. Всего в квесте использовано около 100 звуков событий и около 40 аудиотреков фоновой музыки.Также в квесте есть 2 монитора ЖК, на которых до выполнения определенного действия игроками висит статичный JPEG-фон, который плавно меняется на видеоролик, запускаемый также по событию. Все эти прелести мультимедиа-технологий удалось реализовать при помощи обычного офисного ПК, с видеокартой, которая поддерживает вывод на 2 монитора, и специальной программы, написанной по моем просьбе одним талантливым программистом. Сама программа выступает в роли мультимедиа плеера с некоторыми возможностями, недоступными для всяких бытовых Aimp-ов и Winamp-ов. А именно запуск произвольного аудио или видео файла с устанавливаемыми параметрами, типа уровня громкости и характеристик фэйдинга. Программа управляется командами, получаемыми от головного контроллера (Arduino Mega 2560) по UART.

Головной контроллер выполняет целый ряд функций:
— на нем крутится код программы «игрового движка», который управляет всеми функциями автоматики и электроники квеста;
— он принимает сигналы от входных устройств (датчики, сенсоры, устройства) через несколько «модулей входов» в виде логических уровней 0 и 1 на свои порты GPIO;
— он посылает команды на ПК для управления «медиаплеером» через UART-0;
— он обменивается данными с другими контроллерами по I2C;
— он осуществляет прием/передачу данных планшету по Bluetooth (на модуле HC-06, подключенного к UART — 1), где планшет является устройством управления и мониторинга квеста;
Как было сказано выше, головной контроллер (назовем его МК — 1) осуществляет обмен с другими контроллерами системы используя шину TWI (I2C), которые выполняют различные задачи. Второй по значимости контроллер (МК — 2) управляет выходными устройствами (электромагнитные замки, диммеры LED, электромоторы и Т.Д.) при помощи изготовленных самостоятельно «модулей выходов». Для этого квеста я изготовил несколько различных модулей «входов/выходов».

image

Схемотехника достаточно проста: гальваническая развязка на оптопаре PC-817, n-канальные MOSFET — транзисторы для управления светодиодами, электромагнитными замками + диод, подключенный параллельно выходу для устранения ЭДС самоиндукции электромагнитных замков, электромехнические реле для управления мощной низковольтной нагрузкой (электромоторы от стеклоподъемников иномарок типа «Mark II», подобные моторы имеют недюжий пусковой ток до 20 Ампер, и рабочий ток в районе от 3 до 7 Ампер, но имеются в огромном количестве в «авторазборках» по смешной цене от 200 рублей). Ну и напоследок, некоторое количество высоковольтных нагрузок (дым — машина, блоки питания вынесенных устройств, асинхронный трехфазный двигатель, ультрафиолетовое освещение 220 В) управляется с помощью твердотельных реле на ток нагрузки 25 Ампер, напрямую с выхода контроллера МК — 2, что отвечает за управление выходными устройствами.

Для кроссировки соединений устройств, находящих внутри локаций квеста и щитом автоматики я изготовил вот такие вот модули коммутации:

image

image

Также в квесте по ряду технических причин есть куча головоломок, реализованных в виде самостоятельных устройств, управляемых по I2C с МК -1. Все электронные модули, используемые в квесте я изготовил, используя «ЛУТ», «DipTrace» и немного терпения. На самом деле было много работы по изготовлению самих устройств, кроссировке датчиков и девайсов между собой, но об этом я планирую написать в отдельных и более детальных статьях, каждая из которых будет с определенным тематических «уклонов» (RFID, I2C, UART, Arduino).

Питание электроники осуществляется при помощи 7 блоков питания: 3 БП (400 Вт, 12 В) для питания слаботочки и светодиодных лент, электромоторов и электромагнитных замков; 2 БП (400 Вт, 12 В) для питания автомобильных усилителей НЧ; а также блок питания ATX для ПК, мощностью 600 Вт для питания всей логики, связанной общей точкой на GND; 1 блок питания 24 вольта фирмы «ОВЕН», для питания соленоидов пневмоцилиндров.

Также в реализации самостоятельных, но ведомых МК — 1 устройств было использованы такие предметы электронного быта, как RFID — модули MRFC — 522 в количестве 8 штук, китайские лазеры с длиной волны 650 нм.

Ну и наконец, достаточно интересный момент во всем системе: это управление квестом. Несмотря на все наши старания, упростить где только это было возможно, квест получился сложным электро — механическим организмом, для управления которого необходима доступная, удобная и недорогая платформа. Мне приходилось видеть квеструмы, где управление игровым режимом и сервисной частью осуществлялась при помощи автоматов и переключателей. По этому поводу хочется сказать, что в таком случае необходимость сложной системы автоматики вообще отпадает, ибо проще нанять на работу оператором квеста бывшего пилота гражданской авиации, поскольку только ему будет под силу контролировать работу пяти десятков исполнительных устройств и сотни датчиков и сенсоров. Как я уже упоминал, данный квест в моей биографии «разработчика электроники для квеструма» является пятым по счету, и в 3 других квеструмах у меня используется система управления, построенная на вебсервере, что крутится на ПК оператора квеста. В конкретном случае ее возможностей оказалась маловато, поскольку сервисный режим для описываемой системы предполагает работу персонала квеста внутри локации и комнат квеста (в сервисном режиме настраиваются устройства, работающие в квесте, все приводится в «дефолтное», начальное состояние, закрываются все замки, проверяется на исправность механика, осуществляется контроль сработки датчиков и сенсоров). Поэтому решение для управления квестом при помощи планшета было не случайным. И в этом случае мне очень сильно помогли талантливые ребята-программисты из Санкт-Петербурга. Парни занимаются разработкой бесплатного приложения «DK Gadget» под Android, которое позволяет управлять различным девайсами при помощи Bluetooth, Internet, Wi — Fi. Приложение невероятно удобное и обладает достаточно богатым функционалом для реализации самых смелых идей по управлению различной электроникой на базе Arduino, Raspberry Pi и др. Я уверен, что многие смогут использовать его в своих проектах. Программа позволяет контролировать состояния головоломок и устройств, а также получать в свои виджеты сервисные данные о состояниях датчиков, сенсоров и прочую необходимую информацию. Все управление квестом происходит при помощи планшета на Android с помощью описанного приложения. Я надеюсь написать также отдельную статью, описывающую возможности и функционал приложения, а также описать работу библиотек для Arduino, с помощью который реализуется обмен данными между планшетом и девайсом.

Ну и самая «экзотическая часть» автоматики для квеста — кинематика "аниматроника", этого безумного чудовищного монстра, призванного пугать в темноте ничего не подозревающих игроков, проходящих квест. Для реализации «аниматроника» нам потребовались изготовить пневмоприводы на пневмоцилиндрах Camozzi с диаметром поршня 20 мм и ходом штока поршня 150 мм. На фанерном щите была собрана вся пневмосистема, включая подготовку воздуха. Работой пневмоцилиндров заправляют бистабильные пневмораспределители, управляемые соленоидами с питанием 24 вольта. Здесь нам очень помог драйвер, собранный на сборке транзисторов Дарлингтона ULN2003A. Об этой микросхеме рассказывать не имеет смысла, поскольку она является самым популярным драйвером нагрузок до 500 миллиампер на канал, управляемым напряжениями 3,3 и 5 вольт. Драйвером у нас управляет Arduino Uno при помощи очень простого кода. Поскольку пневмо-распределители у нас бистабильные, то управление сводится к открытию/закрытию клапана в нужный нам момент.

Вот и обещанные фотографии, которых к сожалению, пока достаточно маловато.

Щит автоматики во время сборки:

image

Один из блоков электроники с контроллерами:

image

Часть плат модулей перед установкой их в щит автоматики и в блоки:

image

image

image

Вот пока что и всё. На самом деле, этой статьей очень хотелось бы открыть целый цикл публикаций, посвященных «DIY-технологиям», в которых очень хотелось бы детально рассказать о разных «интересных вещах» и поделится опытом, поскольку шишек в этом деле набито предостаточно. Рассчитываю на интересные и занимательные комментарии и благодарю всех за потраченное время.
Поделиться с друзьями
-->

Комментарии (14)


  1. geisha
    03.08.2016 16:17
    +3

    Помнится, кто-то называл такой способ укладки кабелей «джигурдой».


    1. vvzvlad
      04.08.2016 04:07
      +1

      «Кабельный ктулху»


  1. Ocelot
    03.08.2016 16:43
    +3

    Как на ваш взгляд, такая архитектура себя оправдала? Были ли найдены слабые места? Что бы вы в следующий раз сделали по-другому?

    P.S.: Изолента на шнуре паяльника напротив жала намекает, что не стоит его вешать подобным образом =)


    1. Bratak
      04.08.2016 10:32
      +1

      На данном этапе конечно она себя оправдала, в большей степени я думаю, поскольку все отталкивалось от предыдущих решений, где также контроллер управляет всем-принимает сигналы от датчиков, управляет нагрузками и шлет команды на медиа-плеер, который работает на ПК.
      P.S.: Изолента скрывает диод с микро-переключателем, которые последовательно в цепи питания паяльника позволяют работать ему на 50 % мощности, а когда необходимо включать на всю катушку, когда надо быстро разогреть жало или паять большие площади. Жало не обгорает, и у меня паяльник включенный когда я работаю постоянно, уже второй год этому жалу-а пайка сама -любо дорого смотреть)


  1. TomashUA
    03.08.2016 17:23
    +1

    Да, работа проделана большая! Молодец!
    Но глаз зацепился за «щит автоматики». Не могу разобрать конструкцию. То, то слева — это дверь или всё просто, как на стенде висит?
    И самое главное — почему он из ДЕРЕВА? Я понимаю полукустарная разработка, но вам самим не страшно вешать паяльник (хоть и на время работы), прикручивать твердотельное реле и прочее прямо к дереву?
    Я уже не говорю о проверки пожарниками всего этого добра.
    Не боитесь, что все вспыхнет синим пламенем?
    Есть же металлические щиты любого размера. Да, стоят деньги. Но если сравнить цену на щит и стоимость всего-всего в помещении/здании, то думаю у заказчика найдутся деньги и на щит, и на огнетушитель возле него.


    1. Bratak
      04.08.2016 10:48
      +1

      В том то и дело, что определяющим фактором здесь является бюджет- сам щит такого размера стоит порядка 40К. А тут на всю электронику, электрику и автоматику ушло с пневматикой около 150 000, если не ошибусь. Ну а так, к слову: вся слаботочка находится в коробках, установленный на пластиковой поверхности — фомикс (ПВХ).Не делают же все корпуса электроники из металла)) Разводка слаботочной части электроники выполнена кабелем МГТФ — «провод МГТФ применяется для внутриприборного монтажа электрической аппаратуры при номинальном напряжении до 250 В. Диапазон температур эксплуатации: от ?60 до +220 ?С.»))) А силовая часть вся подключена через автоматы+свои группы, на каждую 220в нагрузку согласно мощности свой автомат, а потом группы висят на своих автоматах. Согласно паспортов, у всех блоков питания есть защита от КЗ и перегрева. Твердотельные реле не нагреваются в принципе, поскольку там используется 5 % от номинального тока (25А), ну и конечно, каждая релюшка на своем автомате. Самое главное, что это не предназначено для автономной работы, там работает постоянный персонал: 2 человека, они должны контролировать работу системы, включать ее и выключать. Хотя на самом деле, хотелось бы все сделать по «фэн-шую», используя промышленные решения)))


  1. kneeze
    03.08.2016 18:01

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


    1. Bratak
      04.08.2016 10:51

      Если есть возможность и умение написать плагин — зачем писать плагин, когда можно написать полноценную специализированную программу)


  1. remzalp
    03.08.2016 18:35
    +2

    Вот смотрю я на эти бороды проводов и в голове мысль «а не пробовали RS-485?»

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

    Микросхема MAX485 для согласования с интерфейсом стоит 50 рублей в довольно жадном магазине, так что значительного удорожания не будет.

    Со стороны компьютера всё довольно просто получается — есть USB/RS485 конвертор, есть программа, которая читает/пишет в порт

    Не критики ради, просто интересно, почему не пошли по такому пути — простой интерфейс, простые исполнительные устройства, развешанные по всей комнате, единая точка управления, где конфигурится почти всё.


    1. Bratak
      04.08.2016 10:56
      +1

      Тут были специфичные причины))) Ну на самом деле, это не совсем все так просто: почти все контроллеры общаются по I2C, эта шина есть на всех Arduino\ах. А для 485 интерфейса нужны преобразователи, лишний обвес. Единая точка управления здесь-это контроллер, по другому никак не сделаешь.


  1. vvzvlad
    04.08.2016 04:07

    Выглядит устрашающе.


  1. safari2012
    04.08.2016 18:09
    +1

    Перечень датчиков и исполнительных устройств впечатляет для DIY. Жаль, что нельзя познакомиться с «экстерьером» решения.
    У меня вопрос — насколько система позволяет кастомизировать хотелки режиссера-постановщика квеста? Много ли придется перепаивать или понадобится только перепрограммировать логику на ардуинах?
    Ещё вопрос — если вы пошли по пути хардкорного DIY-шника и в т.ч силовую часть предпочли паять на своих платах (вместо готовых модулей), почему AVR-ки с обвязкой там же рядом не разместили?


    1. Bratak
      05.08.2016 02:59
      +1

      Конфигурация аппаратной и программной части осуществляется достаточно легко: достаточно придумать какая нагрузка или источник сигнала должен быть установлен, подключить все в самом помещении, и путем несложных перекоммутаций в щите автоматики сконфигурировать что надо, открыть исходник кода для контроллера и поправить где надо + залить и работать. Перепаивать почти ничего не надо. А вот насчет монтажа авр контроллеров прямо на входных/выходных модулях — удобство ардуин и заключается в наличии всей необходимой обвязки уже на плате, плюсом удобные для коммутации панели, у многих могут возникнуть сомнения в надежности коммутации — все очень даже неплохо. Дело в том что мои модули универсальные-как входные, так и выходные. Входные допускают подключение в качестве источника питания любого источника постоянного напряжения 2-15 вольт(герконовый датчик, датчик движения, практический любой сенсор, который может размыкать/замыкать цепь). А также все входы контроллера гальванически отвязаны от источников сигналов. Выходные модули двух типов: драйвер с гальванической развязкой на uln2003, с возможностью монтажа токоограничивающего резистора(для питания led), также подразумевается подключение любой нагрузки с током не более 0,5 А на канал; драйвер на мосфете с гальванической развязкой + защитный диод, подключенный катодом на плюс выхода канала модуля, для подавления эдс самоиндукции электромагнитных замков и прочих индуктивных нагрузок.


  1. QtRoS
    07.08.2016 14:00

    Присоединюсь к комментирующим: впечатляет!
    Вопрос такой — в случае поломки трудно искать проблему?
    Часто ли посетители что-то ломают? Я люблю этот вид развлечений, могу честно сказать, что не раз что-то ломал (в основном не технику, конечно), ибо торопишься — все валится из рук :)