Sadržaj:

3D4x igra: 3D 4x4x4 Tic-Tac-Toe: 5 koraka (sa slikama)
3D4x igra: 3D 4x4x4 Tic-Tac-Toe: 5 koraka (sa slikama)

Video: 3D4x igra: 3D 4x4x4 Tic-Tac-Toe: 5 koraka (sa slikama)

Video: 3D4x igra: 3D 4x4x4 Tic-Tac-Toe: 5 koraka (sa slikama)
Video: Galactic Civilizations III - 3D 4x Aurora 2024, Lipanj
Anonim
Image
Image
3D4x igra: 3D 4x4x4 Tic-Tac-Toe
3D4x igra: 3D 4x4x4 Tic-Tac-Toe
3D4x igra: 3D 4x4x4 Tic-Tac-Toe
3D4x igra: 3D 4x4x4 Tic-Tac-Toe
3D4x igra: 3D 4x4x4 Tic-Tac-Toe
3D4x igra: 3D 4x4x4 Tic-Tac-Toe

Jeste li umorni od igranja istih, starih, dosadnih, dvodimenzionalnih taktičaka? Pa imamo rješenje za vas! Tic-tac-toe u 3 dimenzije !!! Za 2 igrača, u ovoj kocki 4x4x4, nabavite 4 LED diode zaredom (u bilo kojem smjeru) i pobjeđujete! Ti to napravi. Vi svirajte.

Korak 1: Skupite komponente i alate

Skupite komponente i alate
Skupite komponente i alate

Najvažnija komponenta ovog 3D Tic-Tac-Toe-a je LED. Odabrali smo PL9823 koji već ima integrirani kontroler unutra. Ima četiri pina (Data-in, Voltage-Supply, Ground, Data-Out) i omogućuje vam jednostavno adresiranje i kontrolu boje LED-a. Mrežna struktura može se graditi na mnogo različitih načina, ali za nas je to bila najjeftinija, najčvršća i najestetičnija opcija.

Popis komponenti:

  • Arduino (koristili smo Uno)
  • PL9823 LED diode (najmanje 64)
  • Drveni štapići za ražnjeve (dugi 24 cm)
  • Ožičenje (koristili smo unutrašnjost starog Ethernet kabela)
  • Gumbi (trenutno stanje)
  • 7 otpornika (220Ohm)
  • Oglasne ploče (1 za gumbe i reprodukciju, 1 za jednostavno povezivanje ploče s Arduinom)
  • Pjenasto polistirenska ploča (~ 2x30x30cm za izradu ploča)
  • Blok od polistirenske pjene (~ 7x25x25cm kao osnova za cijelu rešetku)

Popis alata:

  • Lemilica
  • Lim za lemljenje
  • Ljepilo
  • Ravna sa ravnalom
  • Kliješta
  • Skidači žica
  • Rezači žice
  • Škare
  • Marker
  • Olovka
  • Pinceta

Korak 2: Napravite rešetku

Image
Image
Napravite rešetku
Napravite rešetku
Napravite rešetku
Napravite rešetku

Pojedinačno izrađujemo 4 panela sa 4x4 LED diode.

  • 00: Nabavite stiropor za izradu ploče. Nacrtajte uzorak. U ovom slučaju koristili smo razmak od 6 cm između LED dioda s 2 cm na krajevima.
  • 01: Umetnite LED pinove u stiropor. Važno! Provjerite jeste li umetnuli sve LED diode istog smjera. U našem slučaju, izlazni pin smo odabrali lijevo.
  • 02: Sada postavite drvene štapiće za ražnju s obje strane LED -a u nizove, pazeći da sve točke budu u istom smjeru. Zalijepite štapić na stranice LED žarulja i ostavite da se osuši.
  • 03: Učinite isto za stupove drvenih štapića s ražnja s obje strane LED dioda, pazeći da sve točke budu u istom smjeru. Zalijepite i ostavite da se osuši.
  • 04: Lagano uklonite otpuštanjem LED dioda uokolo. Podignite ploču i preokrenite je. Zalijepite stražnju stranu kako bi bila sigurnija.
  • 05: Nakon što se sve osuši, savijte igle kako biste olakšali lemljenje i spriječili prelazak električnih vodova. Koristimo pincetu i savijamo iglu blizu baze.
  • 06: Sada pripremite žice. Koristili smo stari ethernet kabel koji ima 4 žice uparenih para. Uklonite izolaciju pazeći da ne presiječete male žice. Zatim raspletite, odaberite svoje boje koje odgovaraju različitim linijama i izrežite odgovarajuću duljinu između LED dioda. Zatim skinite malo izolacije s krajeva. Odabrali smo tlo = zelena, Vdc = plava, podaci ulaz/izlaz = bijela.
  • 07: Lemač! Postoji mnogo veza (64x4), stoga pazite da pravilno lemite.
  • 08: Uklonite ploču i postavite je na podlogu od pjene!

Korak 3: Napravite joystick

Napravite joystick
Napravite joystick
Napravite joystick
Napravite joystick

Koristili smo ploču za izradu navigacijske palice za kretanje po mreži i odabir. Postavili smo kratkospojnike, otpornike i gumbe kako bismo formirali krug (vidi dijagram) koji definira kontroler smjera (6 gumba, 1 za svaki smjer) i gumb za odabir (ulazi u potez igrača). 5V i uzemljenje spojeni su na odgovarajuće priključke na Arduinu. Za analogne i digitalne ulazne pinove odabrali smo Arduino portove A5 i 2.

Gumb za odabir ima osnovnu shemu s otpornikom protiv skupljanja. Naredba za smjer temelji se na ljestvici otpornika koja radi kao krug razdjelnika napona: napon na analognom ulazu ovisi o pritisnutom gumbu i Arduino ga tumači kao jedan smjer naredbe.

Korak 4: Napišite kôd

Napišite kod
Napišite kod

Učitali smo naš kôd kako biste ga mogli koristiti:) Prvo izvršite električne priključke na Arduino. Postavili smo mini ploču pored Arduina kako bismo malo olakšali. Spojili smo Arduino "GND" i "5V" na 2 linije hljeba, gdje smo zatim priključili odgovarajuće uzemljenje i Vdc sa svake ploče. Za Data-In i Data-Out odabrali smo 4 različita Arduino pina, 13, 10, 7 i 4 za svaku ploču. PL9823 LED diode mogu se pojedinačno adresirati prema redoslijedu LED u nizu. Na primjer, ako želite uključiti 1. LED diodu u određenu boju, adresa LED [0]. Za 16. LED, adresa LED [15]. Sada ste spremni za kodiranje i igru s lijepim svjetlima! Dolje je općenito objašnjenje koda 3D igre s krpeljama.

Kôd igre 3D4x

Koristimo knjižnicu fastled.h koja nam omogućuje upravljanje mikrokontroliranim LED diodama.

Kocka se memorira praktički u 3D cjelobrojnom nizu “TTTMap”, gdje svaki element može biti u 1 od 5 stanja prema odgovarajućoj svjetlosti u vlasništvu: 0 = nema igrača, 1 = igrač 1, 2 = igrač 2, 3 = igrač 1 u dobitnoj kombinaciji, a 3 = igrač 2 u dobitnoj kombinaciji. Kako bi se elementi virtualne kocke u TTTMap preslikali na stvarne LED diode, koriste se cjelobrojni nizovi LEDMap0, LEDMap1, LEDMap2, LEDMap3.

Funkcija "postavljanja" inicijalizira Arduino portove spojene na ploču, inicijalizira sve LED diode u "crno" i inicijalizira elemente niza TTTMap na 0.

Funkcija “loop” izvodi funkcije “ReadButtonInput ()”, “SendLED ()”, a u slučaju pobjede jednog igrača funkciju “VictoryAnimation ()”. Prva funkcija čita analogni ulaz naredbe za smjer i digitalni ulaz tipke za odabir. Logičke varijable “ButtonPushed” i “SelectPushed” koriste se kako bi se izbjeglo ponavljanje kretanja brzinom petlje dok se tipka drži. Funkcija “SendLED ()” osvježava statuse LED dioda slanjem serijskog upravljačkog signala prema podacima u TTTMap -u. Temeljna funkcija je “CheckVictory ()” koju poziva “ReadButtonInput ()” svaki put kada se pritisne gumb za odabir. Ova funkcija provjerava čini li odabrana točka u prostoru dobitnu kombinaciju s okolnim pinovima. U slučaju dobitne kombinacije, bodovi u TTTMap -u potpisuju se brojevima 3 ili 4, prema igraču koji pobijedi, a pokreće se uzbudljiva “VictoryAnimation ()”!

Za ponovnu reprodukciju, samo pritisnite gumb za resetiranje na Arduinu:)

Korak 5: Igrajte se sa svojim prijateljima

Igrajte se sa svojim prijateljima!
Igrajte se sa svojim prijateljima!
Igrajte se sa svojim prijateljima!
Igrajte se sa svojim prijateljima!
Igrajte se sa svojim prijateljima!
Igrajte se sa svojim prijateljima!

Ovdje nije potrebno nikakvo objašnjenje … UŽIVAJTE!

Preporučeni: