Inhoudsopgave:

Crack the Code Game, Arduino Based Puzzle Box - Ajarnpa
Crack the Code Game, Arduino Based Puzzle Box - Ajarnpa

Video: Crack the Code Game, Arduino Based Puzzle Box - Ajarnpa

Video: Crack the Code Game, Arduino Based Puzzle Box - Ajarnpa
Video: Crack The Code Game, Built Into A DIY Safe Box 2024, Juli-
Anonim
Image
Image
Crack the Code Game, op Arduino gebaseerde puzzeldoos
Crack the Code Game, op Arduino gebaseerde puzzeldoos
Crack the Code Game, op Arduino gebaseerde puzzeldoos
Crack the Code Game, op Arduino gebaseerde puzzeldoos

Tinkercad-projecten »

In deze Instructable laat ik je zien hoe je je eigen crack-the-codespel kunt bouwen waarin je een draaiknop gebruikt om de willekeurig gegenereerde code naar de kluis te raden. Er zijn 8 LED's aan de voorkant van de kluis om u te vertellen hoeveel van de cijfers die u hebt geraden correct zijn en hoeveel er ook op de juiste plaats staan.

De kluis is in eerste instantie open, waardoor je iets in het binnenvak kunt doen. De Arduino en batterij zijn ondergebracht in een apart compartiment aan de achterkant. Je drukt vervolgens op de draaiknop om de kluis te vergrendelen, wat gebeurt met behulp van een servo aan de binnenkant van de deur. Vervolgens moet u de code invoeren door aan de knop te draaien om de cijfers te selecteren en door op de knop te drukken om elk cijfer te bevestigen. Nadat uw vierde cijfer is gekozen, geeft de kluis aan hoeveel van uw cijfers correct zijn en hoeveel ervan op de juiste plaats zitten met behulp van de rode en groene LED's op de deur.

Een rode LED geeft een correct cijfer aan en een groene LED geeft aan dat het ook op de juiste plaats zit. Je moet dus alle vier de rode en groene LED's laten branden om de code te kraken en de kluis te openen.

De kluis houdt bij hoeveel keer je hebt geraden om de code te kraken en dit wordt weergegeven zodra je erin geslaagd bent om de code te kraken. Het klinkt in het begin misschien ingewikkeld, maar het is eigenlijk niet zo moeilijk, je hoeft alleen maar te onthouden en voort te bouwen op je eerdere gissingen. Meestal zou je de code in 5 tot 10 keer moeten kunnen kraken, afhankelijk van hoeveel geluk je aanvankelijke schattingen hebben.

Als je deze Instructable leuk vindt, overweeg dan om ervoor te stemmen in de Arduino-wedstrijd.

Benodigdheden

Om deze Crack The Code-kluis te bouwen, heb je het volgende nodig:

  • Arduino Uno - Koop hier
  • I2C OLED-scherm – Koop hier
  • Drukknop-encoder - hier kopen
  • 4 x 5 mm rode LED's - hier kopen
  • 4 x 5 mm groene LED's - hier kopen
  • 8 x 220Ω Weerstanden – Koop hier
  • Micro Servo – Koop hier
  • Lintkabel - hier kopen
  • Headerstrips - Koop hier
  • Aan / uit-schakelaar - hier kopen
  • 3 mm MDF-plaat - hier kopen

Je hebt ook wat basisgereedschap, houtlijm, een lijmpistool en een soldeerbout nodig.

De onderdelen voor de kluis moeten met een laser worden gesneden. Als je geen toegang hebt tot een lasersnijder, overweeg dan om een online lasersnijservice te gebruiken, ze zijn redelijk betaalbaar geworden en zullen de componenten snijden en aan je deur leveren.

Dit is de lasersnijder die ik heb gebruikt in de Instructable - K40 Laser Cutter

Stap 1: Monteer de doos

Monteer de doos
Monteer de doos
Monteer de doos
Monteer de doos
Monteer de doos
Monteer de doos
Monteer de doos
Monteer de doos

Ik ontwierp de kluis in Inkscape, te snijden uit 3 mm MDF. Je kunt de onderdelen ook uit 3 mm acryl of multiplex snijden als je dat wilt. Als u een materiaal met een andere dikte gebruikt, moet u de sleuven in de dooscomponenten aanpassen zodat ze goed in elkaar passen.

U kunt de lasersnijbestanden hier downloaden.

Er zijn 6 panelen die de buitenkant van de doos vormen, de achterkant en voorkant hebben uitsparingen voor de voor- en achterdeuren. De panelen zijn gelabeld in het printbestand zodat u ze kunt volgen.

De wijzerplaat is ook gemaakt met behulp van enkele lasergesneden stukken die vervolgens aan elkaar worden gelijmd.

Er zijn drie decoratieve panelen die aan de bovenkant en twee zijkanten van de doos zijn geplakt om het meer op een kluis te laten lijken. Er zijn ook twee panelen die de deur vormen en een scheidingspaneel dat in het midden van de doos gaat om het kluiscompartiment van het elektronicacompartiment te scheiden.

De stukken passen op één stuk MDF 400 x 500 mm en kunnen in kleinere stukken worden verdeeld als uw lasersnijder niet groot genoeg is om alle stukken in één keer te snijden.

Ik begon eerst de decoratieve panelen op de boven- en zijkanten te lijmen. Zorg ervoor dat je de stukjes in de juiste volgorde hebt, zodat je weet welke welke zijn. Er zijn drie verschillende stukken, de boven- en onderkant zijn hetzelfde, de zijkanten zijn hetzelfde en de voor- en achterkant zijn hetzelfde.

Als de panelen droog zijn, kun je de doos in elkaar zetten.

Zorg ervoor dat de uitsparingen voor de middenverdeler aan de zijkanten zitten. Deze zijn bedoeld om alle draden van de voorkant van de doos naar de achterkant van de doos te leiden waar de Arduino en de batterij zitten.

De scharnieren zijn ook met een laser gesneden en worden gewoon op hun plaats gelijmd zodra je de deur hebt uitgelijnd. Zorg ervoor dat ze evenwijdig aan de deur staan, anders heb je moeite om hem te openen. Mogelijk moet u ook een beetje van de binnenste scharnierende rand van de deur schuren, zodat deze niet over de rand van de doos wrijft als deze voorbijgaat.

Lijm de vier vierkanten in de hoeken achter het achterpaneel om de schroeven voor de achterklep te boren.

U kunt dan de gaten voor de schroeven boren en beginnen met het monteren van het scherm, de Arduino, de achterkant en als laatste de encoder.

Stap 2: Sluit de elektronica aan

Sluit de elektronica aan
Sluit de elektronica aan
Sluit de elektronica aan
Sluit de elektronica aan
Sluit de elektronica aan
Sluit de elektronica aan

Ik ontwierp het circuit op een breadboard in Tinkercad Circuits en voegde het daarna toe in het OLED-display.

We hebben 8 LED's aangesloten op de digitale IO-pinnen 6 tot 13. De vergrendelingsservo is aangesloten op pin 5. De encoder is aangesloten op pinnen 2, 3 en 4 en het OLED-display is aangesloten op de I2C-interface van de Arduino.

Ik gebruikte een weerstand van 220 ohm voor elke LED, direct gesoldeerd op de negatieve led en ik verbond de componenten met elkaar met behulp van gekleurde lintkabel om de bedrading netjes te houden en om bij te houden welke draad naar elke Arduino-pin moest gaan.

Ik duwde de lintkabels door naar het achtercompartiment en soldeerde enkele pin-headerstrips op de lintkabel om op de Arduino aan te sluiten.

Ik heb ook een aan / uit-schakelaar op de achterklep gemonteerd en deze op een batterijstekker aangesloten om verbinding te maken met een oplaadbare batterij om het spel van stroom te voorzien. Je kunt ook een 9V-batterij gebruiken als je dat wilt.

Ten slotte moet u de vergrendelingsservo richting de rand van de deur plaatsen, zodat deze over de lip in de doos gaat en de arm tegen de binnenkant van de lip kan duwen om de doos te vergrendelen. Dit is niet het sterkste vergrendelingsmechanisme, maar het is heel eenvoudig en het werkt goed voor het doel van het spel.

Stap 3: Programmeren van de Arduino

De Arduino programmeren
De Arduino programmeren
De Arduino programmeren
De Arduino programmeren

Ik ga de code niet zo gedetailleerd doornemen als gewoonlijk, want er is best veel aan de hand. Ik heb een gedetailleerd artikel gemaakt waarin elk onderdeel ervan wordt uitgelegd en dat je samen met de codedownload kunt vinden via deze link - Crack The Code Game Code.

Samengevat; we beginnen met het importeren van bibliotheken om het OLED-display en de servo te bedienen.

Vervolgens stellen we de parameters voor de weergave in en creëren we al onze variabelen. Er zijn nogal wat variabelen gewijd aan het volgen van de encoder-draaiingen, aangezien deze worden gedaan door stijgende flankonderbrekingen op pinnen 2 en 3.

Er zijn twee codearrays gemaakt, een om de willekeurig gegenereerde code op te slaan en een om de huidige gok van de gebruiker op te slaan.

In de setup-functie starten we het display, bevestigen de servo, stellen de IO-pinmodi in en geven vervolgens de Crack The Code-tekstanimatie weer op het display.

De lusfunctie laat de LED's knipperen en geeft het bericht 'Duwen om de kluis te vergrendelen' weer, die vervolgens wacht tot de gebruiker op de knop drukt om het spel te starten. Dezelfde code wordt uitgevoerd aan het einde van een spel, dat vervolgens het aantal pogingen weergeeft en wacht op een druk op de knop om een nieuw spel te starten.

Er is een debouncing-code op de encoder-drukknop en eenmaal ingedrukt, vergrendelt de servo de kluis en wordt een willekeurige code gegenereerd. De code roept dan een functie aan om de gebruiker te vragen zijn gok in te voeren en vervolgens een andere om de gok te controleren, dit wordt herhaald totdat de gebruiker de code correct heeft geraden.

Er is een functie om de weergegeven code bij te werken, die wordt aangeroepen telkens wanneer aan de encoder wordt gedraaid en de weergegeven code moet worden gewijzigd.

De functie om een nieuwe code te genereren, kent eenvoudigweg een willekeurig cijfer toe aan elk van de vier elementen in de codereeks.

Met de functie om een code in te voeren, kan de gebruiker een cijfer selecteren met behulp van de encoder en vervolgens elke ingevoerde cijfer bevestigen door de encoder naar beneden te duwen.

De controlecode-gisfunctie kijkt dan door de geraden code en beslist hoeveel cijfers correct zijn en hoeveel op de juiste plaats.

De functie update-LED's schakelt het juiste aantal rode en groene LED's in op basis van de gok van de gebruiker.

De opstartani-functie toont de Crack The Code-animatie bij het opstarten.

Ten slotte beheren twee interruptfuncties de invoer van de encoder, één die het cijfer naar boven verhoogt wanneer deze met de klok mee wordt gedraaid en één naar beneden wanneer deze tegen de klok in wordt gedraaid.

Stap 4: Het Crack the Code-spel spelen

Het spel Crack the Code spelen
Het spel Crack the Code spelen
Het spel Crack the Code spelen
Het spel Crack the Code spelen
Het spel Crack the Code spelen
Het spel Crack the Code spelen
Het spel Crack the Code spelen
Het spel Crack the Code spelen

De beste manier om het spel te leren spelen, is door de video aan het begin te bekijken. Er zijn twee voorbeelden van het spel dat tegen het einde wordt gespeeld.

De kluis is in eerste instantie ontgrendeld, zodat u er iets in kunt doen.

U drukt vervolgens op de draaiknop om de kluis te vergrendelen en een nieuwe code te genereren.

De geraden code wordt ingevoerd met behulp van de draaiknop om het cijfer te verhogen en een druk op de draaiknop om naar het volgende cijfer te gaan of om de code te bevestigen zodra alle vier de cijfers zijn geselecteerd.

De LED's aan de voorkant lichten dan op om ons te vertellen wat correct was in onze gok.

U gebruikt deze feedback vervolgens om uw volgende gok te doen totdat u de juiste code kunt raden en de kluis opnieuw kunt openen. Nadat u de juiste code heeft ingevoerd, wordt de kluis ontgrendeld en wordt het aantal pogingen weergegeven dat u nodig had om de code te kraken.

Geniet van het bouwen van je eigen kluis voor het kraken van de code. Als je deze Instructable leuk vond, overweeg dan om ervoor te stemmen in de Arduino-wedstrijd.

Arduino-wedstrijd 2020
Arduino-wedstrijd 2020
Arduino-wedstrijd 2020
Arduino-wedstrijd 2020

Tweede prijs in de Arduino-wedstrijd 2020

Aanbevolen: