Оглавление:

Коробка "Карантинный побег (скука)": 7 шагов (с изображениями)
Коробка "Карантинный побег (скука)": 7 шагов (с изображениями)

Видео: Коробка "Карантинный побег (скука)": 7 шагов (с изображениями)

Видео: Коробка
Видео: КОШЕЧКА УПРАВЛЯЕТ НАШЕЙ ЖИЗНЬЮ 24 ЧАСА! ПРОДОЛЖЕНИЕ 100 КНОПОК ЧЕЛЛЕНДЖ! ВЫПОЛНЯЕМ ЗАДАНИЯ 2024, Июль
Anonim
Коробка "Карантинный побег (скука)"
Коробка "Карантинный побег (скука)"
Коробка "Карантинный побег (скука)"
Коробка "Карантинный побег (скука)"

Этот проект был моим личным карантинным проектом Arduino. Я постоянно работал над этим в течение первых нескольких недель карантина, но затем я столкнулся с некоторыми проблемами, связанными с серводвигателями, которые я не мог легко решить, поэтому я отложил это на несколько недель. Но теперь, когда наше государство снова начало открываться, я решил: больше не откладывать; пора мне закончить!

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

Итак, примерно за неделю до того, как Южная Каролина была заблокирована. Я пробирался по проходам в местном магазине Goodwill и наткнулся на деревянный ящик с полками, дверью и несколькими крючками. Мне не сразу было понятно, для чего предназначена эта коробка, но я подумал, что с Arduino в ней она может стать хорошей опорой в самодельной квестовой комнате, которую я планировал для некоторых друзей в ближайшем будущем. Однако после того, как я принес его домой, я наконец узнал в нем то, что это было: негабаритную станцию для зарядки / почты / ключей. Через неделю после того похода по магазинам нам сказали «оставаться дома», и я еще раз взглянул на коробку. Я подумал, что, возможно, это может стать чем-то большим, чем я думал изначально. Я подумал, что со всеми сторонами и отдельными отсеками, может быть, его можно превратить в многоступенчатую коробку-головоломку, которой можно было бы поделиться с друзьями или детьми во время карантина вместо настоящей комнаты для побега для тесного контакта. Поскольку сама коробка в основном представляет собой древесно-стружечную плиту с красивой отделкой, я хотел разработать что-то, что требовало бы минимальных изменений коробки, чтобы она не нуждалась в подкраске или покраске, чтобы закрыть отверстия или царапины. Поэтому мне нужны были головоломки для работы с существующей архитектурой сторон коробки. Я также хотел придумать достаточно головоломок, чтобы почувствовать, что каждая сторона коробки задействована хотя бы в одной головоломке. Так что я смотрел на это пару дней и размышлял … В каждом разделе ниже я поделюсь своими первоначальными мыслями, планами и окончательными решениями для различных сторон коробки. Последний раздел суммирует последовательность воспроизведения от начала до конца и предоставит мой код Arduino. В конечном итоге я смог втиснуть 8 различных головоломок на коробку, что, как мне показалось, было приличным числом для небольшой коробки.

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

Запасы

Различные компоненты Arduino, включая:

Плата ELEGOO MEGA 2560 R3 (сторонняя версия Arduino Mega)

Защелка солоноида на 6 В

2 или 3 датчика Холла без фиксации

3 10-миллиметровые УФ светодиодные лампы

2 красных лазера

Светодиодные гирлянды VISDOLL WS2801 Pixel (с индивидуальной адресацией)

3 кнопочных переключателя (водонепроницаемые безблокирующие переключатели 12/17 мм)

HiLetgo mp3-плеер Mini (DFPlayer)

Недорогой динамик

6 фоторезисторов / светозависимых резисторов 5 мм

Толако 5-вольтный релейный модуль

Цифровой датчик веса тензодатчика AuBreey 5 кг

Зарядное устройство Anker PowerCore (для питания фонарей и Arduino)

Батарея 9 В (для питания солоноида)

Провод (по необходимости)

Адаптеры (при необходимости)

Провода перемычки (при необходимости)

Платы печатных плат (при необходимости)

Различные резисторы (по мере необходимости)

Прочие принадлежности:

Малые кодовые замки

Маленькие сумки на молнии (которые можно запереть с помощью замков выше)

Пластиковая пленка разного цвета или плотности

Маленькие стоматологические, телескопические и поворотные зеркала

Шайбы и гайки

УФ-ручка (невидимые чернила)

Маленький жетон или символ, используемый для удерживания магнита (я использовала пустой контейнер для бальзама для губ в форме лисы)

Шпагат

Редкоземельные магниты

Бумага

Лом ткани

Обрезки древесины

Шаг 1: сторона коробки с крючками

Сторона коробки с крючками
Сторона коробки с крючками
Сторона коробки с крючками
Сторона коробки с крючками
Сторона коробки с крючками
Сторона коробки с крючками

В моем ящике был борт с двумя крючками. Я мог бы удалить их полностью, но, как уже упоминалось, сама коробка была из ДСП, и я старался сохранить ее как можно без шрамов. Итак, для чего можно было использовать крючки сбоку? Очевидным ответом было повесить что-нибудь на них. Но как можно превратить что-то, что висит на них, в головоломку? Я решил, что это может быть какая-то загадка с весом. Первоначально я планировал прикрепить каждый крючок к индивидуальным весам, но после исследования датчиков веса и деформации я понял, что у меня, вероятно, не было места для двух датчиков в коробке, и просто использование одного значительно упростило бы программирование и электрическую работу. Поэтому, хотя я знал, что на самом деле сработает только одна из ловушек, я не хотел, чтобы игрок сам это понимал. Я планировал сделать несколько вещей разного веса. Игроку придется использовать некоторую логику или догадки, чтобы выяснить, как равномерно разделить эти предметы между двумя крючками. Было бы неплохо иметь симпатичных, но увесистых металлических персонажей или предметов на ожерельях, но я пошел дешевым путем и остановился на различных шайбах и гайках на шпагате. Каждая петля для шпагата имеет маркировку веса в граммах. Игрок должен разделить оборудование на два равных набора и повесить каждый набор на отдельный крючок, чтобы решить головоломку. Датчик веса, который я использовал, представляет собой датчик веса 5 кг HX711. Его весовой диапазон, вероятно, действительно слишком велик для работы, но он работает достаточно хорошо после калибровки. Мне потребовалось немало времени, чтобы понять, как поместить датчик веса в коробку, чтобы один крюк мог тянуть за датчик и регистрировать вес. Наконец я придумал конфигурацию, изображенную на фото. Статическая сторона датчика соединена с блоком, который ввинчивается внутрь коробки. На другой стороне датчика есть меньший блок, прикрепленный к его верхней части, в который ввинчивается крючок с внешней стороны коробки (полностью через сторону коробки). Для этого потребовалось использовать более длинный винт и сделать отверстие, в которое крюк был изначально плотно ввинчен снаружи, намного больше, чтобы винт крюка немного прогибался, чтобы датчик веса мог определять его натяжение.

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

Шаг 2: сторона коробки с высоким почтовым карманом

Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом
Сторона ящика с высоким почтовым карманом

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

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

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

Шаг 3: передняя сторона коробки с полками

Передняя сторона коробки с полками
Передняя сторона коробки с полками
Передняя сторона коробки с полками
Передняя сторона коробки с полками
Передняя сторона коробки с полками
Передняя сторона коробки с полками

На передней части ящика были две наклонные полки. Я знал, что хочу использовать две полки для разных головоломок.

Я решил, что в одной головоломке будет использоваться черный свет для освещения невидимого, УФ-чернил, а в другой головоломке будет использоваться несколько датчиков света (фоторезисторов) в ряд. После экспериментов с одной ультрафиолетовой лампочкой, выходящей из конца невидимой ручки, я обнаружил, что ее световой луч неудовлетворителен. Вместо этого я заказал лампы большего размера (10 мм) и использовал три из них, чтобы осветить верхнюю полку, на которой я нарисовал традиционную головоломку танграм УФ-чернилами. Я подключил каждую лампу индивидуально к выходному контакту Arduino с резистором 100 кОм (для последовательного подключения потребовалось бы больше, чем 5 вольт, которые я подавал на свой Arduino). Игроку неизвестно, что датчик Холла (который определяет наличие сильного магнита) подключен к резистору и приклеен горячим клеем к определенному месту за задней панелью. Когда горят черные огни, игрок должен использовать деревянные части танграма, которые ему предоставили, чтобы завершить дизайн танграма. Квадратный кусок танграма имеет встроенный редкоземельный магнит, и когда он помещен в нужное место (вверху), головоломка завершена. В конечном итоге я остался доволен тем, как получилась эта головоломка. Для нижней полки у меня была идея создать головоломку, которая потребовала бы от игрока прочитать несколько подсказок и, исходя из них, разместить четыре символа в правильном порядке слева направо. Я думал, что смогу создать персонажей (вырезанных с помощью моей Silhouette Cameo), в которых будут прозрачные окна из пленки разных оттенков.

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

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

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

Мои подсказки для заказа со ссылками на Covid-19 для забавы изображены. Еще одна вещь, которую я изначально хотел сделать с этой коробкой, - это иметь несколько скрытых отсеков над полками, которые автоматически открывались бы, когда игрок решал головоломку, чтобы предоставить ему припасы для следующей головоломки. Для этого над каждой полкой отведено достаточно места. Поэтому я установил панели с двумя петлями и поэкспериментировал, пытаясь использовать небольшие серводвигатели, чтобы открывать панели, но я не инженер-механик, и мне просто не удавалось заставить его работать хорошо. Я в отчаянии отложил проект на несколько недель.

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

Шаг 4: верх коробки

Верх коробки
Верх коробки
Верх коробки
Верх коробки
Верх коробки
Верх коробки

В верхней части коробки есть открывающаяся крышка. Изначально я планировал заблокировать крышку и сделать так, чтобы она открывалась и открывалась только тогда, когда какая-нибудь головоломка была успешно завершена. Но после того, как идея автоматического открывания секретных отсеков оказалась для меня слишком сложной для реализации в разумные сроки, я понял, что мне нужно более простое решение. Я решил оставить верхнюю часть открытой и просто использовать ее для хранения «припасов», которыми игрок будет награжден при выполнении каждой головоломки. Но как я мог ограничить игроков только теми припасами, которые они должны были получить после завершения каждой головоломки? Мой простой ответ - иметь небольшие сумки с замками. Каждый раз, когда игрок решает головоломку с наградой, объявляется комбинация соответствующего замка, и игрок может проверить замки, чтобы выяснить, какую сумку он может открыть.

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

Шаг 5: задняя дверь коробки

Задняя дверь коробки
Задняя дверь коробки
Задняя дверь коробки
Задняя дверь коробки
Задняя дверь коробки
Задняя дверь коробки
Задняя дверь коробки
Задняя дверь коробки

Я всегда думал, что задняя дверь коробки будет содержать «приз» за решение всех загадок коробки. Однако, как выяснилось, там ТАКОЕ много проводов, зарядных устройств и других электрических компонентов, что для чего-то еще не осталось места. Что касается загадки на этой стороне, сначала я подумал, что хотел бы иметь фанерную сетку, которая подходила бы к задней части двери, через которую жетон с магнитом в его основании будет проходить через лабиринт, но у меня не было возможности вырезать деревянную сетку, и я решил, что лабиринт на листе бумаги или ткани может работать так же хорошо, даже если он не так круто выглядит. В конце концов я даже не сделал настоящий лабиринт. Я просто сделал простой путь, используя винил на льняной ткани. Ткань прикрепляется к двери с помощью магнитов (утопленных в задней части двери). Игрок перемещает свой жетон (содержащий магнит в основании) от «начала» до «конца» и в процессе запускает датчик холла, чтобы успешно завершить головоломку и разблокировать соленоидный замок на двери. (Чтобы было немного сложнее «обмануть» [или пройти прямо до конца], я собирался добавить второй датчик холла где-нибудь на маршруте, но, поскольку путь в любом случае такой простой, это казалось излишним.) Мой «жетон» - это просто старый контейнер для бальзама для губ, в основании которого помещается редкоземельный магнит.

Соленоид питается от батареи на 9 вольт и подключен к Arduino через реле на 5 вольт.

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

Шаг 6: индикаторы, кнопки и звуки

Свет, кнопки и звуки
Свет, кнопки и звуки
Свет, кнопки и звуки
Свет, кнопки и звуки
Индикаторы, кнопки и звуки
Индикаторы, кнопки и звуки
Индикаторы, кнопки и звуки
Индикаторы, кнопки и звуки

Я знал, что хочу, чтобы в коробке с головоломкой были свет и звуки. Я также подумал, что если бы у меня были кнопки, у меня было бы гораздо больше возможностей решать головоломки, которые я мог бы создавать. Я решил добавить кнопки и подсветку в верхней части коробки, чтобы она оставалась как можно более аккуратной. Просверлил по 4 дырочки с каждой стороны. Используемые источники света представляют собой 9 разноцветных светодиодов с индивидуальной адресацией на одной цепочке. Они требуют дополнительного заряда батареи вне Arduino, но их легко запрограммировать. Это был мой первый эксперимент с кнопками Arduino. Для кнопок также потребовались резисторы, на которые на них были наложены провода. Есть много документации по кнопкам. Звук обеспечивал mp3-плеер DFPlayer, подключенный к дешевому одиночному динамику, который я вынул из дешевого динамика с док-станцией. У меня были некоторые проблемы со ссылками на файлы по именам или даже номерам (см. Код), но в конечном итоге было несложно понять, как заставить его работать. С тремя лампочками и по одной кнопке на каждой из трех сторон (слева, справа и спереди) я пытался придумать идеи для головоломок. В конце концов я выбрал цветную головоломку, загадку с мигающим светом и загадку с рассказом на слух. Для цветовой головоломки два внешних источника света с каждой стороны настроены на основные цвета. Внутренний свет изначально выключен. Игрок нажимает кнопку, чтобы включить и изменить цвет света на правильный вторичный цвет. Например, если два внешних цвета - красный и синий, внутренний свет должен быть установлен на фиолетовый. Для головоломки с миганием у меня есть два внешних огонька на каждой стороне коробки, мигающие количество раз, соответствующее их положению. Слева направо: 1, 3, 4, 6, 7, 9. Средний фонарь с каждой стороны должен быть синхронизирован с его положением, нажав его кнопку такое количество раз. В конечном итоге загадка решается за счет того, что индикатор в позиции 1 мигает один раз, индикатор в позиции 2 мигает дважды, а индикатор в позиции 9 мигает 9 раз. Для загадки прослушивания зачитывается записанный рассказ. История содержит слова ВЛЕВО и ВПРАВО несколько раз. Левая и правая кнопки должны быть нажаты в том же порядке, что и история, чтобы завершить головоломку. Кроме того, свет и звук используются для обозначения того, что игрок успешно завершил определенные головоломки, чтобы дать игроку комбинации для сумок с припасами и сообщить ему, что он решил всю коробку.

Шаг 7: последовательность воспроизведения и код

Последовательность воспроизведения и код
Последовательность воспроизведения и код
Последовательность воспроизведения и код
Последовательность воспроизведения и код

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

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

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

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

Когда игрок нажимает эту переднюю кнопку, загадка начинает историю ВЛЕВО-ВПРАВО. Он может снова воспроизвести историю, снова нажав переднюю кнопку. В конце концов он понимает, что ему нужно нажимать левую или правую кнопку каждый раз, когда в истории говорится об одном из направлений.

Когда он правильно выполнил последовательность кнопок ВЛЕВО-ВПРАВО, объявляется другое сообщение с комбинацией другой сумки с припасами. На этот раз мешок содержит утяжеленные петли шпагата. Цифры на петлях подсказывают игроку, что ему нужно разделить их на равные стопки. Когда один и тот же вес помещается на каждый крючок (на самом деле измеряется только правый крючок), объявляется другая комбинация.

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

Последний пакет содержит льняную ткань с линией начала-> конца, 5 крошечных магнитов и жетон с магнитом, спрятанным в основании. Игрок перемещает жетон от начала до конца, и, наконец, открывается задняя дверь, и световые и звуковые сигналы сообщают, что игрок - Большой Победитель.

При таком большом количестве входных датчиков и выходов мне требовалось больше контактов, чем могли предоставить Arduino Uno или Nano. Ultimate Я использовал Mega другого производителя. Я использовал комбинацию: 1) пайки непосредственно к датчикам и положительным и отрицательным проводам и 2) контактов перемычки, вставленных непосредственно в Mega. Мне не особенно понравилось, как перемычки ощущаются в Mega (как бы болтаются), поэтому я использовал немного горячего клея, чтобы придать им немного большей поддержки. А пока это работает, и я с нетерпением жду, когда в нее сыграет еще больше людей!

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

Если вам нравится идея использовать Arduino для создания головоломок типа Escape Room, я рекомендую подписаться на Playful Technology на YouTube. Ведущий, Аластер, мой герой Arduino!

Если вы нашли это вообще интересным или полезным, проголосуйте за меня в конкурсе Finish it Already. Спасибо за прочтение!

Рекомендуемые: