Съдържание:
- Консумативи
- Стъпка 1: Сглобете кутията
- Стъпка 2: Свържете електрониката
- Стъпка 3: Програмиране на Arduino
- Стъпка 4: Игра на играта Crack the Code
Видео: Разбийте кодовата игра, базирана на Arduino пъзел кутия: 4 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Проекти на Tinkercad »
В този Instructable ще ви покажа как да създадете своя собствена игра с кодове, в която използвате ротационен кодиращ циферблат, за да познаете произволно генерирания код в сейфа. В предната част на сейфа има 8 светодиода, за да ви кажат колко от цифрите, които сте предположили, са правилни и колко са на правилното място.
Сейфът е първоначално отворен, което ви позволява да поставите нещо във вътрешното отделение. Arduino и батерията са поместени в отделно отделение отзад. След това натискате циферблата, за да заключите сейфа, което става с помощта на серво от вътрешната страна на вратата. След това трябва да въведете кода, като завъртите диска за избор на цифрите и натиснете диска за потвърждение на всяка цифра. След като бъде избрана четвъртата ви цифра, сейфът показва колко от вашите цифри са правилни и колко от тях са на правилното място, като използвате червените и зелените светодиоди на вратата.
Червен светодиод показва правилна цифра, а зелен индикатор показва, че той също е на правилното място. Така че трябва да запалите и четирите червени и зелени светодиода, за да разбиете кода и да отворите сейфа.
Сейфът следи колко предположения сте направили, за да разбиете кода и това се показва, след като сте успели да го разбиете. В началото може да звучи сложно, но всъщност не е толкова трудно, просто трябва да запомните и да надградите предишните си предположения. През повечето време трябва да можете да пробиете кода в 5 до 10 предположения, в зависимост от това колко късмет са вашите първоначални предположения.
Ако ви харесва този Instructable, моля, помислете за гласуване за него в конкурса Arduino.
Консумативи
За да създадете този сейф за Crack The Code, ще ви трябва:
- Arduino Uno - Купете тук
- I2C OLED дисплей - Купете тук
- Кодиращ бутон - Купете тук
- 4 x 5 мм червени светодиоди - Купете тук
- 4 x 5 мм зелени светодиоди - Купете тук
- 8 x 220Ω резистори - Купете тук
- Micro Servo - Купете тук
- Лентов кабел - Купете тук
- Заглавни ленти - Купете тук
- Превключвател на захранването - Купете тук
- 3 мм MDF лист - Купете тук
Ще ви трябват и някои основни инструменти, лепило за дърво, пистолет за лепило и поялник.
Частите за сейфа трябва да бъдат лазерно изрязани. Ако нямате достъп до лазерен нож, помислете дали да използвате онлайн услуга за лазерно рязане, те са станали доста достъпни и ще отрежат и доставят компонентите до вашата врата.
Това е лазерният нож, който съм използвал в инструктажа - K40 лазерен нож
Стъпка 1: Сглобете кутията
Проектирах сейфа в Inkscape, за да бъде изрязан от 3 мм MDF. Можете също така да изрежете частите от 3 мм акрил или шперплат, ако желаете. Ако използвате материал с различна дебелина, тогава ще трябва да регулирате прорезите в компонентите на кутията, така че да пасват правилно.
Можете да изтеглите файловете за лазерно рязане тук.
Има 6 панела, които съставляват външната страна на кутията, задната и предната част имат изрези за предната и задната врата. Панелите са маркирани във файла за печат, така че да можете да ги следите.
Циферблатът също е изработен с помощта на някои лазерно изрязани парчета, които след това са залепени заедно.
Има три декоративни панела, които са залепени отгоре и от двете страни на кутията, за да изглежда по -скоро като сейф. Има и два панела, които съставляват вратата, и разделител, който влиза в средата на кутията, за да отдели сейфа от отделението за електроника.
Парчетата се побират върху едно парче MDF 400 x 500 мм и могат да бъдат разделени на по -малки парчета, ако лазерният ви нож не е достатъчно голям, за да изрежете всички парчета наведнъж.
Започнах да лепя първо декоративните панели отгоре и отстрани. Уверете се, че сте подредили парчетата в правилния ред, за да знаете кои са кои. Има три различни парчета, горната и долната част са еднакви, страните са еднакви, а предната и задната са еднакви.
След като панелите изсъхнат, можете да сглобите кутията.
Уверете се, че изрезите за централния разделител са отстрани. Те трябва да преминат всички проводници от предната част на кутията до задната част на кутията, където седят Arduino и батерията.
Пантите също са лазерно изрязани и просто са залепени на място, след като подредите вратата. Уверете се, че са успоредни на вратата, в противен случай ще имате трудности при отварянето й. Може също да се наложи да шлайфате малко от вътрешния шарнирен ръб на вратата, така че да не се търка по ръба на кутията, докато се движи покрай нея.
Залепете четирите квадрата в ъглите зад задния панел, за да отворите винтовете за задния капак.
След това можете да пробиете дупките за винтовете и да започнете да монтирате екрана, Arduino, задния капак и накрая енкодера.
Стъпка 2: Свържете електрониката
Проектирах схемата на макет в Tinkercad Circuits и след това добавих в OLED дисплея.
Имаме 8 светодиода, свързани към цифровите IO пинове 6 до 13. Заключващото серво е свързано към щифт 5. Енкодерът, свързан към пинове 2, 3 и 4 и OLED дисплеят, са свързани към I2C интерфейса на Arduino.
Използвах резистор от 220 ома за всеки светодиод, запоен директно върху отрицателния светодиод и свързах компонентите заедно с помощта на цветен лентов кабел, за да поддържам окабеляването чист и за да проследя кой проводник е необходим за преминаване към всеки щифт на Arduino.
Избутах лентовите кабели до задното отделение и запоях няколко ленти с щифтове върху лентовия кабел, за да се включат в Arduino.
Също така монтирах превключвател за захранване на задния капак и го свързах към щепсел на батерията, за да се свържа с акумулаторна батерия, за да захранвам играта. Можете да използвате и 9V батерия, ако желаете.
И накрая, ще трябва да позиционирате заключващото серво към ръба на вратата, така че да премине през устната в кутията и ръката да може да се натисне нагоре към вътрешната страна на устната, за да заключи кутията. Това не е най -силният заключващ механизъм, но е наистина прост и работи добре за целите на играта.
Стъпка 3: Програмиране на Arduino
Няма да разгледам кода толкова подробно, колкото обикновено, тъй като има доста неща. Направих подробен запис, обясняващ всяка част от него, който можете да намерите заедно с изтеглянето на кода чрез тази връзка - Crack The Code Game Code.
В обобщение; започваме с импортиране на библиотеки за контрол на OLED дисплея и сервото.
След това задаваме параметрите на дисплея и създаваме всички наши променливи. Има доста променливи, предназначени за проследяване на завъртанията на енкодера, тъй като те се извършват чрез прекъсвания на нарастващия ръб на щифтове 2 и 3.
Създадени са два кодови масива, включени за съхраняване на произволно генерирания код и един за съхраняване на текущото предположение на потребителите.
В функцията за настройка стартираме дисплея, прикачваме серво, задаваме режимите на IO изводи и след това показваме анимацията на текста Crack The Code на дисплея.
Функциите на цикъла мигат светодиодите и показват съобщението push to lock lock, което след това изчаква, докато потребителят натисне циферблата, за да започне играта. Същият код се изпълнява в края на игра, който след това показва броя на опитите и изчаква натискането на набиране, за да започне нова игра.
На копчето на енкодера има някакъв код за отстраняване и след като бъде натиснат, серво заключва сейфа и се генерира случаен код. След това кодът извиква функция, която да поиска от потребителя да въведе своето предположение, а след това друга, за да провери предположението, това се повтаря, докато потребителят отгатне кода правилно.
Има функция за актуализиране на показвания код, която се извиква всеки път, когато енкодерът се завърти и показаният код трябва да се промени.
Функцията за генериране на нов код просто присвоява произволна цифра на всеки от четирите елемента в кодовия масив.
Функцията за въвеждане на предположение за код позволява на потребителя да избере цифра с помощта на енкодера и след това да потвърди всяко въвеждане на цифра, като натисне кодера надолу.
След това функцията за отчитане на кода за проверка преглежда познатия код и решава колко цифри са правилни и колко са на правилното място.
Функцията за актуализиране на светодиодите превключва правилния брой червени и зелени светодиоди въз основа на предположенията на потребителите.
Функцията ani при стартиране показва анимацията Crack The Code при стартиране.
И накрая, две функции за прекъсване управляват входа от енкодера, едната увеличава цифрата нагоре при завъртане по часовниковата стрелка и една надолу, когато се завърта обратно на часовниковата стрелка.
Стъпка 4: Игра на играта Crack the Code
Най -добрият начин да научите как да играете играта е като гледате видеоклипа в началото, има два примера за играта, която се играе близо до края.
Сейфът първоначално е отключен, което ви позволява да поставите нещо вътре в него.
След това натискате циферблата, за да заключите сейфа и да генерирате нов код.
Предполагаемият код се въвежда с помощта на диска за увеличаване на цифрата и натискане на диска за преминаване към следващата цифра или за потвърждаване на кода, след като всички четири цифри са избрани.
След това светодиодите отпред светват, за да ни кажат кое е правилно според нас.
След това използвате тази обратна връзка, за да направите следващото си предположение, докато не успеете да познаете правилния код и да отворите отново сейфа. След като въведете правилния код, сейфът се отключва и се показва броят на опитите, които са ви необходими, за да разбиете кода.
Насладете се на изграждането на свой собствен сейф за кодове. Ако ви хареса този Instructable, моля, помислете за гласуване за него в конкурса Arduino.
Втора награда в конкурса Arduino 2020
Препоръчано:
Моята DIY Steampunk операционна игра, базирана на Arduino: 9 стъпки (със снимки)
Моята DIY Steampunk операционна игра, базирана на Arduino: Този проект е доста обширен по обхват. Не изисква много инструменти или предварителни познания, но ще научи всеки (включително и аз) на много в много различни отдели на изработка! Като усещане за плен с Arduino, многозадачност с Arduino
Азимутална проекция 3D Декорация на карта X Пъзел игра с народна музика - Arduino: 7 стъпки
Азимутална проекция 3D Декорация на карта X Пъзел игра с фолклорна музика - Arduino: ВЪВЕДЕНИЕ Следващата страница ще ви инструктира как да създадете проект Arduino, който има две основни функции - обикновена украса с осветление и пъзел с народна музика, който включва областите на географията, геометрията , карти, ООН и
Arduino пъзел кутия: 7 стъпки
Arduino Puzzle Box: За този проект ще направим кутия за пъзели, която работи с музика. Основната същност на това е, че когато натиснете бутон, той пуска мелодия и Arduino изчислява кои бутони са натиснати, така че да знае кое е правилно и какво
Arduino „breadbot“пъзел игра: 6 стъпки (със снимки)
Arduino „breadbot“Пъзел: О, не! Моят бебе -робот се нуждае от няколко жици, за да оживее отново! Днес ще правим пъзел игра, която може да научи начинаещите потребители на arduino нещо за макет. Ето защо направих това! Можете да го направите толкова сложен, колкото искате, но аз избрах
Покажи светлинна кутия от дървена кутия: 9 стъпки (със снимки)
Покажи светлинна кутия от дървена кутия: Съпругата ми и аз подарихме на майка ми стъклена скулптура за Коледа. Когато майка ми го отвори, брат ми изпълни с " RadBear (добре, той всъщност каза името ми) може да ви построи светлинна кутия! &Quot;. Той каза това, защото като човек, който събира стъкло, аз