Sisukord:

3D4x mäng: 3D 4x4x4 Tic-Tac-Toe: 5 sammu (piltidega)
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe: 5 sammu (piltidega)

Video: 3D4x mäng: 3D 4x4x4 Tic-Tac-Toe: 5 sammu (piltidega)

Video: 3D4x mäng: 3D 4x4x4 Tic-Tac-Toe: 5 sammu (piltidega)
Video: Tennis Elbow (Lateral Epicondylitis) 2024, November
Anonim
Image
Image
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe
3D4x mäng: 3D 4x4x4 Tic-Tac-Toe

Kas olete väsinud sama, vana, igava, kahemõõtmelise tic-tac-toe mängimisest ?? Noh, meil on teie jaoks lahendus! Tic-tac-toe 3-mõõtmelisena !!! Kahe mängija jaoks saate selles 4x4x4 kuubikus 4 LED -i järjest (igas suunas) ja võidate! Sa saad hakkama. Sa mängid seda.

Samm: koguge komponendid ja tööriistad

Koguge komponente ja tööriistu
Koguge komponente ja tööriistu

Selle 3D Tic-Tac-Toe kõige olulisem komponent on LED. Valisime PL9823, millel on juba sisseehitatud kontroller. Sellel on neli tihvti (andmesisend, pingetoide, maandus, andmeväljund) ning see võimaldab teil hõlpsalt LED-i värvi käsitleda ja juhtida. Võrgustruktuuri saab ehitada mitmel erineval viisil, kuid meie jaoks oli see kõige odavam, vastupidavam ja esteetilisem variant.

Komponentide loend:

  • Arduino (kasutasime Unot)
  • PL9823 LED -id (vähemalt 64)
  • Puidust vardapulgad (24 cm pikad)
  • Juhtmestik (kasutasime vana Etherneti kaabli sisekülge)
  • Nupud (hetkeline olek)
  • 7 takisti (220Ohm)
  • Paneelid (1 nuppude ja mängimise jaoks, 1 paneeli lihtsaks ühendamiseks Arduinoga)
  • Vahtpolüstüreenplaat (~ 2x30x30cm paneelide valmistamiseks)
  • Vahtpolüstüreenplokk (~ 7x25x25cm kogu võre alusena)

Tööriistade loend:

  • Jootekolb
  • Jootmisvorm
  • Liim
  • Sirge joonlauaga
  • Tangid
  • Traadi eemaldajad
  • Traadilõikurid
  • Käärid
  • Marker
  • Pliiats
  • Pintsetid

2. samm: tehke võrk

Image
Image
Tehke võrk
Tehke võrk
Tehke võrk
Tehke võrk

Valmistame 4 paneeli 4x4 LED -idest eraldi.

  • 00: hankige vahtpolüstürool paneeli paigutuse tegemiseks. Joonista muster. Sel juhul kasutasime 6 cm kaugust LED -ide vahel, mille otstes oli 2 cm.
  • 01: sisestage LED -tihvtid vahtpolüstürooli. Tähtis! Veenduge, et sisestate kõik valgusdioodid sama orientatsiooniga. Meie puhul valisime väljundtihvti vasakule.
  • 02: Nüüd asetage puidust varda vardad LED -ide mõlemale küljele ridadesse, veendudes, et kõik punktid on samas suunas. Liimige pulk LED -pirnide külgedele ja laske kuivada.
  • 03: Tehke sama ka puidust vardavardade veergude puhul LED -ide mõlemal küljel, veendudes, et kõik punktid on samas suunas. Liimige ja laske kuivada.
  • 04: eemaldage õrnalt, vabastades ümberringi olevad LED -id. Tõstke paneel välja ja pöörake ümber. Liimige tagakülg nii, et see oleks kindlam.
  • 05: Kui kõik on kuiv, painutage tihvte jootmise hõlbustamiseks ja elektriliinide ristumise vältimiseks. Kasutame pintsetti ja painutame tihvti aluse lähedalt.
  • 06: Nüüd valmistage juhtmed ette. Kasutasime vana Etherneti kaablit, mille sees on 4 keerutatud paari juhtmed. Eemaldage isolatsioon ettevaatlikult, et mitte lõigata väikesi juhtmeid. Seejärel keerake lahti, valige värvid, mis vastavad erinevatele joontele, ja lõigake valgusdioodide vahele õige pikkusega. Seejärel eemaldage otstest veidi isolatsiooni. Valisime maa = roheline, Vdc = sinine, andmed sisse/välja = valge.
  • 07: jootma! Ühendusi on palju (64x4), seega olge ettevaatlik, et jootma õigesti.
  • 08: Eemaldage paneel ja asetage vahtpõhjale!

Samm: valmistage juhtkang

Tehke juhtkangi
Tehke juhtkangi
Tehke juhtkangi
Tehke juhtkangi

Võrgus navigeerimiseks ja valiku tegemiseks kasutasime juhtkangi valmistamiseks leivaplaati. Me paigutasime džemprid, takistid ja nupud, et moodustada ahel (vt skeemi), mis määratleb suunakontrolleri (6 nuppu, 1 iga suuna jaoks) ja valikunupu (sisestab mängija käigu). 5 V ja maa on ühendatud Arduino suhteliste portidega. Analoog- ja digitaalsisenditüüpide jaoks valisime vastavalt Arduino pordid A5 ja 2.

Valikunupul on põhiskeem koos löögivastase takistiga. Suunakäsk põhineb takisti redelil, mis töötab pingejaotusahelana: analoogsisendi pinge sõltub vajutatud nupust ja Arduino tõlgendab seda ühe käsusuuna kujul.

Samm: kirjutage kood

Kirjutage kood
Kirjutage kood

Oleme teie koodi teie jaoks üles laadinud:) Esmalt tehke Arduinoga elektriühendused. Panime Arduino kõrvale mini leivalaua, et oleks natuke lihtsam. Ühendasime Arduino "GND" ja "5V" leivaplaadi kahe reaga, kus seejärel ühendasime iga paneeli vastava maa ja Vdc. Andmete sisestamiseks ja andmete väljastamiseks valisime iga paneeli jaoks 4 erinevat Arduino tihvti, 13, 10, 7 ja 4. PL9823 valgusdioode saab individuaalselt adresseerida LED -ide numbrilise järjestusega järjestikku. Näiteks kui soovite esimese LED -i teatud värvile sisse lülitada, aadress LED [0]. 16. LED -i puhul aadressi LED [15]. Nüüd olete valmis ilusate tuledega koodima ja mängima! Allpool on üldine selgitus 3D-tic-tac-toe mängu koodi kohta.

3D4x mängu kood

Kasutame teeki fastled.h, mis võimaldab meil hallata mikrojuhtimisega LED-e.

Kuup on praktiliselt meelde jäetud 3D täisarvu massiivis “TTTMap”, kus iga element võib vastavalt vastavale valgusele olla ühes viiest olekust, mille omanik on: 0 = pole mängijat, 1 = mängija 1, 2 = mängija 2, 3 = mängija 1 võidukombinatsioonis ja 3 = mängija 2 võidukombinatsioonis. TTTMapi virtuaalse kuubi elementide vastendamiseks reaalsete LED -idega kasutatakse täisarvulisi massiive LEDMap0, LEDMap1, LEDMap2, LEDMap3.

Funktsioon „setup” vormistab paneeliga ühendatud Arduino pordid, kõik LED -id mustaks ja TTTMap massiivi elemendid 0 -ks.

Funktsioon “loop” käivitab funktsioonid “ReadButtonInput ()”, “SendLED ()” ja kui üks mängija võidab, funktsioon “VictoryAnimation ()”. Esimene funktsioon loeb suunakäsu analoogsisendit ja valikunupu digitaalsisendit. Loogilisi muutujaid „ButtonPushed” ja „SelectPushed” kasutatakse selleks, et vältida nupu all hoidmisel liikumise kordumist silmuse kiirusel. Funktsioon “SendLED ()” värskendab valgusdioodide olekuid, saates seeriajuhtimissignaali vastavalt TTTMapi andmetele. Põhifunktsioon on „CheckVictory ()”, mida kutsub „ReadButtonInput ()” iga kord, kui valimisnuppu vajutatakse. See funktsioon kontrollib, kas valitud punkt ruumis moodustab võidukombinatsiooni ümbritsevate tihvtidega. Võidukombinatsiooni korral allkirjastatakse TTTMapi punktid võitnud mängija järgi numbriga 3 või 4 ja põnev “VictoryAnimation ()” jookseb!

Uuesti mängimiseks vajutage lihtsalt Arduino lähtestamisnuppu:)

Samm: mängige oma sõpradega

Mängige oma sõpradega!
Mängige oma sõpradega!
Mängige oma sõpradega!
Mängige oma sõpradega!
Mängige oma sõpradega!
Mängige oma sõpradega!

Siin pole selgitust vaja … NAUTI!

Soovitan: