Sadržaj:

Razbijte igru Code, Arduino slagalica: 4 koraka (sa slikama)
Razbijte igru Code, Arduino slagalica: 4 koraka (sa slikama)

Video: Razbijte igru Code, Arduino slagalica: 4 koraka (sa slikama)

Video: Razbijte igru Code, Arduino slagalica: 4 koraka (sa slikama)
Video: Leap Motion SDK 2024, Srpanj
Anonim
Image
Image
Crack the Code Game, Arduino Puzzle Box
Crack the Code Game, Arduino Puzzle Box
Crack Code Code, Arduino Puzzle Box
Crack Code Code, Arduino Puzzle Box

Tinkercad projekti »

U ovom Instructableu pokazat ću vam kako izgraditi vlastitu igru s kodom u kojoj krećete pomoću rotacijskog kodera za pogađanje nasumično generiranog koda. Na prednjoj strani sefa nalazi se 8 LED dioda koje vam govore koliko je znamenki za koje ste pretpostavili da su točne, a koliko ih je i na pravom mjestu.

Sef je u početku otvoren, što vam omogućuje da stavite nešto u unutarnji pretinac. Arduino i baterija smješteni su u zasebnom odjeljku straga. Zatim gurnete gumb za zaključavanje sefa, što se postiže pomoću servo servera na unutarnjoj strani vrata. Zatim morate unijeti kôd okretanjem kotačića za odabir znamenki i pritiskom na kotačić za potvrdu svake znamenke. Nakon što odaberete svoju četvrtu znamenku, sef prikazuje koliko je vaših znamenki točno i koliko ih je na ispravnom mjestu pomoću crvene i zelene LED diode na vratima.

Crvena LED označava ispravnu znamenku, a zelena LED označava da je i ona na ispravnom mjestu. Zato morate upaliti sve četiri crvene i zelene LED diode kako biste razbili kôd i otvorili sef.

Sef bilježi koliko ste pogađali da biste razbili kôd, a to se prikazuje nakon što ste ga uspjeli razbiti. Možda na prvu zvuči komplicirano, ali zapravo nije tako teško, samo se morate sjetiti i nadograditi svoja prethodna nagađanja. Većinu vremena trebali biste moći razbiti kôd u 5 do 10 pogađanja, ovisno o tome koliko su vaša početna nagađanja imala sreće.

Ako vam se sviđa ovaj Instructable, razmislite o glasovanju za njega na Arduino natjecanju.

Pribor

Da biste izgradili ovaj Crack The Code sef, trebat će vam:

  • Arduino Uno - Kupite ovdje
  • I2C OLED zaslon - kupite ovdje
  • Davač tipke - Kupite ovdje
  • 4 x 5 mm crvene LED diode - kupite ovdje
  • 4 x 5 mm zelene LED diode - kupite ovdje
  • Otpornici 8 x 220Ω - Kupite ovdje
  • Mikro servo - kupite ovdje
  • Vrpčasti kabel - kupite ovdje
  • Zaglavlje - Kupite ovdje
  • Prekidač za napajanje - Kupite ovdje
  • 3 mm MDF ploča - kupite ovdje

Trebat će vam i neki osnovni alati, ljepilo za drvo, pištolj za ljepilo i lemilica.

Dijelovi sefa moraju biti laserski izrezani. Ako nemate pristup laserskom rezaču, razmislite o korištenju mrežne usluge laserskog rezanja, oni su postali prilično pristupačni te će izrezati i isporučiti komponente do vaših vrata.

Ovo je laserski rezač koji sam koristio u Instructable - K40 laserskom rezaču

Korak 1: Sastavite kutiju

Sastavite kutiju
Sastavite kutiju
Sastavite kutiju
Sastavite kutiju
Sastavite kutiju
Sastavite kutiju
Sastavite kutiju
Sastavite kutiju

Dizajnirao sam sef u Inkscapeu za rezanje od 3 mm MDF -a. Također možete izrezati dijelove od akrila ili šperploče od 3 mm ako želite. Ako koristite materijal različite debljine, morat ćete prilagoditi utore u komponentama kutije tako da se pravilno uklapaju.

Datoteke laserskog rezanja možete preuzeti ovdje.

Postoji 6 ploča koje čine vanjsku stranu kutije, stražnja i prednja strana imaju izreze za prednja i stražnja vrata. Ploče su označene u datoteci za ispis tako da ih možete pratiti.

Brojčanik je također sastavljen pomoću nekih laserski izrezanih komada koji se zatim lijepe zajedno.

Tri su ukrasne ploče zalijepljene na vrh i dvije strane kutije kako bi izgledala više kao sef. Postoje i dvije ploče koje čine vrata i pregradna ploča koja ide u sredinu kutije kako bi odvojila pretinac za sef od pretinca za elektroniku.

Komadići stanu na jedan komad MDF -a 400 x 500 mm i mogu se podijeliti na manje dijelove ako vaš laserski rezač nije dovoljno velik da izreže sve komade odjednom.

Prvo sam počeo lijepiti ukrasne ploče na vrh i bočne strane. Provjerite imate li ispravne komade kako biste znali koji su koji. Postoje tri različita komada, gornji i donji dio su isti, stranice su iste, a prednja i stražnja strana su iste.

Nakon što se ploče osuše, možete sastaviti kutiju.

Pazite da izrezi za središnji razdjelnik budu sa strane. To je za provođenje žica od prednje strane kutije do stražnje strane kutije na kojoj se nalaze Arduino i baterija.

Šarke su također laserski rezane i samo su zalijepljene na svoje mjesto nakon što poravnate vrata. Provjerite jesu li paralelna s vratima jer ćete ih teško otvoriti. Možda ćete također morati malo izbrusiti unutarnji rub vrata sa šarkama kako se ne bi trljao o rub kutije dok se kreće.

Zalijepite četiri kvadrata u uglove iza stražnje ploče kako biste otvorili vijke za stražnju masku.

Zatim možete izbušiti rupe za vijke i početi montirati zaslon, Arduino, stražnji poklopac i na kraju enkoder.

Korak 2: Spojite elektroniku

Spojite elektroniku
Spojite elektroniku
Spojite elektroniku
Spojite elektroniku
Spojite elektroniku
Spojite elektroniku

Dizajnirao sam krug na ploči u Tinkercad sklopovima i nakon toga dodao na OLED zaslon.

Imamo 8 LED dioda spojenih na digitalne IO pinove 6 do 13. Servo za zaključavanje spojen je na pin 5. Enkoder spojen na pinove 2, 3 i 4 i OLED zaslon spojen je na Arduinovo I2C sučelje.

Koristio sam otpornik od 220 ohma za svaku LED diodu, lemljen izravno na negativni vod i spojio komponente zajedno pomoću obojenog vrpčnog kabela kako bi ožičenje bilo uredno i kako bi se pratila koja žica treba ići do svakog Arduino pina.

Gurnuo sam vrpčane kabele do stražnjeg odjeljka i zalemio neke trake zaglavlja iglica na vrpčani kabel za uključivanje u Arduino.

Također sam montirao prekidač za napajanje na stražnji poklopac i spojio ga na utikač baterije za spajanje na punjivu bateriju za napajanje igre. Također možete koristiti 9V bateriju ako želite.

Na kraju, morat ćete postaviti servo za zaključavanje prema rubu vrata tako da prelazi preko ruba u kutiji, a ruka se može gurnuti prema unutarnjoj strani usne kako bi zaključala kutiju. Ovo nije najjači mehanizam za zaključavanje, ali je stvarno jednostavan i dobro funkcionira u svrhu igre.

Korak 3: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina
Programiranje Arduina
Programiranje Arduina

Neću detaljno pregledavati kôd kao i obično jer ga ima dosta. Napravio sam detaljan opis objašnjavajući svaki njegov dio koji možete pronaći zajedno sa preuzimanjem koda putem ove veze - Crack The Code Game Code.

U sažetku; započinjemo uvozom knjižnica za kontrolu OLED zaslona i servo.

Zatim postavljamo parametre prikaza i stvaramo sve naše varijable. Postoji nekoliko varijabli posvećenih praćenju okretaja davača jer se to radi prekidima na rastućem rubu na pinovima 2 i 3.

Postoje dva kreirana niza koda, za pohranu nasumično generiranog koda i jedan za spremanje trenutnih pretpostavki korisnika.

U funkciji postavljanja pokrećemo zaslon, priključujemo servo, postavljamo načine IO pin -a, a zatim na ekranu prikazujemo tekstualnu animaciju Crack The Code.

Funkcije petlje trepere LED diodama i prikazuju poruku push to lock safe koja zatim čeka dok korisnik ne pritisne brojčanik za početak igre. Isti kôd pokreće se na kraju igre koji tada prikazuje broj pokušaja i čeka da pritisnete brojčanik da započne novu igru.

Na tipki kodera postoji neki kôd za odvraćanje i jednom pritisnut, servo zaključava sef i generira se slučajni kôd. Kôd tada poziva funkciju koja traži od korisnika da unese svoju pretpostavku, a zatim drugu da provjeri pogodu, to se ponavlja sve dok korisnik ne pogodi kôd ispravno.

Postoji funkcija za ažuriranje prikazanog koda koja se poziva svaki put kada se koder okrene i prikazani kôd treba promijeniti.

Funkcija za generiranje novog koda jednostavno dodjeljuje slučajnu znamenku svakom od četiri elementa u nizu kodova.

Funkcija za unos pogodaka koda omogućuje korisniku da odabere znamenku pomoću kodera, a zatim potvrdi svaki unos znamenke pritiskom na koder prema dolje.

Funkcija pogađanja kontrolnog koda zatim pregledava pogađeni kôd i odlučuje koliko je znamenki točno, a koliko na ispravnom mjestu.

Funkcija ažuriranja LED dioda mijenja ispravni broj crvenih i zelenih LED dioda na temelju nagađanja korisnika.

Startup ani funkcija pri pokretanju prikazuje animaciju Crack The Code.

Na kraju, dvije funkcije prekida upravljaju ulazom sa davača, jedna povećava cifru prema gore kada se okreće u smjeru kazaljke na satu i jedna prema dolje kada se okreće u smjeru suprotnom od kazaljke na satu.

Korak 4: Igranje igre Crack the Code

Igranje igre Crack Code
Igranje igre Crack Code
Igranje igre Crack Code
Igranje igre Crack Code
Igranje igre Crack Code
Igranje igre Crack Code
Igranje igre Crack Code
Igranje igre Crack Code

Najbolji način da naučite igrati igru je gledajući video na početku, postoje dva primjera igre koja se igra pred kraj.

Sef je u početku otključan, što vam omogućuje da stavite nešto u njega.

Zatim pritisnite gumb za zaključavanje sefa i generirate novi kôd.

Pogodjeni kôd se unosi pomoću kotačića za povećanje znamenke i pritiskom na brojčanik za prelazak na sljedeću znamenku ili za potvrđivanje koda nakon što su odabrane sve četiri znamenke.

LED diode na prednjoj strani tada se pale kako bi nam pokazale što je točno po našem nahođenju.

Zatim koristite ovu povratnu informaciju za sljedeće nagađanje dok ne uspijete pogoditi točan kôd i ponovno otvoriti sef. Nakon što unesete ispravan kôd, sef se otključava i prikazuje se broj pokušaja koji su vam potrebni da razbijete kôd.

Uživajte u izgradnji vlastitog spremnika za čuvanje koda. Ako vam se svidio ovaj Instructable, razmislite o glasovanju za njega na Arduino natjecanju.

Arduino natjecanje 2020
Arduino natjecanje 2020
Arduino natjecanje 2020
Arduino natjecanje 2020

Druga nagrada na Arduino natjecanju 2020

Preporučeni: