Kazalo:
- Zaloge
- 1. korak: Sestavite škatlo
- Korak: Priključite elektroniko
- 3. korak: Programiranje Arduina
- 4. korak: Igrajte igro Crack the Code
Video: Crack the Code Game, Arduino Puzzle Box: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Tinkercad projekti »
V tem Instructable -u vam bom pokazal, kako zgraditi lastno igro s kodo, v kateri z vrtljivim gumbom za kodirnik uganite naključno ustvarjeno kodo v sef. Na sprednji strani sefa je 8 LED, ki vam povedo, koliko števk ste uganili, da so pravilne, in koliko jih je na pravem mestu.
Sef je sprva odprt, kar vam omogoča, da nekaj položite v notranji predal. Arduino in baterija sta nameščena v ločenem predelu zadaj. Nato pritisnete gumb za zaklepanje sefa, kar naredite s servomotorjem na notranji strani vrat. Kodo morate nato vnesti tako, da z vrtljivim gumbom izberete števke in s pritiskom na številčnico potrdite vsako številko. Ko izberete četrto številko, sef prikaže, koliko vaših številk je pravilnih in koliko jih je na pravem mestu, z rdečo in zeleno LED na vratih.
Rdeča LED označuje pravilno številko, zelena LED pa, da je tudi na pravem mestu. Zato morate prižgati vse štiri rdeče in zelene LED, da razbijete kodo in odprete sef.
Sef beleži, koliko ugibanj ste naredili, da bi razbili kodo, in to se prikaže, ko vam jo uspe razbiti. Morda se na začetku sliši zapleteno, v resnici pa ni tako težko, le spomniti se morate in graditi na prejšnjih ugibanjih. Največkrat bi morali biti sposobni razbiti kodo v 5 do 10 ugibanjih, odvisno od tega, kako srečni so vaši začetni ugibi.
Če vam je ta Instructable všeč, razmislite o glasovanju zanj na natečaju Arduino.
Zaloge
Za izdelavo tega sefa Crack The Code potrebujete:
- Arduino Uno - Kupite tukaj
- I2C OLED zaslon - kupite tukaj
- Dajalnik gumbov - Kupite tukaj
- 4 x 5 mm rdeče LED - kupite tukaj
- 4 x 5 mm zelene LED diode - kupite tukaj
- 8 x 220Ω upori - kupite tukaj
- Micro Servo - Kupite tukaj
- Tračni kabel - kupite tukaj
- Naglavni trakovi - kupite tukaj
- Stikalo za vklop - kupite tukaj
- 3 mm MDF list - kupite tukaj
Potrebovali boste tudi nekaj osnovnih orodij, lepilo za les, pištolo za lepilo in spajkalnik.
Deli za sef morajo biti lasersko rezani. Če nimate dostopa do laserskega rezalnika, razmislite o uporabi spletne storitve laserskega rezanja, ki je postala precej dostopna in vam bo komponente razrezala in dostavila do vrat.
To je laserski rezalnik, ki sem ga uporabil v laserskem rezalniku Instructable - K40
1. korak: Sestavite škatlo
Sef sem oblikoval v Inkscapeu, narezan iz 3 mm MDF. Po želji lahko dele tudi izrežete iz 3 mm akrila ali vezanega lesa. Če uporabljate material druge debeline, boste morali prilagoditi reže v sestavnih delih škatle, da se bodo pravilno prilegali.
Datoteke za lasersko rezanje lahko prenesete tukaj.
Na zunanji strani škatle je 6 plošč, zadaj in spredaj pa so izrezi za sprednja in zadnja vrata. Plošče so označene v datoteki za tiskanje, tako da jih lahko spremljate.
Številčnica je sestavljena tudi z nekaj lasersko izrezanimi kosi, ki jih nato zlepimo skupaj.
Obstajajo tri okrasne plošče, ki so pritrjene na vrh in dve strani škatle, da je videti bolj kot sef. Obstajata tudi dve plošči, ki sestavljata vrata, in razdelilna plošča, ki gre v sredino škatle, da loči varen predal od elektronskega.
Kosi se prilegajo enemu kosu MDF 400 x 500 mm in jih lahko razdelimo na manjše kose, če vaš laserski rezalnik ni dovolj velik, da bi lahko izrezal vse kose naenkrat.
Dekorativne plošče sem najprej začel lepiti na vrh in stranice. Poskrbite, da so kosi v pravilnem vrstnem redu, da boste vedeli, kateri so. Obstajajo trije različni kosi, zgornji in spodnji del sta enaki, stranice so enake, sprednji in zadnji del pa sta enaka.
Ko se plošče posušijo, lahko sestavite škatlo.
Prepričajte se, da so izrezi za sredinski delilnik na straneh. Ti naj bi vodili vse žice od sprednje strani škatle do zadnje strani škatle, kjer sta Arduino in baterija.
Tečaji so tudi lasersko rezani in se lepijo na svoje mesto, ko poravnate vrata. Prepričajte se, da so vzporedna z vrati, sicer jih ne boste mogli odpreti. Morda boste morali tudi malo pobrusiti z notranjega roba vrat na tečajih, da se med premikanjem ne drgne ob rob škatle.
Štiri kvadrate prilepite v vogale za zadnjo ploščo, da odvijete vijake za zadnji pokrov.
Nato lahko izvrtate luknje za vijake in začnete z montažo zaslona, Arduina, zadnjega pokrova in nazadnje dajalnika.
Korak: Priključite elektroniko
Vezje sem oblikoval na plošči v Tinkercad Circuits in nato dodal na zaslon OLED.
Na digitalne vhodno -izhodne zatiče od 6 do 13. imamo priključenih 8 LED diod. Zaklepni servo je priključen na pin 5. Dajalnik, priključen na nožice 2, 3 in 4 in zaslon OLED, je povezan z vmesnikom Arduino I2C.
Za vsako LED sem uporabil 220 ohmski upor, spajen neposredno na negativni vodnik in sestavne dele sem povezal z barvnim trakovnim kablom, da sem ožičenje ohranil čisto lažje in spremljal, katera žica je potrebna za vsak Arduino pin.
Tračne kable sem potisnil do zadnjega predelka in nekaj trakov z nožicami zalemil na tračni kabel, da jih priključim na Arduino.
Na zadnji pokrov sem namestil tudi stikalo za vklop in ga priključil na vtič za baterijo, da se povežem z akumulatorsko baterijo za napajanje igre. Po želji lahko uporabite tudi 9V baterijo.
Nazadnje boste morali servo zaklepanje namestiti proti robu vrat, tako da bo šel čez ustnico v škatli, roka pa se bo lahko potisnila proti notranjosti ustnice, da bo zaklenila škatlo. To ni najmočnejši mehanizem za zaklepanje, vendar je zelo preprost in dobro deluje za namen igre.
3. korak: Programiranje Arduina
Kode ne bom obravnaval tako podrobno kot običajno, saj je kar precej. Naredil sem podroben zapis, ki pojasnjuje vsak njegov del, ki ga najdete skupaj s prenosom kode s te povezave - Crack The Code Game Code.
V povzetku; začnemo z uvozom knjižnic za nadzor OLED zaslona in servo.
Nato nastavimo parametre za prikaz in ustvarimo vse naše spremenljivke. Za spremljanje obratov dajalnika je namenjenih kar nekaj spremenljivk, ki se izvajajo prek prekinitev naraščajočega roba na zatičih 2 in 3.
Ustvarjena sta dva kodna niza za shranjevanje naključno ustvarjene kode in ena za shranjevanje trenutnih ugibanj uporabnikov.
V nastavitveni funkciji zaženemo zaslon, priključimo servo, nastavimo načine IO pin in nato na zaslonu prikažemo besedilno animacijo Crack The Code.
Funkcije zanke utripajo LED in prikaže sporočilo push to lock safe, ki nato počaka, da uporabnik pritisne gumb za začetek igre. Ista koda se izvede na koncu igre, ki nato prikaže število poskusov in počaka, da klicni gumb zažene novo igro.
Na gumbu dajalnika je nekaj kode za odvračanje in ko je pritisnjen, servo zaklene sef in nastane naključna koda. Koda nato pokliče funkcijo, ki od uporabnika zahteva, da vnese svojo ugibanje, nato pa še eno, da preveri ugibanje, to se ponavlja, dokler uporabnik pravilno ne ugani kode.
Obstaja funkcija za posodobitev prikazane kode, ki se pokliče vsakič, ko dajalnik obrnete in prikazano kodo morate spremeniti.
Funkcija za ustvarjanje nove kode preprosto dodeli naključno številko vsakemu od štirih elementov v kodnem nizu.
Funkcija za vnos ugibanja kode omogoča uporabniku, da z dajalnikom izbere številko, nato pa potrditev vsakega številskega vnosa s pritiskom na kodirnik navzdol.
Funkcija ugibanja kode za preverjanje nato pregleda ugibano kodo in se odloči, koliko številk je pravilnih in koliko jih je na pravem mestu.
Funkcija posodabljanja LED na podlagi ugibanja uporabnikov vklopi pravilno število rdečih in zelenih LED.
Startup ani funkcija ob zagonu prikaže animacijo Crack The Code.
Nazadnje, dve funkciji prekinitve upravljata vnos iz dajalnika: ena povečuje števko navzgor, ko je obrnjena v smeri urinega kazalca, in ena navzdol, ko je obrnjena v nasprotni smeri urinega kazalca.
4. korak: Igrajte igro Crack the Code
Najboljši način, kako se naučiti igrati igro, je, če si ogledate video na začetku, dva primera igre se igrata proti koncu.
Sef je sprva odklenjen, kar vam omogoča, da vanj vstavite nekaj.
Nato pritisnete gumb za zaklepanje sefa in ustvarite novo kodo.
Ugibana koda se vnese s številčnico za povečanje števke in s pritiskom na gumb za prehod na naslednjo številko ali za potrditev kode, ko so izbrane vse štiri številke.
LED na sprednji strani nato zasvetijo, da nam povedo, kaj je bilo po naših domnevah pravilno.
Te povratne informacije nato uporabite za naslednje ugibanje, dokler ne boste mogli uganiti pravilne kode in znova odpreti sefa. Ko vnesete pravilno kodo, se odklene sef in prikaže se število poskusov, da ste kodo razbili.
Uživajte v gradnji lastnega sefa za razbijanje kod. Če vam je bil ta Instructable všeč, razmislite o glasovanju zanj na natečaju Arduino.
Druga nagrada na tekmovanju Arduino 2020
Priporočena:
Balance Box Game - Arduino poganja: 4 koraki (s slikami)
Igra z ravnotežjem - Arduino Powered: Igra z ravnotežjem je bila narejena za izzivalni dogodek. polje in sprožite alarm, ko nastavite kot
PUZZLE - Logična igra Arduino: 3 koraki
PUZZLE - Arduino logična igra: Pozdravljeni. Rad bi vam povedal o zgodovini ustvarjanja preproste puzzle igre " Puzzle " z uporabo Arduino UNO in TFT-Shield. Za izdelavo igre sem potreboval naslednje komponente: Arduino UNO napajalnik (AC-DC) 6-12V za Arduino UNO Micro
Powertech: Crack Ant: 6 korakov (s slikami)
Powertech: Crack Ant: Tako naredimo bitka za tehnologijo Crakant. Avtor: Harry Hollins in Alex Grace. Materiali: 21 vijakov, 21 matic, 1 baterija, 4 kolesa, 2 motorja, 2 rdeči žici, 2 črni žici, 3 dvom
Puzzle Box - Razbijalci kod in prelomniki [UCM]: 7 korakov (s slikami)
Puzzle Box - Codebreakers and Greabreakers [UCM]: Laserski komplet škatel za sestavljanke, zasnovan za delavnico digitalnih izdelovalcev v Muzeju Fitzwilliam v Cambridgeu v povezavi z razstavo Codebreakers and Groundbreakers. Za delavnico je bil gumb v sestavljanki povezan z MakeyMakey a
Zaščitena glasba Crack Itunes (odstranite zaščito DRM): 5 korakov (s slikami)
Crack Itunes Protected Music (odstranite zaščito DRM): Glasba je bila v preteklosti velik del družbe, vendar je s tehnologijo večja kot kdaj koli prej! Najhitrejši in najlažji način pridobivanja glasbe v teh dneh je prek interneta ("Internet je komunikacijsko orodje, ki se uporablja po vsem svetu, kjer lahko ljudje pridejo skupaj