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, Novembar
Anonim
Image
Image
Crack the Code Game, Arduino Puzzle Box
Crack the Code Game, Arduino Puzzle Box
Crack the Code Game, Arduino Puzzle Box
Crack the Code Game, Arduino Puzzle Box

Tinkercad projekti »

U ovom Instructable -u 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 cifara za koje ste pretpostavili da su tačni, a koliko ih je i na pravom mjestu.

Sef je u početku otvoren i omogućava vam da stavite nešto u unutrašnji pretinac. Arduino i baterija smješteni su u zasebnom odjeljku sa stražnje strane. Zatim pritisnite 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 cifara i pritiskom na brojčanik za potvrdu svake znamenke. Nakon što odaberete svoju četvrtu znamenku, sef prikazuje koliko je vaših cifara ispravno i koliko ih je na ispravnom mjestu pomoću crvene i zelene LED diode na vratima.

Crvena LED označava ispravnu cifru, a zelena LED označava da je i ona na pravom mjestu. Zato morate upaliti sve četiri crvene i zelene LED diode kako biste razbili kod i otvorili sef.

Sef prati koliko ste pogađali da biste razbili kôd, a to se prikazuje nakon što ste ga uspjeli razbiti. U početku može zvučati 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 pogodki, ovisno o tome koliko su vaša početna nagađanja imala sreće.

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

Supplies

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

  • Arduino Uno - Kupite ovdje
  • I2C OLED ekran - kupite ovdje
  • Kodiranje tipki - Kupi ovdje
  • 4 x 5 mm crvene LED diode - kupite ovdje
  • 4 x 5 mm zelene LED diode - kupite ovdje
  • 8 x 220Ω otpornici - kupite ovdje
  • Mikro servo - kupite ovdje
  • Vrpčasti kabel - kupite ovdje
  • Zaglavlja - kupite ovdje
  • Prekidač za napajanje - Kupite ovdje
  • 3 mm MDF list - kupite ovdje

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

Dijelovi sefa moraju biti laserski rezani. Ako nemate pristup laserskom rezaču, razmislite o korištenju mrežne usluge laserskog rezanja, one su postale prilično pristupačne i rezati će i isporučivati 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 Inkscape -u za rezanje od 3 mm MDF -a. Možete i 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 štampanje tako da ih možete pratiti.

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

Postoje tri 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 se uklapaju u 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 gornju i bočnu stranu. Pobrinite se da imate komade u ispravnom redoslijedu 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.

Uvjerite se da su izrezi za središnju pregradu sa strane. Oni služe za povezivanje bilo koje žice od prednje strane kutije do stražnje strane kutije gdje se nalaze Arduino i baterija.

Šarke su također laserski rezane i samo su zalijepljene na mjesto nakon što poravnate vrata. Uvjerite se da su paralelna s vratima jer ćete ih teško otvoriti. Možda ćete također morati malo odbrusiti unutrašnji rub vrata sa šarkama kako se ne bi trljao po rubu 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 ekran, Arduino, stražnji poklopac i na kraju enkoder.

Korak 2: Priključite elektroniku

Priključite elektroniku
Priključite elektroniku
Priključite elektroniku
Priključite elektroniku
Priključite elektroniku
Priključite elektroniku

Dizajnirao sam kolo na matičnoj ploči u Tinkercad krugovima i nakon toga dodao na OLED ekran.

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

Koristio sam otpornik od 220 ohma za svaku LED diodu, lemljen direktno na negativnu žicu i spojio sam komponente pomoću obojenog vrpčnog kabela kako bih ožičenje održao urednim i kako bih pratio koja je žica potrebna za svaki Arduino pin.

Gurnuo sam vrpčane kabele do stražnjeg odjeljka i zalemio neke trake zaglavlja iglica na vrpčani kabel da se priključe 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. Ako želite, možete koristiti i bateriju od 9V.

Na kraju, morate postaviti servo za zaključavanje prema rubu vrata tako da prelazi preko ruba u kutiji, a ruka može gurnuti prema unutrašnjosti usne kako bi zaključala kutiju. Ovo nije najjači mehanizam za zaključavanje, ali je zaista 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.

Ukratko; počinjemo uvozom biblioteka za kontrolu OLED ekrana i serva.

Zatim postavljamo parametre za prikaz i stvaramo sve naše varijable. Postoji nekoliko varijabli posvećenih praćenju okretaja kodera jer se to radi putem prekida s rastućom ivicom na pinovima 2 i 3.

Postoje dva kreirana niza kodova, 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 zatim prikazuje broj pokušaja i čeka da pritisnete brojčanik da započne novu igru.

Na tipki enkodera postoji neki kod za odvraćanje i nakon pritiska servo zaključava sef i generira se slučajni kod. Kôd tada poziva funkciju koja traži od korisnika da unese svoju pretpostavku, a zatim drugu da provjeri pogađanje, 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 koda.

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

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

Funkcija ažuriranja LED dioda prebacuje ispravan broj crvenih i zelenih LED dioda na osnovu nagađanja korisnika.

Startup ani funkcija prikazuje animaciju Crack The Code pri pokretanju.

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 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 se u početku otključava, omogućavajući vam da u njega stavite nešto.

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

Pogađani kôd se unosi pomoću točkića za povećanje cifre i pritiskom na točkić za prelazak na sledeću cifru ili za potvrdu koda kada se izaberu sve četiri cifre.

LED diode na prednjoj strani tada se pale kako bi nam rekle šta je tačno po našim pretpostavkama.

Zatim koristite ovu povratnu informaciju za sljedeće nagađanje dok ne uspijete pogoditi točan kôd i ponovo 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 crack sefa za šifru. Ako vam se svidio ovaj Instructable, razmislite o tome da ga glasate na Arduino natjecanju.

Arduino takmičenje 2020
Arduino takmičenje 2020
Arduino takmičenje 2020
Arduino takmičenje 2020

Druga nagrada na Arduino takmičenju 2020

Preporučuje se: