Indholdsfortegnelse:

Crack the Code Game, Arduino Based Puzzle Box: 4 trin (med billeder)
Crack the Code Game, Arduino Based Puzzle Box: 4 trin (med billeder)

Video: Crack the Code Game, Arduino Based Puzzle Box: 4 trin (med billeder)

Video: Crack the Code Game, Arduino Based Puzzle Box: 4 trin (med billeder)
Video: Don't Leave Her If You Can't Let Her Go - Chris Young 2024, Juli
Anonim
Image
Image
Crack the Code Game, Arduino Based Puzzle Box
Crack the Code Game, Arduino Based Puzzle Box
Crack the Code Game, Arduino Based Puzzle Box
Crack the Code Game, Arduino Based Puzzle Box

Tinkercad -projekter »

I denne Instructable vil jeg vise dig, hvordan du opbygger dit eget crack -kodespil, hvor du bruger en roterende encoderhjul til at gætte den tilfældigt genererede kode til pengeskabet. Der er 8 lysdioder på forsiden af pengeskabet for at fortælle dig, hvor mange af de cifre, du har gættet er korrekte, og hvor mange også er på det rigtige sted.

Pengeskabet er i første omgang åbent, så du kan putte noget i det indvendige rum. Arduino og batteri er placeret i et separat rum på bagsiden. Du skubber derefter på skiven for at låse pengeskabet, hvilket gøres ved hjælp af en servo på indersiden af døren. Du skal derefter indtaste koden ved at dreje på drejeknappen for at vælge cifrene og trykke på drejeknappen for at bekræfte hvert ciffer. Når dit fjerde ciffer er valgt, viser pengeskabet, hvor mange af dine cifre der er korrekte, og hvor mange af dem er på det rigtige sted ved hjælp af de røde og grønne lysdioder på døren.

En rød LED angiver et korrekt ciffer og en grøn LED angiver, at den også er på det rigtige sted. Så du skal tænde alle fire røde og grønne lysdioder for at knække koden og åbne pengeskabet.

Pengeskabet holder styr på, hvor mange gæt du har foretaget for at knække koden, og dette vises, når du har formået at knække det. Det lyder måske kompliceret i starten, men det er faktisk ikke så svært, du skal bare huske og bygge videre på dine tidligere gæt. Det meste af tiden burde du være i stand til at knække koden i 5 til 10 gæt, afhængigt af hvor heldige dine første gæt er.

Hvis du nyder denne instruks, kan du overveje at stemme på den i Arduino -konkurrencen.

Forbrugsvarer

For at bygge denne Crack The Code -pengeskab skal du bruge:

  • Arduino Uno - Køb her
  • I2C OLED Display - Køb her
  • Trykknapkoder - Køb her
  • 4 x 5 mm røde lysdioder - Køb her
  • 4 x 5 mm grønne lysdioder - Køb her
  • 8 x 220Ω modstande - Køb her
  • Micro Servo - Køb her
  • Båndkabel - Køb her
  • Header Strips - Køb her
  • Afbryder - Køb her
  • 3 mm MDF -ark - Køb her

Du skal også bruge nogle grundlæggende værktøjer, trælim, en limpistol og et loddejern.

Delene til pengeskabet skal laserskæres. Hvis du ikke har adgang til en laserskærer, kan du overveje at bruge en online laserskæringstjeneste, de er blevet ganske overkommelige og vil skære og levere komponenterne til din dør.

Dette er laserskæreren, som jeg har brugt i Instructable - K40 laserskærer

Trin 1: Saml æsken

Saml æsken
Saml æsken
Saml æsken
Saml æsken
Saml æsken
Saml æsken
Saml æsken
Saml æsken

Jeg har designet pengeskabet i Inkscape, der skal skæres af 3 mm MDF. Du kan også skære delene fra 3 mm akryl eller krydsfiner, hvis du vil. Hvis du bruger et andet tykkelsesmateriale, skal du justere åbningerne i boksens komponenter, så de passer korrekt sammen.

Du kan downloade laserskæringsfilerne her.

Der er 6 paneler, der udgør kassens ydersider, bagsiden og fronten har udskæringer i dem til for- og bagdøre. Panelerne er mærket i udskrivningsfilen, så du kan holde styr på dem.

Skiven består også af nogle laserskårne stykker, som derefter limes sammen.

Der er tre dekorative paneler, der sidder fast på toppen og to sider af kassen for at få det til at ligne mere som et pengeskab. Der er også to paneler, der udgør døren og et skillepanel, der går ind i midten af kassen for at adskille det sikre rum fra elektronikrummet.

Brikkerne passer på et enkelt stykke MDF 400 x 500 mm og kan opdeles i mindre stykker, hvis din laserskærer ikke er stor nok til at skære alle stykkerne på én gang.

Jeg startede med at lime de dekorative paneler på toppen og siderne først. Sørg for, at du har brikkerne i den rigtige rækkefølge, så du ved, hvilke der er hvilke. Der er tre forskellige stykker, toppen og bunden er ens, siderne er ens og for- og bagside er ens.

Når panelerne er tørre, kan du samle kassen.

Sørg for, at udskæringerne til midterdeleren er på siderne. Disse skal føre alle ledninger fra forsiden af kassen til bagsiden af kassen, hvor Arduino og batteri sidder.

Hængslerne er også laserskårne og limes bare på plads, når du har stillet døren op. Sørg for, at de er parallelle med døren, eller du har svært ved at åbne den. Du skal muligvis også slibe lidt væk fra den indvendige hængslede kant af døren, så den ikke gnider på kanten af kassen, når den bevæger sig forbi.

Lim de fire firkanter ind i hjørnerne bag bagpanelet for at huller skruerne til bagdækslet.

Du kan derefter bore hullerne til skruerne og begynde at montere skærmen, Arduino, bagdækslet og endelig encoderen.

Trin 2: Tilslut elektronikken

Tilslut elektronikken
Tilslut elektronikken
Tilslut elektronikken
Tilslut elektronikken
Tilslut elektronikken
Tilslut elektronikken

Jeg designede kredsløbet på et brødbræt i Tinkercad Circuits og tilføjede i OLED -displayet bagefter.

Vi har 8 lysdioder tilsluttet de digitale IO -ben 6 til 13. Låseservoen er forbundet til pin 5. Encoderen er forbundet til ben 2, 3 og 4, og OLED -displayet er forbundet til Arduino's I2C -interface.

Jeg brugte en 220 ohm modstand til hver LED, loddet direkte på den negative led, og jeg sluttede komponenterne sammen ved hjælp af farvet båndkabel for at holde ledningerne pæne og for at holde styr på, hvilken ledning der skulle gå til hver Arduino -pin.

Jeg skubbede båndkablerne igennem til bagkammeret og loddet nogle stifthovedstrimler på båndkablet for at tilslutte Arduino.

Jeg monterede også en afbryder på bagdækslet og sluttede dette til et batteristik for at forbinde til et genopladeligt batteri for at drive spillet. Du kan også bruge et 9V batteri, hvis du vil.

Endelig skal du placere låseservoen mod kanten af døren, så den passerer over læben i kassen, og armen kan skubbe op mod indersiden af læben for at låse kassen. Dette er ikke den stærkeste låsemekanisme, men den er virkelig enkel, og den fungerer godt til spillets formål.

Trin 3: Programmering af Arduino

Programmering af Arduino
Programmering af Arduino
Programmering af Arduino
Programmering af Arduino

Jeg vil ikke gå igennem koden så detaljeret som normalt, da der er ret meget til det. Jeg har lavet en detaljeret opskrivning, der forklarer hver del af den, som du kan finde sammen med download af koden via dette link - Crack The Code Game Code.

Sammenfattende; Vi starter med at importere biblioteker for at styre OLED -displayet og servoen.

Vi indstiller derefter parametrene for displayet og opretter alle vores variabler. Der er en hel del variabler dedikeret til at spore encoder -svingene, da disse udføres gennem stigende kantafbrydelser på ben 2 og 3.

Der er oprettet to kodearrayer, for at gemme den tilfældigt genererede kode og en for at gemme brugernes aktuelle gæt.

I opsætningsfunktionen starter vi displayet, vedhæfter servoen, indstiller IO pin -tilstande og viser derefter tekst -animationen Crack The Code på displayet.

Loop -funktionerne blinker LED'erne og viser meddelelsen push to lock safe, som derefter venter, indtil brugeren trykker på drejeknappen for at starte spillet. Den samme kode køres i slutningen af et spil, som derefter viser antallet af forsøg og venter på et opkaldstryk for at starte et nyt spil.

Der er nogle debouncing -kode på encoderens trykknap, og når den er skubbet til, låser servoen pengeskabet, og der genereres en tilfældig kode. Koden kalder derefter en funktion for at bede brugeren om at indtaste deres gæt og derefter en anden for at kontrollere gætten, dette gentages, indtil brugeren gætter koden korrekt.

Der er en funktion til at opdatere den viste kode, som kaldes hver gang, encoderen drejes, og den viste kode skal ændres.

Funktionen til at generere en ny kode tildeler ganske enkelt et tilfældigt ciffer til hvert af de fire elementer i kodearrayet.

Funktionen til at indtaste et kode gæt gør det muligt for brugeren at vælge et ciffer ved hjælp af encoderen og derefter bekræfte hvert ciffer input ved at trykke encoderen ned.

Checkkodens gætfunktion kigger derefter gennem den gætte kode og beslutter, hvor mange cifre der er korrekte, og hvor mange der er på det korrekte sted.

Opdaterings -LED'ernes funktion skifter det korrekte antal røde og grønne LED'er baseret på brugernes gæt.

Start ani -funktionen viser Crack The Code -animationen ved opstart.

Endelig administrerer to afbrydelsesfunktioner input fra encoderen, en øger cifret opad, når den drejes med uret og en nedad, når den drejes mod uret.

Trin 4: Spil Crack the Code Game

At spille Crack the Code Game
At spille Crack the Code Game
At spille Crack the Code Game
At spille Crack the Code Game
At spille Crack the Code Game
At spille Crack the Code Game
At spille Crack the Code Game
At spille Crack the Code Game

Den bedste måde at lære at spille spillet på er ved at se videoen i begyndelsen, der er to eksempler på, at spillet bliver spillet nær slutningen.

Pengeskabet er i første omgang låst op, så du kan lægge noget i det.

Du skubber derefter på drejeknappen for at låse pengeskabet og generere en ny kode.

Den gættede kode indtastes ved hjælp af drejeknappen for at øge cifret og et tryk på drejeknappen for at gå til det næste ciffer eller for at bekræfte koden, når alle fire cifre er valgt.

Lysdioderne på forsiden lyser derefter for at fortælle os, hvad der var korrekt i vores gæt.

Du bruger derefter denne feedback til at komme med dit næste gæt, indtil du er i stand til at gætte den korrekte kode og åbne pengeskabet igen. Når du har indsat den korrekte kode, låses pengeskabet op, og antallet af forsøg, det tog dig at knække koden, vises.

Nyd at bygge din egen crack the code safe box. Hvis du nød denne instruks, kan du overveje at stemme på den i Arduino -konkurrencen.

Arduino konkurrence 2020
Arduino konkurrence 2020
Arduino konkurrence 2020
Arduino konkurrence 2020

Anden pris i Arduino -konkurrencen 2020

Anbefalede: