Turinys:

„Crack the Code Game“, „Arduino“pagrindu sukurta galvosūkių dėžutė: 4 žingsniai (su paveikslėliais)
„Crack the Code Game“, „Arduino“pagrindu sukurta galvosūkių dėžutė: 4 žingsniai (su paveikslėliais)

Video: „Crack the Code Game“, „Arduino“pagrindu sukurta galvosūkių dėžutė: 4 žingsniai (su paveikslėliais)

Video: „Crack the Code Game“, „Arduino“pagrindu sukurta galvosūkių dėžutė: 4 žingsniai (su paveikslėliais)
Video: Высокая плотность 2022 2024, Lapkritis
Anonim
Image
Image
„Crack the Code Game“, „Arduino“pagrįsta galvosūkių dėžutė
„Crack the Code Game“, „Arduino“pagrįsta galvosūkių dėžutė
„Crack the Code Game“, „Arduino“pagrįsta galvosūkių dėžutė
„Crack the Code Game“, „Arduino“pagrįsta galvosūkių dėžutė

Tinkercad projektai »

Šioje instrukcijoje aš jums parodysiu, kaip sukurti savo kreko kodo žaidimą, kuriame naudojate sukamąjį kodavimo ratuką, kad atspėtumėte atsitiktinai sugeneruotą kodą į seifą. Seifo priekyje yra 8 šviesos diodai, rodantys, kiek iš jūsų numanomų skaičių yra teisingi ir kiek yra tinkamoje vietoje.

Seifas iš pradžių yra atidarytas, todėl galite kažką įdėti į vidinį skyrių. „Arduino“ir baterija yra atskirame skyriuje gale. Tada paspausite ratuką, kad užrakintumėte seifą, o tai daroma naudojant servo durelių vidų. Tada turite įvesti kodą sukdami ratuką, kad pasirinktumėte skaitmenis, ir paspausdami ratuką patvirtinkite kiekvieną skaitmenį. Pasirinkus ketvirtąjį skaitmenį, seifas rodo raudonus ir žalius šviesos diodus ant durų, kiek iš jų yra teisingi ir kiek iš jų yra teisingoje vietoje.

Raudonas šviesos diodas nurodo teisingą skaitmenį, o žalias - tai, kad jis taip pat yra tinkamoje vietoje. Taigi, norėdami nulaužti kodą ir atidaryti seifą, turite uždegti visus keturis raudonus ir žalius šviesos diodus.

Seifas stebi, kiek spėliojimų padarėte, kad nulaužtumėte kodą, ir jis rodomas, kai jums pavyko jį nulaužti. Iš pradžių tai gali atrodyti sudėtinga, tačiau iš tikrųjų tai nėra taip sunku, tiesiog reikia prisiminti ir remtis ankstesniais spėjimais. Daugeliu atvejų turėtumėte sugebėti nulaužti kodą 5–10 spėjimų, atsižvelgiant į tai, kaip jums pasisekė.

Jei jums patinka ši instrukcija, apsvarstykite galimybę balsuoti už ją „Arduino“konkurse.

Prekės

Norėdami sukurti šią „Crack The Code“seifą, jums reikės:

  • „Arduino Uno“- pirkite čia
  • I2C OLED ekranas - pirkite čia
  • Mygtuko kodavimo įrenginys - pirkite čia
  • 4 x 5 mm raudoni šviesos diodai - pirkite čia
  • 4 x 5 mm žali šviesos diodai - pirkite čia
  • 8 x 220Ω rezistoriai - pirkite čia
  • „Micro Servo“- pirkite čia
  • Juostos kabelis - pirkite čia
  • Antraštės - pirkite čia
  • Maitinimo jungiklis - pirkite čia
  • 3 mm MDF lakštas - pirkite čia

Jums taip pat reikės pagrindinių įrankių, medžio klijų, klijų pistoleto ir lituoklio.

Seifo dalys turi būti supjaustytos lazeriu. Jei neturite prieigos prie lazerinio pjaustytuvo, apsvarstykite galimybę naudotis internetine pjovimo lazeriu paslauga, jie tapo gana prieinami ir supjaus bei pristatys komponentus į jūsų duris.

Tai lazerinis pjoviklis, kurį naudojau „Instructable - K40“lazeriniame pjaustytuve

1 žingsnis: Surinkite dėžutę

Surinkite dėžutę
Surinkite dėžutę
Surinkite dėžutę
Surinkite dėžutę
Surinkite dėžutę
Surinkite dėžutę
Surinkite dėžutę
Surinkite dėžutę

„Inkscape“suprojektavau seifą, kuris bus supjaustytas iš 3 mm MDF. Jei norite, dalis taip pat galite iškirpti iš 3 mm akrilo arba faneros. Jei naudojate kitokio storio medžiagą, turėsite sureguliuoti dėžutės komponentų angas, kad jos tinkamai derėtų.

Čia galite atsisiųsti pjovimo lazeriu failus.

Yra 6 plokštės, sudarančios dėžutės išorę, gale ir priekyje yra išpjovos priekinėms ir galinėms durims. Plokštės yra pažymėtos spausdinimo faile, kad galėtumėte jas stebėti.

Ciferblatas taip pat sudarytas naudojant kai kurias lazeriu supjaustytas dalis, kurios vėliau suklijuojamos.

Yra trys dekoratyvinės plokštės, pritvirtintos prie dėžutės viršaus ir dviejų pusių, kad ji atrodytų labiau kaip seifas. Taip pat yra dvi plokštės, sudarančios duris, ir skirstomasis skydas, einantis į dėžutės vidurį, kad būtų atskirtas saugus skyrius nuo elektronikos skyriaus.

Gabalai telpa ant vieno 400 x 500 mm MDF gabalo ir gali būti padalyti į mažesnius gabalus, jei jūsų lazerinis pjaustytuvas nėra pakankamai didelis, kad būtų galima iškirpti visas dalis vienu metu.

Pirmiausia pradėjau klijuoti dekoratyvines plokštes ant viršaus ir šonų. Įsitikinkite, kad surinkote gabalus teisinga tvarka, kad žinotumėte, kurie yra kurie. Yra trys skirtingos dalys, viršutinė ir apatinė dalys yra vienodos, šonai yra vienodi, o priekis ir galas yra vienodi.

Kai plokštės išdžiūsta, galite surinkti dėžę.

Įsitikinkite, kad centrinio skirstytuvo išpjovos yra šonuose. Tai turi būti bet kokie laidai nuo dėžutės priekio iki dėžutės galo, kur yra „Arduino“ir baterija.

Vyriai taip pat pjaustomi lazeriu ir yra tiesiog klijuojami į vietą, kai išrikiuojate duris. Įsitikinkite, kad jie yra lygiagrečiai durims, kitaip jums bus sunku jas atidaryti. Taip pat gali tekti šiek tiek nušlifuoti nuo vidinio šarnyrinio durų krašto, kad jis nesitrintų ant dėžutės krašto judant pro šalį.

Klijuokite keturis kvadratus į kampus, esančius už galinio skydelio, kad atidarytumėte galinio dangtelio varžtus.

Tada galite išgręžti varžtų skyles ir pradėti montuoti ekraną, „Arduino“, galinį dangtelį ir galiausiai kodavimo įrenginį.

2 veiksmas: prijunkite elektroniką

Prijunkite elektroniką
Prijunkite elektroniką
Prijunkite elektroniką
Prijunkite elektroniką
Prijunkite elektroniką
Prijunkite elektroniką

Aš sukūriau grandinę „Tinkercad Circuits“duonos lentoje ir vėliau pridėjau OLED ekrane.

Mes turime 8 šviesos diodus, prijungtus prie skaitmeninių IO kaiščių nuo 6 iki 13. Fiksavimo servo sistema yra prijungta prie 5. kaiščio. Koduotuvas prijungtas prie 2, 3 ir 4 kaiščių, o OLED ekranas yra prijungtas prie „Arduino“I2C sąsajos.

Kiekvienam šviesos diodui naudoju 220 omų rezistorių, lituojamą tiesiai prie neigiamo šviesos diodo, ir sujungiau komponentus naudodami spalvotą juostinį kabelį, kad laidai būtų tvarkingi ir būtų lengviau sekti, kokia viela reikalinga kiekvienam „Arduino“kaiščiui.

Aš stumdžiau juostinius kabelius į galinį skyrių, o lituotas kai kurias kaiščių antraščių juostas pritvirtinau prie juostos kabelio ir prijungiau prie „Arduino“.

Aš taip pat pritvirtinau maitinimo jungiklį ant galinio dangtelio ir prijungiau jį prie akumuliatoriaus kištuko, kad galėčiau prijungti prie įkraunamos baterijos, kad būtų galima įjungti žaidimą. Jei norite, taip pat galite naudoti 9 V bateriją.

Galiausiai turėsite uždėti fiksavimo servo durelių kraštą taip, kad jis pereitų per dėžutės lūpą, o ranka galėtų atsistoti prieš lūpos vidų, kad užfiksuotų dėžę. Tai nėra stipriausias užrakinimo mechanizmas, tačiau jis yra tikrai paprastas ir puikiai tinka žaidimo tikslui.

3 žingsnis: „Arduino“programavimas

„Arduino“programavimas
„Arduino“programavimas
„Arduino“programavimas
„Arduino“programavimas

Aš nesiruošiu išsamiai peržiūrėti kodo, kaip įprasta, nes jame yra gana daug. Aš padariau išsamų aprašymą, paaiškinantį kiekvieną jo dalį, kurią galite rasti kartu su kodo atsisiuntimu per šią nuorodą - „Crack The Code Game Code“.

Apibendrinant; pirmiausia importuojame bibliotekas, skirtas OLED ekranui ir servo valdymui.

Tada nustatome ekrano parametrus ir sukuriame visus kintamuosius. Yra daug kintamųjų, skirtų koduotuvo posūkiams sekti, nes tai daroma per kylančių kraštų pertraukas 2 ir 3 kaiščiuose.

Sukurtos dvi kodų masyvai, skirti atsitiktinai sugeneruotam kodui išsaugoti, o kitas - dabartiniam vartotojų spėjimui.

Sąrankos funkcijoje mes paleidžiame ekraną, pritvirtiname servo, nustatome IO kaiščio režimus ir tada ekrane rodome „Crack The Code“animaciją.

Ciklo funkcijos mirksi šviesos diodais ir parodo pranešimą „push to lock“, kuris laukia, kol vartotojas paspaus ratuką ir pradės žaidimą. Tas pats kodas paleidžiamas žaidimo pabaigoje, kuris parodo bandymų skaičių ir laukia, kol bus paspaustas ratukas, kad pradėtų naują žaidimą.

Ant kodavimo mygtuko yra tam tikras išjungimo kodas, kurį paspaudus, servo užrakina seifą ir sugeneruojamas atsitiktinis kodas. Tada kodas iškviečia funkciją, kad paprašytų vartotojo įvesti savo spėjimą, o po to kitą, kad patikrintų spėjimą, tai kartojama tol, kol vartotojas teisingai atspėja kodą.

Yra funkcija rodomam kodui atnaujinti, kuri iškviečiama kiekvieną kartą pasukus kodavimo įrenginį ir rodomą kodą reikia pakeisti.

Naujo kodo generavimo funkcija tiesiog priskiria atsitiktinį skaitmenį kiekvienam iš keturių kodų masyvo elementų.

Funkcija įvesti kodo spėjimą leidžia vartotojui pasirinkti skaitmenį naudojant koduotuvą ir tada patvirtinti kiekvieną įvestą skaitmenį, paspaudus koduotuvą žemyn.

Tikrinimo kodo atspėjimo funkcija peržiūri atspėtą kodą ir nusprendžia, kiek skaitmenų yra teisingos ir kiek yra teisingoje vietoje.

Atnaujinimo šviesos diodų funkcija perjungia teisingą raudonų ir žalių šviesos diodų skaičių, atsižvelgiant į vartotojų spėjimą.

Paleidimo ani funkcija paleidžiant rodo „Crack The Code“animaciją.

Galiausiai, dvi pertraukimo funkcijos valdo įvestį iš kodavimo įrenginio: viena padidina skaičių aukštyn, kai pasukama pagal laikrodžio rodyklę, o kita - žemyn, kai pasukama prieš laikrodžio rodyklę.

4 žingsnis: Žaiskite „Crack the Code“žaidimą

Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą
Žaidžia „Crack the Code“žaidimą

Geriausias būdas išmokti žaisti žaidimą yra žiūrint vaizdo įrašą pradžioje, yra du žaidimo, žaidžiamo arti pabaigos, pavyzdžiai.

Seifas iš pradžių yra atrakintas, todėl galite į jį kažką įdėti.

Tada paspauskite ratuką, kad užrakintumėte seifą ir sugeneruotumėte naują kodą.

Spėjamas kodas įvedamas naudojant ratuką, kad padidintumėte skaitmenį, ir paspauskite ratuką, kad pereitumėte prie kito skaitmens arba patvirtintumėte kodą, kai bus pasirinkti visi keturi skaitmenys.

Tada užsidega priekiniai šviesos diodai, kurie mums nurodo, kas buvo teisinga.

Tada naudodamiesi šiais atsiliepimais galite atspėti kitą, kol galėsite atspėti teisingą kodą ir vėl atidaryti seifą. Įvedus teisingą kodą, rodomas seifas ir parodomas bandymų, kurių prireikė nulaužti kodą, skaičius.

Mėgaukitės kurdami savo „crack“kodo seifą. Jei jums patiko šis „Instructable“, apsvarstykite galimybę balsuoti už jį „Arduino“konkurse.

„Arduino“konkursas 2020 m
„Arduino“konkursas 2020 m
„Arduino“konkursas 2020 m
„Arduino“konkursas 2020 m

Antrasis prizas „Arduino“konkurse 2020 m

Rekomenduojamas: