Innholdsfortegnelse:

3D4x-spill: 3D 4x4x4 Tic-Tac-Toe: 5 trinn (med bilder)
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe: 5 trinn (med bilder)

Video: 3D4x-spill: 3D 4x4x4 Tic-Tac-Toe: 5 trinn (med bilder)

Video: 3D4x-spill: 3D 4x4x4 Tic-Tac-Toe: 5 trinn (med bilder)
Video: Голубая стрела (1958) фильм 2024, Juli
Anonim
Image
Image
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe
3D4x-spill: 3D 4x4x4 Tic-Tac-Toe

Er du lei av å spille den samme, gamle, kjedelige, 2-dimensjonale tic-tac-toe ?? Vel, vi har løsningen for deg! Tic-tac-toe i 3-dimensjoner !!! For 2 spillere, i denne 4x4x4 kuben, får du 4 lysdioder på rad (i alle retninger), og du vinner! Du gjør det. Du spiller det.

Trinn 1: Samle komponenter og verktøy

Samle komponenter og verktøy
Samle komponenter og verktøy

Den viktigste komponenten i denne 3D Tic-Tac-Toe er LED. Vi valgte PL9823 som allerede har en integrert kontroller inne. Den har fire pinner (Data-in, Voltage-Supply, Ground, Data-Out), og lar deg enkelt adressere og kontrollere fargen på LED-en. Nettstrukturen kan bygges på mange forskjellige måter, men for oss var dette det billigste, mest robuste og mest estetiske alternativet.

Komponentliste:

  • Arduino (vi brukte Uno)
  • PL9823 lysdioder (minst 64)
  • Spydpinner av tre (24 cm lange)
  • Kabling (vi brukte innsiden av en gammel ethernet -kabel)
  • Knapper (øyeblikkelig tilstand)
  • 7 motstander (220Ohm)
  • Brødbrett (1 for knapper og spill, 1 for enkle paneltilkoblinger til Arduino)
  • Skumplate av polystyren (~ 2x30x30cm for å lage panelene)
  • Skum polystyrenblokk (~ 7x25x25cm som base for hele rutenettet)

Verktøyliste:

  • Loddejern
  • Loddetinn
  • Lim
  • Rettlinje med linjal
  • Tang
  • Wire strippere
  • Avbitertang
  • Saks
  • Markør
  • Penn
  • Pinsett

Trinn 2: Lag rutenettet

Image
Image
Lag rutenettet
Lag rutenettet
Lag rutenettet
Lag rutenettet

Vi lager 4 paneler med 4x4 lysdioder individuelt.

  • 00: Få isopor for å lage paneloppsettet. Tegn mønsteret. I dette tilfellet brukte vi 6 cm mellomrom mellom lysdioder med 2 cm på endene.
  • 01: Sett LED -pinnene inn i isopor. Viktig! Sørg for å sette inn alle lysdiodene med samme retning. I vårt tilfelle valgte vi utgangspinnen til å være mot venstre.
  • 02: Legg nå trestangspydpinnene på begge sider av lysdiodene i rader, og pass på at punktene alle vender samme retning. Lim pinnen på sidene av LED -pærene og la den tørke.
  • 03: Gjør det samme for søylene med trestangspydpinner på begge sider av lysdiodene, og pass på at punktene alle vender samme retning. Lim og la tørke.
  • 04: Fjern forsiktig ved å løsne lysdiodene rundt. Løft panelet ut og snu. Lim baksiden slik at den er sikrere.
  • 05: Etter at alt er tørt, bøy pinnene for å gjøre lodding enklere og unngå elektriske ledninger fra å krysse. Vi bruker en pinsett og bøyer pinnen fra nær basen.
  • 06: Forbered nå ledningene. Vi brukte en gammel ethernet-kabel som har 4-tvunnede ledninger inni. Fjern isolasjonen, vær forsiktig så du ikke kutter de små ledningene. Deretter fjerner du tvilingen, velger fargene dine for å tilsvare de forskjellige linjene, og kuttes til riktig lengde mellom lysdiodene. Fjern deretter litt av isolasjonen fra endene. Vi valgte bakken = grønn, Vdc = blå, data inn/ut = hvit.
  • 07: Lodding! Det er mange tilkoblinger (64x4), så vær forsiktig med å lodde riktig.
  • 08: Fjern panelet, og legg det på skumfoten!

Trinn 3: Lag styrespaken

Lag styrespaken
Lag styrespaken
Lag styrespaken
Lag styrespaken

Vi brukte et brødbrett til å lage joysticken for å navigere i rutenettet og velge. Vi plasserte hoppere, motstander og knapper for å danne kretsen (se diagram) som definerer retningskontrolleren (6 knapper, 1 for hver retning) og valgknappen (går inn i spillerens trekk). 5V og bakken er koblet til de relative portene på Arduino. For de analoge og digitale inngangspinnene valgte vi henholdsvis Arduino -portene A5 og 2.

Valgknappen har et grunnleggende opplegg med motbunking motstand. Retningskommandoen er basert på en motstandsstige som fungerer som spenningsdelerkrets: spenningen til den analoge inngangen avhenger av den trykte knappen og blir tolket av Arduino som en kommandoretning.

Trinn 4: Skriv koden

Skriv koden
Skriv koden

Vi har lastet opp koden vår slik at du kan bruke den:) Først må du lage de elektriske tilkoblingene til Arduino. Vi legger et mini -brødbrett ved siden av Arduino for å gjøre det litt enklere. Vi koblet Arduino "GND" og "5V" til 2 linjer i brødbåten hvor vi deretter plugget den respektive bakken og Vdc fra hvert panel. For Data-In og Data-Out valgte vi 4 forskjellige Arduino-pinner, 13, 10, 7 og 4 for hver av panelene. PL9823 -lysdiodene kan adresseres individuelt i numerisk rekkefølge på LED -ene i serie. Hvis du for eksempel vil slå på den første lysdioden til en bestemt farge, adresser du LED [0]. For den 16. LED, adresse LED [15]. Nå er du klar til å kode og leke med de vakre lysene! Nedenfor er en generell forklaring på koden til 3D tic-tac-toe-spillet.

Koden til 3D4x -spillet

Vi bruker fastled.h-biblioteket som lar oss administrere de mikrostyrte lysdiodene.

Kuben lagres praktisk talt i 3D -heltallsmatrisen "TTTMap", hvor hvert element kan være i 1 av 5 tilstander i henhold til det tilsvarende lyset eies av: 0 = ingen spiller, 1 = spiller 1, 2 = spiller 2, 3 = spiller 1 i en vinnerkombinasjon, og 3 = spiller 2 i en vinnerkombinasjon. For å kartlegge elementene i den virtuelle kuben i TTTMap til de virkelige lysdiodene, brukes heltallsarrayene LEDMap0, LEDMap1, LEDMap2, LEDMap3.

“Oppsett” -funksjonen initialiserer Arduino -portene som er koblet til panelet, initialiserer alle lysdiodene til “svart” og initialiserer elementene i TTTMap -matrisen til 0.

"Loop" -funksjonen kjører funksjonene "ReadButtonInput ()", "SendLED ()", og hvis en spiller vinner, funksjonen "VictoryAnimation ()". Den første funksjonen leser den analoge inngangen til retningskommandoen og den digitale inngangen til valgknappen. De boolske variablene “ButtonPushed” og “SelectPushed” brukes for å unngå at bevegelsen gjentas med sløyfehastigheten når knappen holdes inne. Funksjonen "SendLED ()" oppdaterer LED -statusene ved å sende det serielle kontrollsignalet i henhold til dataene i TTTMap. En grunnleggende funksjon er "CheckVictory ()" som kalles med "ReadButtonInput ()" hver gang du trykker på valgknappen. Denne funksjonen sjekker om det valgte punktet i mellomrommet utgjør en vinnende kombinasjon med de omkringliggende pinnene. Hvis du vinner en kombinasjon, blir poengene på TTTMap signert med nummer 3 eller 4, i henhold til spilleren som vinner, og den spennende “VictoryAnimation ()” løper!

For å spille igjen, bare trykk på tilbakestillingsknappen på Arduino:)

Trinn 5: Spill med vennene dine

Spill med vennene dine!
Spill med vennene dine!
Spill med vennene dine!
Spill med vennene dine!
Spill med vennene dine!
Spill med vennene dine!

Ingen forklaring er nødvendig her … NYT!

Anbefalt: