Съдържание:

Разбийте кодовата игра, базирана на Arduino пъзел кутия: 4 стъпки (със снимки)
Разбийте кодовата игра, базирана на Arduino пъзел кутия: 4 стъпки (със снимки)

Видео: Разбийте кодовата игра, базирана на Arduino пъзел кутия: 4 стъпки (със снимки)

Видео: Разбийте кодовата игра, базирана на Arduino пъзел кутия: 4 стъпки (със снимки)
Видео: War Thunder - "Victory is Ours" Live Action Trailer 2024, Юли
Anonim
Image
Image
Разбийте кодовата игра, базирана на Arduino кутия за пъзели
Разбийте кодовата игра, базирана на Arduino кутия за пъзели
Разбийте кодовата игра, базирана на Arduino кутия за пъзели
Разбийте кодовата игра, базирана на Arduino кутия за пъзели

Проекти на 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

Програмиране на Arduino
Програмиране на Arduino
Програмиране на Arduino
Програмиране на 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

Игра на играта Crack the Code
Игра на играта Crack the Code
Игра на играта Crack the Code
Игра на играта Crack the Code
Игра на играта Crack the Code
Игра на играта Crack the Code
Игра на играта Crack the Code
Игра на играта Crack the Code

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

Сейфът първоначално е отключен, което ви позволява да поставите нещо вътре в него.

След това натискате циферблата, за да заключите сейфа и да генерирате нов код.

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

След това светодиодите отпред светват, за да ни кажат кое е правилно според нас.

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

Насладете се на изграждането на свой собствен сейф за кодове. Ако ви хареса този Instructable, моля, помислете за гласуване за него в конкурса Arduino.

Arduino конкурс 2020
Arduino конкурс 2020
Arduino конкурс 2020
Arduino конкурс 2020

Втора награда в конкурса Arduino 2020

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