Inhoudsopgave:

3D4x Game: 3D 4x4x4 Tic-Tac-Toe - Ajarnpa
3D4x Game: 3D 4x4x4 Tic-Tac-Toe - Ajarnpa

Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe - Ajarnpa

Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe - Ajarnpa
Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe - Making the Panels 2024, November
Anonim
Image
Image
3D4x-spel: 3D 4x4x4 boter-kaas-en-eieren
3D4x-spel: 3D 4x4x4 boter-kaas-en-eieren
3D4x-spel: 3D 4x4x4 boter-kaas-en-eieren
3D4x-spel: 3D 4x4x4 boter-kaas-en-eieren
3D4x-spel: 3D 4x4x4 boter-kaas-en-eieren
3D4x-spel: 3D 4x4x4 boter-kaas-en-eieren

Ben je het zat om dezelfde, oude, saaie, 2-dimensionale boter-kaas-en-eieren te spelen?? Wel, wij hebben de oplossing voor u! Boter-kaas-en-eieren in 3 dimensies!!! Voor 2 spelers, in deze 4x4x4 kubus, krijg je 4 LED's op een rij (in elke richting) en je wint! Jij maakt het. Jij speelt het.

Stap 1: Verzamel componenten en gereedschappen

Verzamel componenten en gereedschappen
Verzamel componenten en gereedschappen

Het meest essentiële onderdeel van deze 3D Tic-Tac-Toe is de LED. We kozen voor de PL9823 die al een geïntegreerde controller heeft. Het heeft vier pinnen (Data-in, Voltage-Supply, Ground, Data-Out) en stelt u in staat om de kleur van de LED gemakkelijk te adresseren en te regelen. De rasterstructuur kan op veel verschillende manieren worden gebouwd, maar voor ons was dit de goedkoopste, stevigste en meest esthetische optie.

Componentenlijst:

  • Arduino (we gebruikten Uno)
  • PL9823 LED's (minstens 64)
  • Houten spiesjes (24cm lang)
  • Bedrading (we gebruikten de binnenkant van een oude ethernetkabel)
  • Knoppen (momentele toestand)
  • 7 Weerstanden (220Ohm)
  • Breadboards (1 voor knoppen en spelen, 1 voor eenvoudige paneelverbindingen met Arduino)
  • Polystyreenschuimplaat (~2x30x30cm om de panelen te maken)
  • Schuimpolystyreenblok (~7x25x25cm als basis voor het hele rooster)

Gereedschapslijst:

  • Soldeerbout
  • soldeer tin
  • Lijm
  • Richtliniaal met liniaal
  • Tang
  • Draadstrippers
  • Draadsnijders
  • Schaar
  • Markeerstift
  • Pen
  • Pincet

Stap 2: Maak het raster

Image
Image
Maak het raster
Maak het raster
Maak het raster
Maak het raster

We maken individueel 4 panelen van 4x4 LED's.

  • 00: Haal piepschuim om de lay-out van het paneel te maken. Teken het patroon. In dit geval gebruikten we een afstand van 6 cm tussen de LED's met 2 cm aan de uiteinden.
  • 01: Steek de LED-pinnen in het piepschuim. Belangrijk! Zorg ervoor dat u alle LED's in dezelfde richting plaatst. In ons geval hebben we ervoor gekozen om de uitvoerpin naar links te plaatsen.
  • 02: Plaats nu de houten staafspiesjes aan beide zijden van de LED's in rijen, zorg ervoor dat de punten allemaal in dezelfde richting wijzen. Lijm het stokje aan de zijkanten van de LED-lampen en laat drogen.
  • 03: Doe hetzelfde voor de kolommen met houten spiesjes aan beide zijden van de LED's, zorg ervoor dat de punten allemaal in dezelfde richting wijzen. Lijm en laat drogen.
  • 04: Verwijder voorzichtig door de LED's rondom los te maken. Til het paneel eruit en draai het om. Lijm de achterkant zodat het veiliger is.
  • 05: Nadat alles droog is, buigt u de pinnen om het solderen te vergemakkelijken en om te voorkomen dat elektrische leidingen elkaar kruisen. We gebruiken een pincet en buigen de pin dicht bij de basis.
  • 06: Bereid nu de draden voor. We gebruikten een oude ethernetkabel met aan de binnenkant 4 getwiste draden. Verwijder de isolatie en zorg ervoor dat u de kleine draden niet doorknipt. Draai vervolgens los, kies uw kleuren om overeen te komen met de verschillende lijnen en knip op de juiste lengte tussen de LED's. Strip vervolgens een klein beetje van de isolatie van de uiteinden. We kozen voor grond=groen, Vdc=blauw, data in/uit=wit.
  • 07: Solderen! Er zijn veel aansluitingen (64x4), dus wees voorzichtig om correct te solderen.
  • 08: Verwijder het paneel en plaats het op de schuimbasis!

Stap 3: Maak de joystick

Maak de joystick
Maak de joystick
Maak de joystick
Maak de joystick

We hebben een breadboard gebruikt om de joystick te maken om door het raster te navigeren en de selectie te maken. We hebben jumpers, weerstanden en knoppen geplaatst om het circuit te vormen (zie diagram) dat de richtingcontroller definieert (6 knoppen, 1 voor elke richting) en de selectieknop (voert de zet van de speler in). De 5V en de aarde zijn verbonden met de relatieve poorten op Arduino. Voor de analoge en digitale ingangspinnen hebben we respectievelijk de Arduino-poorten A5 en 2 gekozen.

De selectieknop heeft een basisschema met de anti-bundelweerstand. Het richtingscommando is gebaseerd op een weerstandsladder die werkt als spanningsdelercircuit: de spanning naar de analoge ingang is afhankelijk van de ingedrukte knop en wordt door Arduino geïnterpreteerd als één commandorichting.

Stap 4: Schrijf de code

Schrijf de code
Schrijf de code

We hebben onze code voor u geüpload:) Maak eerst de elektrische verbindingen met de Arduino. We hebben een mini breadboard naast de Arduino gezet om het wat makkelijker te maken. We hebben de Arduino "GND" en "5V" aangesloten op 2 lijnen van de breadboard, waar we vervolgens de respectieve aarde en Vdc van elk paneel hebben aangesloten. Voor de Data-In en Data-Out hebben we 4 verschillende Arduino-pinnen gekozen, 13, 10, 7 en 4 voor elk van de panelen. De PL9823 LED's kunnen individueel worden geadresseerd door de numerieke volgorde van de LED in serie. Als u bijvoorbeeld de 1e LED een bepaalde kleur wilt geven, adresseer LED[0]. Voor de 16e LED, adres LED[15]. Nu ben je klaar om te coderen en te spelen met de mooie lichten! Hieronder volgt een algemene uitleg van de code van het 3D boter-kaas-en-eieren spel.

De code van het 3D4x-spel

We maken gebruik van de fastled.h-bibliotheek waarmee we de microgestuurde LED's kunnen beheren.

De kubus wordt virtueel opgeslagen in de 3D integer array "TTTMap", waarbij elk element in 1 van de 5 toestanden kan zijn volgens het corresponderende licht, eigendom is van: 0= geen speler, 1= speler 1, 2= speler 2, 3= speler 1 in een winnende combinatie, en 3= speler 2 in een winnende combinatie. Om de elementen van de virtuele kubus in TTTMap in kaart te brengen met de echte LED's, worden de integer-arrays LEDMap0, LEDMap1, LEDMap2, LEDMap3 gebruikt.

De "setup" -functie initialiseert de Arduino-poorten die op het paneel zijn aangesloten, initialiseert alle LED's naar "zwart" en initialiseert de elementen van de TTTMap-array naar 0.

De "loop"-functie voert de functies "ReadButtonInput()", "SendLED()" uit en, in het geval dat een speler wint, de functie "VictoryAnimation()". De eerste functie leest de analoge ingang van het richtingscommando en de digitale ingang van de selectieknop. De booleaanse variabelen "ButtonPushed" en "SelectPushed" worden gebruikt om te voorkomen dat de beweging wordt herhaald met de lussnelheid wanneer de knop wordt ingedrukt. De functie "SendLED()" ververst de status van de LED's door het seriële stuursignaal te verzenden volgens de gegevens in de TTTMap. Een fundamentele functie is "CheckVictory()" die wordt aangeroepen door "ReadButtonInput()" elke keer dat de selectieknop wordt ingedrukt. Deze functie controleert of het geselecteerde punt in de ruimte een winnende combinatie maakt met de omringende pinnen. In het geval van een winnende combinatie worden de punten in de TTTMap getekend met nummer 3 of 4, afhankelijk van de speler die wint, en de spannende “VictoryAnimation()” loopt!

Om opnieuw te spelen, druk je gewoon op de reset-knop op de Arduino:)

Stap 5: Speel met je vrienden

Speel met je vrienden!
Speel met je vrienden!
Speel met je vrienden!
Speel met je vrienden!
Speel met je vrienden!
Speel met je vrienden!

Geen uitleg hier nodig… GENIET!

Aanbevolen: