INHOUDSOPGAWE:

3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 stappe (met foto's)
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 stappe (met foto's)

Video: 3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 stappe (met foto's)

Video: 3D4x-spel: 3D 4x4x4 Tic-Tac-Toe: 5 stappe (met foto's)
Video: Unity 3d blood test 2024, Julie
Anonim
Image
Image
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe
3D4x-spel: 3D 4x4x4 Tic-Tac-Toe

Is u moeg om dieselfde, ou, vervelige, tweedimensionele tic-tac toe te speel ?? Wel, ons het die oplossing vir u! Tic-tac-toe in 3-dimensies !!! Vir 2 spelers, in hierdie 4x4x4 -kubus, kry 4 LED's in 'n ry (in enige rigting) en jy wen! Jy maak dit. Jy speel dit.

Stap 1: Versamel komponente en gereedskap

Versamel komponente en gereedskap
Versamel komponente en gereedskap

Die belangrikste element van hierdie 3D Tic-Tac-Toe is die LED. Ons het die PL9823 gekies wat reeds 'n geïntegreerde beheerder aan die binnekant het. Dit het vier penne (Data-in, Voltage-Supply, Ground, Data-Out) en stel u in staat om die kleur van die LED maklik aan te spreek en te beheer. Die roosterstruktuur kan op baie verskillende maniere gebou word, maar dit was vir ons die goedkoopste, sterkste en mees estetiese opsie.

Komponentelys:

  • Arduino (ons het Uno gebruik)
  • PL9823 LED's (ten minste 64)
  • Houtstokkies (24 cm lank)
  • Bedrading (ons het die binnekant van 'n ou ethernetkabel gebruik)
  • Knoppies (kortstondige toestand)
  • 7 weerstande (220 Ohm)
  • Broodborde (1 vir knoppies en speel, 1 vir maklike paneelverbindings met Arduino)
  • Skuim polistireenbord (~ 2x30x30cm om die panele te maak)
  • Skuim polistireenblok (~ 7x25x25cm as basis vir die hele rooster)

Gereedskaplys:

  • Soldeerbout
  • Soldeerblik
  • Gom
  • Reguit met liniaal
  • Tang
  • Draadstroppers
  • Draadknipper
  • Skêr
  • Merker
  • Pen
  • Pincet

Stap 2: Maak die rooster

Image
Image
Maak die rooster
Maak die rooster
Maak die rooster
Maak die rooster

Ons maak 4 panele van 4x4 LED's afsonderlik.

  • 00: Kry piepschuim om die paneeluitleg te maak. Teken die patroon. In hierdie geval het ons 'n afstand van 6 cm tussen LED's gebruik met 2 cm aan die ente.
  • 01: Steek die LED -penne in die piepschuim. Belangrik! Maak seker dat u al die LED's met dieselfde oriëntasie plaas. In ons geval het ons die uitgangspen gekies om links te wees.
  • 02: Plaas nou die houtstaafstokkies aan beide kante van die LED's in rye, en maak seker dat die punte almal in dieselfde rigting wys. Plak die stokkie aan die kante van die LED -gloeilampe vas en laat droog word.
  • 03: Doen dieselfde met die kolomme van houtstaafspiesstokke aan weerskante van die LED's, en maak seker dat die punte almal in dieselfde rigting wys. Plak en laat droog word.
  • 04: Verwyder dit liggies deur die LED's rondom los te maak. Lig die paneel uit en draai om. Plak die agterkant vas sodat dit veiliger is.
  • 05: As alles droog is, buig u die penne om die soldering makliker te maak en voorkom dat elektriese lyne kruis. Ons gebruik 'n pincet en buig die pen van naby die basis.
  • 06: Berei nou die drade voor. Ons gebruik 'n ou ethernetkabel met drade van vier drade binne. Verwyder die isolasie en wees versigtig om nie die klein drade te sny nie. Kies dan die kleure wat ooreenstem met die verskillende lyne, en sny dit op die regte lengte tussen die LED's. Trek dan 'n bietjie isolasie van die kante af. Ons het grond = groen, Vdc = blou gekies, data in/uit = wit.
  • 07: soldeer! Daar is baie verbindings (64x4), dus wees versigtig om korrek te soldeer.
  • 08: Verwyder die paneel en plaas dit op die skuimbasis!

Stap 3: Maak die joystick

Maak die joystick
Maak die joystick
Maak die joystick
Maak die joystick

Ons gebruik 'n broodbord om die joystick te maak om deur die rooster te navigeer en die keuse te maak. Ons het springers, weerstande en knoppies geplaas om die stroombaan te vorm (sien diagram) wat die rigtingkontroleerder definieer (6 knoppies, 1 vir elke rigting) en die keuseknoppie (gaan na die speler se beweging). Die 5V en die grond is verbind met die relatiewe hawens op Arduino. Vir die analoog en digitale invoerpenne het ons onderskeidelik die Arduino -poorte A5 en 2 gekies.

Die keuseknoppie het 'n basiese skema met die teenstrooiweerstand. Die rigtingopdrag is gebaseer op 'n weerstandsleer wat werk as 'n spanningsverdelerkring: die spanning na die analoog ingang hang af van die ingedrukte knoppie en word deur Arduino geïnterpreteer as 'n opdragrigting.

Stap 4: Skryf die kode neer

Skryf die kode
Skryf die kode

Ons het ons kode opgelaai om te gebruik:) Maak eers die elektriese aansluitings na die Arduino. Ons sit 'n mini -broodbord langs die Arduino om dit 'n bietjie makliker te maak. Ons het die Arduino "GND" en "5V" gekoppel aan 2 lyne van die broodboom waar ons dan die onderskeie grond en Vdc van elke paneel af gekoppel het. Vir die Data-In en Data-Out het ons 4 verskillende Arduino-penne gekies, 13, 10, 7 en 4 vir elk van die panele. Die PL9823 LED's kan individueel aangespreek word volgens die numeriese volgorde van die LED in serie. As u byvoorbeeld die eerste LED in 'n sekere kleur wil aanskakel, spreek LED [0] aan. Vir die 16de LED, adres LED [15]. Nou is u gereed om te kodeer en met die mooi ligte te speel! Hieronder is 'n algemene verduideliking van die kode van die 3D-tic-tac-toe-spel.

Die kode van die 3D4x -spel

Ons gebruik die fastled.h-biblioteek waarmee ons die mikro-beheerde LED's kan bestuur.

Die kubus word feitlik gememoriseer in die 3D -heelgetalreeks "TTTMap", waar elke element in 1 van 5 state kan wees volgens die ooreenstemmende lig: 0 = geen speler nie, 1 = speler 1, 2 = speler 2, 3 = speler 1 in 'n wenkombinasie, en 3 = speler 2 in 'n wenkombinasie. Om die elemente van die virtuele kubus in TTTMap aan die werklike LED's te karteer, word die heelgetal skikkings LEDMap0, LEDMap1, LEDMap2, LEDMap3 gebruik.

Die "opstel" -funksie initialiseer die Arduino -poorte wat aan die paneel gekoppel is, initialiseer alle LED's na "swart" en initialiseer die elemente van die TTTMap -skikking na 0.

Die "lus" -funksie voer die funksies "ReadButtonInput ()", "SendLED ()" uit, en as een speler wen, die funksie "VictoryAnimation ()". Die eerste funksie lees die analoog invoer van die rigtingopdrag en die digitale invoer van die keuseknoppie. Die booleaanse veranderlikes “ButtonPushed” en “SelectPushed” word gebruik om te voorkom dat die beweging met die lussnelheid herhaal word wanneer die knoppie ingedruk word. Die funksie "SendLED ()" verfris die LED's -status deur die seriële beheersignaal te stuur volgens die data in die TTTMap. 'N Fundamentele funksie is "CheckVictory ()" wat elke keer met die drukknoppie deur "ReadButtonInput ()" genoem word. Hierdie funksie kyk of die geselekteerde punt in die ruimte 'n wenkombinasie met die omliggende penne maak. In die geval van 'n wenkombinasie, word die punte in die TTTMap geteken met nommer 3 of 4, volgens die speler wat wen, en die opwindende "VictoryAnimation ()" loop!

Om weer te speel, druk net op die reset -knoppie op die Arduino:)

Stap 5: Speel met jou vriende

Speel met jou vriende!
Speel met jou vriende!
Speel met jou vriende!
Speel met jou vriende!
Speel met jou vriende!
Speel met jou vriende!

Hier is geen verduideliking nodig nie … GENIET!

Aanbeveel: