Съдържание:

Кутия за бягство от карантина (скуката): 7 стъпки (със снимки)
Кутия за бягство от карантина (скуката): 7 стъпки (със снимки)

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

Видео: Кутия за бягство от карантина (скуката): 7 стъпки (със снимки)
Видео: SHMEKERA - 03 (prod. by Laykx) - [OFFICIAL VIDEO] 2024, Ноември
Anonim
Кутия за бягство от карантина (скуката)
Кутия за бягство от карантина (скуката)
Кутия за бягство от карантина (скуката)
Кутия за бягство от карантина (скуката)

Този проект беше моят личен проект за карантина Arduino. Работих по него постоянно през първите няколко седмици на карантина, но след това срещнах някои проблеми с помощта на серво мотори, които не можах лесно да реша, затова го оставих настрана за няколко седмици. Но сега, когато държавата ни започва да се отваря отново, реших: Няма повече отлагане; време е да свърша това!

Аз съм компютърен програмист и консултант по бази данни през деня, но съм очарован от стаите за бягство и пъзелите. Въпреки че нямам интерес да изграждам проекти на Arduino, които отговарят на нуждите, които вече са били адресирани с търговска цел (Защо бих построил нощна светлина със сензор за светлина, когато мога да купя такава за няколко долара в магазина?), Когато реших да построя своя собствена домашно избягала стая за приятели в края на миналата година, научаването да използвам Arduino в персонализирани пъзели за бягство изведнъж се превърна в нещо, което ме интересуваше. Това каза, че изобщо не съм електроинженер и се научих да запоявам и използвам правилно електрическите компоненти често е било предизвикателство! Слава богу за изобилието от примери и документация на Arduino в интернет!

Така около седмица преди Южна Каролина да бъде заключена. Разхождах се по пътеките в местния магазин за добра воля и попаднах на дървена кутия с рафтове, врата и няколко куки. Не ми стана ясно веднага за какво е предназначена кутията, но си помислих, че с Arduino в нея може да стане добър реквизит в домашната стая за бягство, която планирах за някои приятели в близко бъдеще. След като го взех у дома, най-накрая го разпознах какво представлява: прекалено голяма станция за зареждане / поща / ключова станция. В рамките на една седмица от това пазаруване ни казаха да „стоим вкъщи“, а аз погледнах още веднъж кутията. Мислех, че може би ще може да стане повече, отколкото първоначално си мислех. Мислех, че с всички страни и отделни отделения, може би може да се превърне в многоетапна пъзел кутия, която да бъде споделена с приятели или деца по време на карантина вместо действителна стая за бягство с близък контакт. Тъй като самата кутия е основно ПДЧ с красив завършек, исках да проектирам нещо, което изисква минимални промени в кутията, така че да не се нуждае от докосвания или боя за покриване на дупки или драскотини. Затова имах нужда от моите пъзели, за да работя със съществуващата архитектура на страните на кутията. Исках също да проектирам достатъчно пъзели, за да имам чувството, че всяка страна на кутията е замесена в поне един пъзел. Така че го разглеждах няколко дни и обмислях … Във всеки раздел по -долу ще споделя първоначалните си мисли, планове и най -добрите решения за различните страни на кутията. Последният раздел ще обобщи последователността от началото до края на играта и ще предостави моя код на Arduino. В крайна сметка успях да вмъкна 8 различни пъзела върху кутията, което според мен беше прилично число за малка кутия.

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

Консумативи

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

ELEGOO MEGA 2560 R3 Board (от марката Arduino Mega)

6 Волта солоноидна брава

2 или 3 незалепващи сензора на Хола

3 10 мм UV LED крушки

2 червени лазера

VISDOLL WS2801 Пикселни LED низови светлини (индивидуално адресируеми)

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

HiLetgo mp3 Player Mini (DFPlayer)

Евтин говорител

6 фоторезистора / зависими от светлината резистори 5 мм

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

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

Зарядно устройство Anker PowerCore (за захранване на светлини и arduino)

9 -волтова батерия (за захранване на солоноид)

Тел (според нуждите)

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

Джъмперни проводници (ако е необходимо)

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

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

Други консумативи:

Малки комбинирани брави

Малки чанти с цип (които могат да се заключват с ключалки отгоре)

Пластмасово фолио с различни цветове или тъмнини

Малки зъболекарски телескопични и въртящи се огледала

Шайби и гайки

UV (Невидимо мастило) химикалка

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

Канап

Редки земни магнити

Хартия

Скрап от плат

Отпадъци от дърво

Стъпка 1: Страните на куките от кутията

Страната на куките от куките
Страната на куките от куките
Страната на куките от куките
Страната на куките от куките
Страната на куките от куките
Страната на куките от куките

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

Отвън куката изглежда нормално, но се движи достатъчно, за да окаже известен натиск върху вътрешния сензор за тегло и да даде точни показания (при калибриране).

Стъпка 2: Високата пощенска джобна страна на кутията

Страната на кутията с висок пощенски джоб
Страната на кутията с висок пощенски джоб
Високата пощенска джобна страна на кутията
Високата пощенска джобна страна на кутията
Страната на кутията с висок пощенски джоб
Страната на кутията с висок пощенски джоб
Страната на кутията с висок пощенски джоб
Страната на кутията с висок пощенски джоб

За страната на кутията, съдържаща висок пощенски джоб, преминах през няколко идеи. Най -накрая реших, че искам да използвам лазери някъде на кутията и тук най -накрая бяха поставени. Тъй като високото отделение е вмъкнато, успях да добавя два лазера отгоре и два фоторезистора от лявата страна. Играчът трябва да определи, че трябва да намери начин (с огледала) да насочи лазер към всеки сензор едновременно. Освен просто да дам на играчите две ръчни огледала, исках играчите да могат да намерят начин да позиционират огледала поотделно, което не изисква използването на двете ръце за задържане на огледалата. Замислих се какво може да работи, за да направя това дълго време. Най -накрая осъзнах, че въртящите се огледала за зъболекари могат да направят това, което искам. Мислех, че ако валовете им могат да се задържат неподвижно, техните телескопични и завъртащи функции могат да се използват за насочване на лазерните лъчи към сензора независимо.

Пробих парче дърво с помощта на свредло едва над диаметъра на огледалния вал в парче дърво, което сложих в дъното на страничния джоб. Така огледалата се поддържат изправени, докато играчът регулира главите си, за да насочи лазерите.

Малките телескопични огледала също имат предимството, че са достатъчно къси, за да се поберат хоризонтално под горната част на джоба, така че не става ясно веднага, че има странични огледала.

Стъпка 3: Предната страна на рафта на кутията

Предната страна на рафта на кутията
Предната страна на рафта на кутията
Предната страна на рафта на кутията
Предната страна на рафта на кутията
Предната страна на рафта на кутията
Предната страна на рафта на кутията

Предната част на кутията имаше два наклонени рафта. Знаех, че искам да използвам двата рафта за различни пъзели.

Реших, че единият пъзел ще използва черна светлина за осветяване на невидимо, UV мастило, а другият пъзел ще използва няколко светлинни сензора (фоторезистори) подред. След като експериментирах с една UV крушка, която идваше от края на невидима писалка с мастило, открих, че светлинният й лъч е незадоволителен. Вместо това поръчах по -големи крушки (10 мм) и използвах три от тях, за да осветя горния рафт, на който бях нарисувал традиционен дизайн на пъзел от танграм с UV мастило. Свързах всяка светлина поотделно към изходен щифт на Arduino със 100K резистор (свързан последователно щеше да изисква повече от 5 волта, с които захранвах моя Arduino). Неизвестен за плейъра, сензор за зала (който усеща наличието на силен магнит) е свързан към резистор и горещо залепен към определено място зад задния панел. Когато черните светлини светят, играчът трябва да използва дървени парчета танграм, с които е снабден, за да завърши дизайна на танграма. Квадратното парче танграм има вграден редкоземен магнит в него и когато се постави на дясното място (отгоре), пъзелът е завършен. В крайна сметка останах доволен от това как се получи този пъзел. За долния рафт имах идеята да създам пъзел, който да изисква играч да прочете някои улики и от тях да постави четири знака в правилния ред отляво надясно. Мислех, че мога да създам персонажи (изрязани с моя Silhouette Cameo), които имат прозрачни филмови прозорци в тях с различни нюанси.

Не знаех твърде много за фоторезисторите и си мислех, че ако героите бъдат подредени в правилния ред, техните филми надеждно ще повлияят на показанията на светлината на всеки от сензорите за светлина. Открих няколко различни цветни пластмасови филма и ги тествах, за да определя кои четири цвята на филма са най -различни един от друг. Но тази идея работи по -добре на теория, отколкото на практика.

Светлинните сензори в крайна сметка не са толкова надеждни и открих, че и най -малката разлика в инсталираните ъгли също влияе значително върху четенето, което всеки сензор дава, дори ако светлината, която свети върху тях, беше абсолютно еднаква. Като се има предвид това, бях решен да свърша тази работа и намерих начин да поръчам героите и техните филми през сензорите, които 1) никога няма да позволят пъзелът да бъде решен случайно и 2) може надеждно да бъде решен в стая с достатъчно светлина всеки път. Тези светлинни сензори са свързани по същия начин като сензорите, използвани с лазерите от високата пощенска страна (с резистор, разделящ неположителния крак към отрицателен и входен щифт). Има много документация за това как да свържете тези неща там.

Тъй като не знаех колко светлина ще има наоколо, когато играчите опитат този пъзел, вместо да проверя за конкретни стойности или разлики между измерванията, просто проверявам, за да се уверя, че най -лекият ми филм има по -високо четене от следващия най -лек филм и това филмът имаше по -високо четене от следващия и т.н.

Моите улики за поръчки, с препратки към Covid-19 за забавление, са представени на снимката. Друго нещо, което първоначално очаквах с нетърпение да направя с тази кутия, беше да имам някои скрити отделения над рафтовете, които автоматично да се отварят, когато играч разреши пъзел, за да му осигури запаси за следващия пъзел. За това има значително пространство над всеки рафт. Затова инсталирах две пантови панели и експериментирах, опитвайки се да използвам малки серво мотори за отваряне на панелите, но аз не съм машинен инженер и просто не успях да го накарам да работи добре. Оставих проекта настрана за няколко седмици разочарован.

След няколко седмици реших, че ще поръчам да приключа този проект, най -добре беше да отхвърля идеята за преместване на врати. За да реша проблема с доставката на плейъра, аз измислих много просто решение, описано в стъпката The Top of the Box.

Стъпка 4: Горната част на кутията

Горната част на кутията
Горната част на кутията
Горната част на кутията
Горната част на кутията
Горната част на кутията
Горната част на кутията

В горната част на кутията има капак, който се отваря. Първоначално планирах да заключвам капака и да го карам да се отключва и отваря само когато успешно завърши някакъв пъзел. Но след като идеята ми за автоматично отваряне на тайни отделения се оказа твърде трудна за изпълнение за разумен период от време и осъзнах, че се нуждая от по-просто решение. Реших да запазя горната част отключена и просто да я използвам за съхраняване на „консумативите“, с които играчът ще бъде награден при попълването на всеки пъзел. Но как бих могъл да огранича играчите само до материалите, които трябваше да получат, когато завършат всеки пъзел? Моят прост отговор беше да имам малки торбички с катинари. Всеки път, когато играч решава пъзел, който има награда, се обявява комбинацията от съответната ключалка и играчът може да тества ключалките, за да разбере коя чанта може да отвори.

Това беше лесно решение и значително опрости механиката на кутията, без да компрометира забавлението при решаване на пъзели. И това ми даде възможност най -накрая да завърша кутията! Ultimate горната част на кутията също съхрани доста количество електрически компоненти от светлините, бутоните и лазерите.

Стъпка 5: Страната на задната врата на кутията

Страницата на кутията на задната врата
Страницата на кутията на задната врата
Страницата на кутията на задната врата
Страницата на кутията на задната врата
Страницата на кутията на задната врата
Страницата на кутията на задната врата
Страницата на кутията на задната врата
Страницата на кутията на задната врата

Винаги съм мислил, че задната врата на кутията ще държи „наградата“за решаване на всички пъзели на кутията. Както се оказа, обаче има толкова много проводници и зарядни устройства и други електрически компоненти, че няма много място за много други неща. За пъзела от тази страна първоначално си мислех, че бих искал да имам решетка от шперплат, която да се побере над задната част на вратата, през която жетон с магнит в основата си да се движи около лабиринт, но нямах начин нарязване на дървена решетка и реших, че лабиринтът върху лист хартия или плат може да работи също толкова добре, дори и да не изглежда толкова готино. В крайна сметка дори не направих истински лабиринт. Току-що направих прост път, използвайки винил с желязо върху парче ленен плат. Тъканта се прикрепя към вратата с магнити (вдлъбнати в задната част на вратата). Играчът премества своя жетон (съдържащ магнит в основата) от "старт" до "край" и в процеса задейства сензор за зала, за да завърши успешно пъзела и да отключи ключалката на соленоида на вратата. (За да направя малко по -трудно „измамата“в [или да отида директно в края], щях да добавя втори сензор за зала някъде по маршрута, но тъй като пътят така или иначе е толкова прост, изглеждаше като прекалено.) Моят "жетон" е просто стар контейнер за балсам за устни, който побира редкоземен магнит в основата му.

Соленоидът се захранва от 9 -волтова батерия и е свързан към Arduino чрез 5 -волтово реле.

Въпреки че пъзелът е прост, надяваме се, че предизвикателството за някои играчи ще бъде, че не е ясно веднага какво трябва да се направи с тъканта, жетона и магнитите, когато бъдат намерени в чантата за доставки.

Стъпка 6: Светлини, бутони и звуци

Светлини, бутони и звуци
Светлини, бутони и звуци
Светлини, бутони и звуци
Светлини, бутони и звуци
Светлини, бутони и звуци
Светлини, бутони и звуци
Светлини, бутони и звуци
Светлини, бутони и звуци

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

Стъпка 7: Последователността и кодът за възпроизвеждане

Последователността и кодът за възпроизвеждане
Последователността и кодът за възпроизвеждане
Последователността и кодът за възпроизвеждане
Последователността и кодът за възпроизвеждане

Бокс играта е последователна. 8 -те пъзела трябва да бъдат решени по ред. И въпреки че има много възможности за поръчка на пъзели, с това завърших: Кутията с пъзели се стартира от играч (или ръководство на кутия, известен още като мен), натискащ едновременно левия и десния бутон. Цветните светлини на пъзела светят и играчът трябва да определи, че трябва да настрои централните светлини на всяка от трите страни с правилния вторичен цвят (оранжево, зелено, лилаво).

След като зададете правилно цветовете, лазерите над пощенския джоб се включват и играчът трябва да намери огледалата извън погледа и да ги използва, за да насочи лазерните лъчи към лазерните сензори.

След това започва пъзелът с мигащи светлини. Плейърът натиска бутона, така че средната светлина от всяка страна да премигва правилния брой пъти и при завършване, 1) се отчита номер за комбинацията от една от торбите за доставка и 2) UV светлините светват.

Първата торба съдържа дървените парчета танграм. Играчът вижда UV осветения контур на пъзела tangram и допълва формата с дървените парчета. Когато горната част е поставена, пъзелът е решен и се извежда съобщение, което основно казва на играча да натисне предния бутон, за да продължи.

Когато играчът натисне този преден бутон, пъзелът стартира историята НАЛЯВО-ДЯСНО. Той може да възпроизведе историята отново, като натисне отново предния бутон. В крайна сметка той осъзнава, че трябва да натиска левия или десния бутон всеки път, когато историята казва една от посоките.

Когато той завърши правилно последователността на бутоните НАЛЯВО-НАДЯСНО, се обявява друго съобщение с комбинацията от друга чанта за доставка. Този път чантата съдържа претеглените бримки от канап. Числата на контурите дават на играча намеци, че трябва да ги раздели на равни купчини. Когато една и съща тежест се постави върху всяка кука (всъщност това е правилната кука, която измерва), се обявява друга комбинация.

Този път чантата за доставки съдържа героите с цветен филм и уликите, за да инструктира играча как да поръча героите. Играчът ги поставя в правилния ред и накрая се прави съобщение за последната комбинация от чанта за доставка.

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

С толкова много входни сензори и изходи имах нужда от повече щифтове, отколкото Arduino Uno или Nano биха могли да осигурят. Ultimate използвах офлайн марка Mega. Използвах комбинация от 1) запояване директно към сензори и положителни и отрицателни проводници и 2) щифтове за джъмпери, натиснати директно в Mega. Не ми хареса особено как се чувстват джъмперните щифтове в Mega (някак хлабав), затова използвах малко горещо лепило, за да им дам малко повече опора. И засега работи и очаквам с нетърпение да играят повече хора!

Кажете ми, ако имате някакви конкретни въпроси относно консумативите или методите, които използвах, за да попълня тази кутия, и ще направя всичко възможно да отговоря.

Ако ви харесва идеята да използвате Arduino за създаване на пъзели тип Escape Room, препоръчвам да се абонирате за Playful Technology в YouTube. Домакинът, Аластър, е моят герой от Arduino!

Ако ви се стори това изобщо интересно или полезно, моля, гласувайте за мен в конкурса „Завърши го вече“. Благодаря за четенето!

Препоръчано: