Mundarija:

Kod o'yinini buzish, Arduino asosidagi jumboq qutisi: 4 qadam (rasmlar bilan)
Kod o'yinini buzish, Arduino asosidagi jumboq qutisi: 4 qadam (rasmlar bilan)

Video: Kod o'yinini buzish, Arduino asosidagi jumboq qutisi: 4 qadam (rasmlar bilan)

Video: Kod o'yinini buzish, Arduino asosidagi jumboq qutisi: 4 qadam (rasmlar bilan)
Video: Коды на Динозаврика! 7 Интересных Секретов Гугл 2024, Noyabr
Anonim
Image
Image
Kod o'yinini buzish, Arduino asosidagi jumboq qutisi
Kod o'yinini buzish, Arduino asosidagi jumboq qutisi
Kod o'yinini buzish, Arduino asosidagi jumboq qutisi
Kod o'yinini buzish, Arduino asosidagi jumboq qutisi

Tinkercad loyihalari »

Bu yo'riqnomada men sizga o'z kodini qanday yaratishni ko'rsatmoqchiman, siz tasodifiy ishlab chiqarilgan kodni seyfga aylantirish uchun aylanuvchi kodlagichdan foydalanasiz. Seyfning old tomonida 8 ta svetodiod o'rnatilgan bo'lib, siz taxmin qilgan raqamlarning qanchasi to'g'ri va qanchasi to'g'ri joyda ekanligini aytib beradi.

Seyf dastlab ochiq, bu sizga ichki qismga biror narsa qo'yishga imkon beradi. Arduino va batareya orqa qismdagi alohida bo'linmada joylashgan. Keyin eshikni ichidagi servo yordamida seyfni qulflash uchun kadranni bosasiz. Keyin raqamni tanlash uchun terish tugmachasini aylantirish va har bir raqamni tasdiqlash uchun tugmani bosib kodni kiritish kerak. To'rtinchi raqam tanlanganidan so'ng, eshikdagi qizil va yashil LEDlar yordamida seyf sizning raqamlaringiz qanchalik to'g'ri ekanligini va ularning qanchasi to'g'ri joyda ekanligini ko'rsatadi.

Qizil LED to'g'ri raqamni, yashil LED esa uning to'g'ri joyda ekanligini ko'rsatadi. Shunday qilib, kodni buzish va seyfni ochish uchun siz to'rtta qizil va yashil LEDni yoqishingiz kerak.

Seyf kodni buzish uchun qancha taxmin qilganingizni kuzatib boradi va siz uni buzishga muvaffaq bo'lganingizda ko'rsatiladi. Avvaliga bu murakkab tuyulishi mumkin, lekin bu unchalik qiyin emas, siz avvalgi taxminlaringizni eslab qolishingiz kerak. Ko'pincha siz dastlabki taxminlaringiz qanchalik omadli ekanligiga qarab, kodni 5 dan 10 gacha taxmin qilish mumkin.

Agar sizga bu ko'rsatma yoqsa, iltimos, Arduino tanlovida unga ovoz bering.

Ta'minotlar

Kodni buzish xavfsiz qutisini yaratish uchun sizga kerak bo'ladi:

  • Arduino Uno - Bu erda sotib oling
  • I2C OLED displeyi - Bu yerdan sotib oling
  • Tugma kodlagichi - bu yerdan sotib oling
  • 4 x 5 mm qizil LED - bu erda sotib oling
  • 4 x 5 mm yashil LED - bu erda sotib oling
  • 8 x 220Ω rezistorlar - bu erda sotib oling
  • Mikro Servo - Bu yerdan sotib oling
  • Lenta kabeli - bu erda sotib oling
  • Sarlavha chiziqlari - bu erda sotib oling
  • Quvvat kaliti - bu erda sotib oling
  • 3 mm MDF plitasi - bu erda sotib oling

Bundan tashqari, sizga ba'zi asosiy vositalar, yog'och elim, yopishtiruvchi qurol va lehim temir kerak bo'ladi.

Kassa qismlari lazer bilan kesilishi kerak. Agar sizda lazerni kesish imkoni bo'lmasa, onlayn lazerni kesish xizmatidan foydalaning, ular ancha arzonga tushdi va komponentlarni kesib sizning eshigingizga etkazib beradi.

Bu men ko'rsatma beradigan K40 lazerli kesgichda ishlatgan lazer kesgich

1 -qadam: qutini yig'ing

Qutini yig'ing
Qutini yig'ing
Qutini yig'ing
Qutini yig'ing
Qutini yig'ing
Qutini yig'ing
Qutini yig'ing
Qutini yig'ing

Men 3 mm MDFdan kesiladigan Inkscape -dagi xavfsiz qutini ishlab chiqdim. Agar xohlasangiz, uning qismlarini 3 mm akril yoki kontrplakdan kesib olishingiz mumkin. Agar siz boshqa qalinlikdagi materialdan foydalansangiz, qutining tarkibiy qismlaridagi teshiklarni bir -biriga to'g'ri joylashishi uchun sozlashingiz kerak bo'ladi.

Bu erda lazerni kesish fayllarini yuklab olishingiz mumkin.

Qutining tashqi qismini tashkil etuvchi 6 ta panel mavjud, orqa va old tomonida old va orqa eshiklar uchun kesmalar mavjud. Panellar bosma faylda etiketlangan bo'lib, ularni kuzatib borishingiz mumkin.

Dial, shuningdek, bir -biriga yopishtiriladigan ba'zi lazerli kesilgan qismlar yordamida tuziladi.

Kassaga o'xshab ko'rinishi uchun qutining yuqori va ikki tomoniga yopishtirilgan uchta dekorativ panel mavjud. Eshikni tashkil etuvchi ikkita panel va xavfsiz bo'linmani elektron qismdan ajratish uchun qutining o'rtasiga kiruvchi bo'luvchi panel ham mavjud.

Parchalar MDX 400 x 500 mm o'lchamdagi bitta bo'lakka to'g'ri keladi va agar siz lazerni kesuvchi bir vaqtning o'zida barcha qismlarni kesish uchun etarlicha katta bo'lmasa, uni kichikroq bo'laklarga bo'lish mumkin.

Men birinchi bo'lib dekorativ panellarni yuqori va yon tomonlarga yopishtirishni boshladim. Qaysi biri ekanligini bilish uchun bo'laklarni to'g'ri tartibda olganingizga ishonch hosil qiling. Uch xil bo'lak bor, yuqori va pastki bir xil, yonlari bir xil, old va orqa bir xil.

Panellar quriganidan so'ng, siz qutini yig'ishingiz mumkin.

Markaziy bo'linma uchun kesmalar yon tomonlarda joylashganligiga ishonch hosil qiling. Bu simlarni qutining old qismidan Arduino va batareya o'tirgan qutining orqa qismiga o'tkazish.

Menteşalar ham lazer bilan kesilgan va siz eshikni yopib qo'yganingizdan so'ng, joyiga yopishtirilgan. Ularning eshikka parallel ekanligiga ishonch hosil qiling, aks holda siz uni ochishda qiynalasiz. Eshikning ichki chetidan bir oz silliqlash kerak bo'lishi mumkin, shunda u o'tayotganda qutining chetiga ishqalanmaydi.

Orqa qopqoq uchun vintlarni teshish uchun to'rtta kvadratni orqa panel orqasidagi burchaklarga yopishtiring.

Keyin vintlar uchun teshiklarni burishingiz mumkin va ekranni, Arduino -ni, orqa qopqog'ini va nihoyat kodlovchi o'rnatishni boshlashingiz mumkin.

2 -qadam: Elektronikani ulang

Elektronni ulang
Elektronni ulang
Elektronni ulang
Elektronni ulang
Elektronni ulang
Elektronni ulang

Men sxemani "Tinkercad Circuits" dagi non panelida ishlab chiqdim va keyin OLED -displeyga qo'shdim.

Bizda 6 dan 13 gacha raqamli IO pinlariga ulangan 8 ta LED mavjud. Qulflash servo pin 5 ga ulangan, 2, 3 va 4 -pinlarga ulangan kodlovchi va OLED displeyi Arduino I2C interfeysiga ulangan.

Men har bir LED uchun 220 ohmli rezistorni ishlatdim, u to'g'ridan -to'g'ri manfiy chiroqqa lehimli edi va men simlarni toza saqlash uchun va har bir Arduino piniga qaysi simni o'tkazish kerakligini kuzatib borish uchun komponentlarni rangli lenta kabeli yordamida bog'ladim.

Men lenta kabellarini orqa bo'linmaga o'tkazdim va Arduino -ga ulash uchun tasma simi ustiga bir nechta pin sarlavhalarini lehimladim.

Men, shuningdek, orqa qopqoqqa quvvat tugmachasini o'rnatdim va o'yinni quvvatlantirish uchun qayta zaryadlanuvchi batareyaga ulash uchun uni batareykaga uladim. Agar xohlasangiz, 9V batareyadan ham foydalanishingiz mumkin.

Oxir -oqibat, qulflash servosini eshik chetiga qo'yishingiz kerak, shunda u qutidagi labdan o'tib ketadi va qo'l qutini qulflash uchun labning ichki qismiga ko'tariladi. Bu eng kuchli qulflash mexanizmi emas, lekin bu juda oddiy va o'yin maqsadiga mos keladi.

3 -qadam: Arduino dasturlash

Arduino dasturlash
Arduino dasturlash
Arduino dasturlash
Arduino dasturlash

Men kodni odatdagidek batafsil ko'rib chiqmoqchi emasman, chunki unda juda ko'p narsa bor. Men uning har bir qismini tushuntirib beradigan batafsil yozib oldim, siz bu havola orqali kodni yuklab olishingiz mumkin - Crack the Code Game Code.

Qisqa bayoni; yakunida; biz OLED displeyini va servo boshqaruvini kutubxonalarni import qilishdan boshlaymiz.

Keyin biz displey uchun parametrlarni o'rnatamiz va barcha o'zgaruvchilarimizni yaratamiz. Enkoderning aylanishini kuzatishga bag'ishlangan juda ko'p o'zgaruvchilar bor, chunki ular 2 va 3 -pinlarda ko'tarilgan qirrali uzilishlar orqali amalga oshiriladi.

Tasodifiy yaratilgan kodni saqlash uchun va foydalanuvchilarning taxminlarini saqlash uchun ikkita kod massivi yaratilgan.

O'rnatish funktsiyasida biz displeyni ishga tushiramiz, servo -ni biriktiramiz, IO -pin rejimlarini o'rnatamiz va keyin Crack The Code matnli animatsiyasini ko'rsatamiz.

Loop funktsiyalari LED -larni yonib o'chiradi va "o'yin xavfsiz" tugmachasini bosadi, keyin foydalanuvchi o'yinni boshlash uchun tugmani bosguncha kutiladi. Xuddi shu kod o'yin oxirida ishlaydi, u urinishlar sonini ko'rsatadi va yangi o'yinni boshlash uchun terish tugmachasini kutadi.

Enkoder tugmachasida bir nechta o'chirish kodi bor va bir marta bosilsa, servo seyfni qulflaydi va tasodifiy kod hosil bo'ladi. Keyin kod foydalanuvchidan o'z taxminlarini kiritishni so'rash funktsiyasini chaqiradi, keyin boshqasi taxminni tekshiradi, bu foydalanuvchi kodni to'g'ri taxmin qilmaguncha takrorlanadi.

Ko'rsatilgan kodni yangilash funktsiyasi mavjud, u har safar enkoder aylantirilganda chaqiriladi va ko'rsatilgan kod o'zgarishi kerak.

Yangi kodni yaratish funktsiyasi kodlar qatoridagi to'rtta elementning har biriga tasodifiy raqam beradi.

Kodni taxmin qilish funktsiyasi foydalanuvchiga kodlovchi yordamida raqamni tanlashga, so'ngra kodlovchi pastga bosish orqali har bir raqamli kirishni tasdiqlashga imkon beradi.

Tekshirish kodini taxmin qilish funktsiyasi taxmin qilingan kodni ko'rib chiqadi va qancha raqam to'g'ri va qancha joy to'g'ri ekanligini aniqlaydi.

LEDlarni yangilash funktsiyasi foydalanuvchilarning taxminlariga ko'ra, qizil va yashil LEDlarning to'g'ri sonini o'zgartiradi.

Ani ishga tushirish funktsiyasi ishga tushganda "Kodni buzish" yorlig'ini ko'rsatadi.

Nihoyat, ikkita uzilish funktsiyasi koderdan kirishni boshqaradi, bittasi soat yo'nalishi bo'yicha aylantirilganda raqamni yuqoriga, ikkinchisi esa soat sohasi farqli o'girilganda pastga.

4 -qadam: Kod o'yinini o'ynang

Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash
Crack Code o'yinini o'ynash

O'yinni qanday o'ynashni o'rganishning eng yaxshi usuli - boshida videoni ko'rish, o'yinning oxiriga yaqin ikkita misol bor.

Dastlab seyf qulfdan chiqariladi, bu uning ichiga biror narsa qo'yish imkonini beradi.

Keyin siz seyfni qulflash va yangi kodni yaratish uchun tugmani bosasiz.

Taxmin qilingan kod - bu raqamni ko'paytirish uchun terish va keyingi raqamga o'tish yoki to'rtta raqam tanlanganidan keyin kodni tasdiqlash uchun terish.

Old tomondan LEDlar yonib, bizga taxmin qilishda nima to'g'ri ekanligini aytib beradi.

To'g'ri kodni bilib olmaguningizcha va seyfni qayta ochmaguningizcha, bu fikr -mulohazadan keyingi taxmin qilish uchun foydalanasiz. To'g'ri kodni kiritganingizda, seyf qulfini ochadi va kodni sindirish uchun qilingan urinishlar soni ko'rsatiladi.

O'zingizning shaxsiy kod qutisini yaratishdan zavqlaning. Agar sizga bu ko'rsatma yoqqan bo'lsa, iltimos, Arduino tanlovida unga ovoz bering.

Arduino musobaqasi 2020
Arduino musobaqasi 2020
Arduino musobaqasi 2020
Arduino musobaqasi 2020

Arduino -2020 tanlovining ikkinchi mukofoti

Tavsiya: