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, Juli
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 kuc-noža ?? 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! Uspjeli ste. Vi svirajte.

Korak 1: Skupite komponente i alate

Prikupite komponente i alate
Prikupite 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ćava vam da jednostavno adresirate i kontrolišete boju LED diode. Mrežna struktura može se graditi na mnogo različitih načina, ali za nas je ovo bila najjeftinija, najčvršća i najestetičnija opcija.

Lista komponenti:

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

Lista alata:

  • Lemilica
  • Lim za lemljenje
  • Ljepilo
  • Ravna sa ravnalom
  • Kliješta
  • Strojevi za skidanje žice
  • Rezači žice
  • Makaze
  • Marker
  • Olovka
  • Pinceta

Korak 2: Napravite mrežu

Image
Image
Napravite mrežu
Napravite mrežu
Napravite mrežu
Napravite mrežu

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. Bitan! Pobrinite se da umetnete sve LED diode iste orijentacije. U našem slučaju, odabrali smo da izlazni pin bude lijevo.
  • 02: Sada postavite drvene štapiće za ražnjiće 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 sa stupovima drvenih štapića za ražnjiće s obje strane LED dioda, pazeći da sve točke budu okrenute u istom smjeru. Zalijepite i ostavite da se osuši.
  • 04: Pažljivo uklonite otpuštanjem LED dioda okolo. 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 žice sa 4 upletena para. Uklonite izolaciju pazeći da ne presiječete male žice. Zatim raspletite, odaberite boje koje odgovaraju različitim linijama i izrežite ih na odgovarajuću dužinu između LED dioda. Zatim skinite malo izolacije s krajeva. Odabrali smo tlo = zeleno, Vdc = plavo, podaci ulaz/izlaz = bijelo.
  • 07: Lemač! Postoji mnogo veza (64x4), stoga pazite da pravilno lemite.
  • 08: Skinite ploču i postavite je na podlogu od pjene!

Korak 3: Napravite joystick

Napravi joystick
Napravi joystick
Napravi joystick
Napravi joystick

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

Dugme za odabir ima osnovnu shemu sa 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 kôd
Napišite kôd

Učitali smo naš kôd kako biste ga mogli koristiti:) Najprije napravite električne veze s Arduinom. 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 svaki od panela. PL9823 LED diode se mogu 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 sa lijepim svjetlima! Ispod je općenito objašnjenje koda 3D igre s taktićima.

Kôd igre 3D4x

Koristimo biblioteku fastled.h koja nam omogućava upravljanje mikrokontroliranim LED diodama.

Kocka se memorira virtualno 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, i 3 = igrač 2 u dobitnoj kombinaciji. Da bi se elementi virtualne kocke u TTTMap preslikali na stvarne LED diode, koriste se cjelobrojni nizovi LEDMap0, LEDMap1, LEDMap2, LEDMap3.

Funkcija “setup” inicijalizira Arduino portove povezane s panelom, inicijalizira sve LED diode u “crnu” i inicijalizira elemente niza TTTMap na 0.

Funkcija „petlje“pokreće funkcije „ReadButtonInput ()“, „SendLED ()“, i, u slučaju da jedan igrač pobijedi, 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 dugme drži. Funkcija “SendLED ()” osvježava statuse LED dioda slanjem serijskog kontrolnog signala prema podacima u TTTMap -u. Osnovna funkcija je “CheckVictory ()” koju poziva “ReadButtonInput ()” svaki put kada se pritisne tipka 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 tipku 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 objašnjenje … UŽIVAJTE!

Preporučuje se: