Mündəricat:
- Addım 1: Komponentləri və Alətləri toplayın
- Addım 2: Şəbəkəni düzəldin
- Addım 3: Joystick hazırlayın
- Addım 4: Kodu yazın
- Addım 5: Dostlarınızla oynayın
Video: 3D4x Oyun: 3D 4x4x4 Tic-Tac-Toe: 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Eyni, köhnə, darıxdırıcı, 2 ölçülü tik-tac-barmaq oynamaqdan yoruldunuzmu? Yaxşı, sizin üçün bir həllimiz var! Tic-tac-toe 3 ölçüdə !!! 2 oyunçu üçün, bu 4x4x4 kubda, ardıcıl olaraq 4 LED əldə edin (istənilən istiqamətdə) və siz qazanırsınız! Sən bacar. Siz oynayın.
Addım 1: Komponentləri və Alətləri toplayın
Bu 3D Tic-Tac-Toe-nin ən vacib komponenti LED-dir. Artıq içərisində inteqrasiya edilmiş bir nəzarətçi olan PL9823 seçdik. Dörd sancağa malikdir (Məlumat girişi, Gərginlik Təchizatı, Topraklama, Məlumat Çıxışı) və LED-in rəngini asanlıqla həll etməyə və idarə etməyə imkan verir. Şəbəkə quruluşu müxtəlif yollarla qurula bilər, amma bizim üçün bu ən ucuz, ən sağlam və ən estetik seçim idi.
Komponent siyahısı:
- Arduino (Uno istifadə etdik)
- PL9823 LEDləri (ən az 64)
- Taxta şiş çubuqlar (uzunluğu 24 sm)
- Kablolama (köhnə bir Ethernet kabelinin içini istifadə etdik)
- Düymələr (bir anlıq vəziyyət)
- 7 Rezistor (220 Ohm)
- Çörək lövhələri (düymələr və oynamaq üçün 1, Arduino ilə asan panel əlaqələri üçün 1)
- Köpük polistirol lövhəsi (panelləri hazırlamaq üçün ~ 2x30x30 sm)
- Köpük polistirol blok (~ 7x25x25 sm bütün şəbəkə üçün əsas kimi)
Alət siyahısı:
- Lehimleme dəmir
- Lehimləmə qalay
- Yapışqan
- Hökmdarla düzəldin
- Kəlbətinlər
- Tel çıxarıcılar
- Tel kəsicilər
- Qayçı
- Marker
- Qələm
- Cımbız
Addım 2: Şəbəkəni düzəldin
Fərdi olaraq 4x4 LED -lərdən 4 panel hazırlayırıq.
- 00: Panel düzeni etmək üçün strafor alın. Nümunəni çəkin. Bu vəziyyətdə, ucları 2 sm olan LEDlər arasında 6 sm boşluq istifadə etdik.
- 01: LED sancaqlarını strafor daxil edin. Vacibdir! Bütün LEDləri eyni istiqamətə daxil etdiyinizə əmin olun. Bizim vəziyyətimizdə çıxış pinini sola doğru seçdik.
- 02: İndi taxta çubuq çubuqlarını LED -lərin hər iki tərəfinə sıralarla qoyun, bütün nöqtələrin eyni istiqamətə baxdığından əmin olun. Çubuğu LED ampullərinin yanlarına yapışdırın və qurudun.
- 03: LED -lərin hər iki tərəfindəki taxta çubuq şiş çubuqlarının sütunları üçün eyni şeyi edin, bütün nöqtələrin eyni istiqamətə baxdığından əmin olun. Yapışdırın və qurudun.
- 04: Ətrafdakı LEDləri gevşetərək yumşaq bir şəkildə çıxarın. Paneli qaldırın və çevirin. Arxa tərəfi yapışdırın ki, daha etibarlı olsun.
- 05: Hər şey quruduqdan sonra, lehimləmə işini asanlaşdırmaq və hər hansı bir elektrik xəttinin keçməməsinə kömək etmək üçün pinləri bükün. Bir cımbız istifadə edirik və pimi bazaya yaxın əyirik.
- 06: İndi telləri hazırlayın. İçərisində 4 bükülü cüt tel olan köhnə bir Ethernet kabeli istifadə etdik. Kiçik telləri kəsməmək üçün ehtiyatla izolyasiyanı çıxarın. Sonra açın, fərqli xətlərə uyğun rənglərinizi seçin və LEDlər arasındakı uyğun uzunluğa kəsin. Sonra izolyasiyanı uclarından bir az çıxarın. Biz torpaq = yaşıl, Vdc = mavi, giriş/çıxış = ağ seçdik.
- 07: Lehim! Bir çox əlaqə var (64x4), buna görə də düzgün lehimləmək üçün diqqətli olun.
- 08: Paneli çıxarın və köpük bazasına qoyun!
Addım 3: Joystick hazırlayın
Şəbəkədə gəzmək və seçim etmək üçün joystick etmək üçün bir çörək taxtasından istifadə etdik. İstiqamət tənzimləyicisini (hər düymə üçün 6 düymə, 1) və seçmə düyməsini (oyunçunun hərəkətinə daxil olan) müəyyən edən dövrə (diaqrama baxın) yaratmaq üçün atlayıcılar, rezistorlar və düymələr yerləşdirdik. 5V və yer Arduino nisbi limanlarına bağlıdır. Analoq və rəqəmsal giriş pinləri üçün müvafiq olaraq A5 və 2 Arduino portlarını seçdik.
Seçim düyməsi, anti-bunching rezistoru olan əsas sxemə malikdir. İstiqamət əmri, gərginlik bölücü dövrə kimi işləyən bir rezistor nərdivanına əsaslanır: analog girişdəki gərginlik basılan düymədən asılıdır və Arduino tərəfindən bir əmr istiqaməti olaraq şərh olunur.
Addım 4: Kodu yazın
İstifadə etməyiniz üçün kodumuzu yüklədik:) Əvvəlcə Arduino ilə elektrik əlaqələri qurun. Bir az asanlaşdırmaq üçün Arduinonun yanında mini çörək taxtası qoyduq. Arduino "GND" və "5V" ni çörək taxtasının 2 sətrinə bağladıq, sonra hər bir paneldən müvafiq torpaq və Vdc bağladıq. Məlumat Giriş və Məlumat Çıxış üçün panellərin hər biri üçün 13, 10, 7 və 4 olmaqla 4 fərqli Arduino sancağı seçdik. PL9823 LED -ləri, LED -in sıra sırası ilə fərdi olaraq həll edilə bilər. Məsələn, 1 -ci LED -i müəyyən bir rəngə çevirmək istəyirsinizsə, LED -ə [0] müraciət edin. 16 -cı LED üçün ünvan LED [15]. İndi kod yazmağa və gözəl işıqlarla oynamağa hazırsınız! Aşağıda 3D tic-tac-toe oyununun kodunun ümumi izahı verilmişdir.
3D4x oyun kodu
Mikro idarə olunan LED-ləri idarə etməyə imkan verən fastled.h kitabxanasından istifadə edirik.
Kub, hər bir elementin müvafiq işığa görə 5 vəziyyətdən 1 -də ola biləcəyi "TTTMap" 3D tamsaytında faktiki olaraq yadda saxlanılır: 0 = oyunçu yoxdur, 1 = oyunçu 1, 2 = oyunçu 2, 3 = qazanan kombinasiyada 1 oyunçu və 3 = qazanan kombinasiyada 2 oyunçu. TTTMapdakı virtual kubun elementlərini həqiqi LED -lərlə müqayisə etmək üçün LEDMap0, LEDMap1, LEDMap2, LEDMap3 tam ədədləri istifadə olunur.
"Quraşdırma" funksiyası panelə bağlı olan Arduino portlarını işə salır, bütün LED -ləri "qara" vəziyyətə gətirir və TTTMap massivinin elementlərini 0 -a endirir.
"Döngü" funksiyası "ReadButtonInput ()", "SendLED ()" və bir oyunçunun qalib gəlməsi halında "VictoryAnimation ()" funksiyalarını yerinə yetirir. Birinci funksiya istiqamət əmrinin analoq girişini və seçim düyməsinin rəqəmsal girişini oxuyur. "ButtonPushed" və "SelectPushed" boolean dəyişənləri düyməni basıldıqda hərəkətin dönmə sürətində təkrarlanmasının qarşısını almaq üçün istifadə olunur. "SendLED ()" funksiyası, TTTMapdakı məlumatlara uyğun olaraq serial nəzarət siqnalını göndərməklə LED -lərin vəziyyətini yeniləyir. Seçim düyməsinə hər dəfə basıldıqda "ReadButtonInput ()" tərəfindən çağırılan "CheckVictory ()" funksiyası əsas funksiyadır. Bu funksiya, məkandakı seçilmiş nöqtənin ətrafdakı sancaqlar ilə qalibiyyətli bir kombinasiya yaratdığını yoxlayır. Qalib birləşmə halında, TTTMapdakı xallar qazanan oyunçuya görə 3 və ya 4 nömrə ilə imzalanır və həyəcanlı "VictoryAnimation ()" qaçır!
Yenidən oynamaq üçün Arduino -da sıfırlama düyməsini vurun:)
Addım 5: Dostlarınızla oynayın
Burada heç bir izahat lazım deyil… Zövq alın!
Tövsiyə:
Raspberry Pi Zero ilə təchiz edilmiş taxta LED oyun ekranı: 11 addım (şəkillərlə)
Raspberry Pi Zero Powered by Taxta LED Oyun Ekranı: Bu layihə, retro oyunları oynamaq üçün oturma otağına asanlıqla quraşdırıla bilən, 78x35 sm ölçüdə 20x10 piksel WS2812 əsaslı LED ekranı həyata keçirir. Bu matrisin ilk versiyası 2016 -cı ildə inşa edilmiş və bir çox insan tərəfindən yenidən qurulmuşdur. Bu xərc
(YENİLƏNİŞ - SÜRƏTLİ SORUN VAR) PC üçün USB OYUN NƏZARƏTÇİSİ: 10 addım (şəkillərlə)
(YENİLƏNİB - SÜRƏTLİ SORUN VAR) PC üçün USB OYUN NƏZARƏTÇİSİ: HƏR OYUN ÜÇÜN OYUN NƏZARƏTÇİSİ (HƏMMƏDƏN)
3d Çaplı Son Oyun Qövsü Reaktoru (Film Düzgün və Geyinilə bilər): 7 Addım (Şəkillərlə)
3d Printed Endgame Arc Reactor (Film Düzgün və Geyilə bilən): Tam Youtube dərsliyi: Mark 50 qövs reaktoru/nanohissəciklər üçün mənzil üçün xüsusi olaraq dəqiq bir 3D fayl tapa bilmədim, buna görə yoldaşımla bir az şirin olanları bişirdik. İşin dəqiq və zəhmli görünməsi üçün çoxlu düzəlişlər etmək lazım gəldi
Akrilikdən istifadə edərək DIY ARGB Oyun Qulaqlıq Stendi: 14 Addım (Şəkillərlə)
Akrilikdən istifadə edərək DIY ARGB Oyun Qulaqlıq Stendi: Hamıya salam, bu Təlimat kitabında sizə WS2812b LED (Aka Neopixels) istifadə edərək oyun qulaqlıqlarınız üçün Ünvanlı RGB Xüsusi Qulaqlıq Stendinin necə hazırlanacağını göstərəcəyəm. Bunun üçün RGB Şeritlərindən də istifadə edə bilərsiniz. layihə. Bu təsvir real deyil
Arduino əsaslı DIY Oyun Nəzarətçisi - Arduino PS2 Oyun Nəzarətçisi - DIY Arduino Gamepad ilə Tekken oynamaq: 7 addım
Arduino əsaslı DIY Oyun Nəzarətçisi | Arduino PS2 Oyun Nəzarətçisi | DIY Arduino Gamepad ilə Tekken Oynamaq: Salam uşaqlar, oyun oynamaq həmişə əyləncəlidir, ancaq öz DIY xüsusi oyun nəzarətçinizlə oynamaq daha əyləncəlidir, buna görə də bu təlimatlarda arduino pro micro istifadə edərək bir oyun nəzarətçisi edəcəyik