İçindekiler:

Bir Analog Giriş Kullanan 4 Düğmeli Oyun: 6 Adım (Resimlerle)
Bir Analog Giriş Kullanan 4 Düğmeli Oyun: 6 Adım (Resimlerle)

Video: Bir Analog Giriş Kullanan 4 Düğmeli Oyun: 6 Adım (Resimlerle)

Video: Bir Analog Giriş Kullanan 4 Düğmeli Oyun: 6 Adım (Resimlerle)
Video: PS4'ÜNÜ HIZLANDIRMAK İÇİN BUNU MUTLAKA YAPMALISIN ! 2024, Temmuz
Anonim
Image
Image

Bu talimat, birbirinden bağımsız olarak algılanabilen birden fazla düğme için bir analog giriş hattı kullanmaya odaklanır.

Ve bu düğmelerin kullanımını vurgulamak için, dört farklı 4 Düğmeli oyun oynamak için yazılım dahildir. Buradaki tüm oyunlar (toplamda 8) bir Led merdiven ekranı kullanır (önceki projeye bakın: talimatlar: Tek Hatlı LED Ekranlı Oyunlar).

Kendi 4 düğmeli montajınızı diğer ekran çıktılarıyla birlikte kullanabilirsiniz, yalnızca dahil edilen çizimlerden birindeki 'scanButtons()' işlevini kullanın. Ve bu eskizleri kullanın, örneğin bunların kullanımı.

Oyunlar bir beceri oyunu: Whack-a-Mole, bir hafıza oyunu: Simon Says, mantık oyunları Sea Hunt ve Flip'd Reveri'ye benzer iki kişilik bir oyun. Daha sonra, bu talimatta, daha sonra dört iki kişilik kafa kafaya rekabet oyununu tanıtacağım.

Adım 1: Optimum Düğme Yapılandırmasını Belirleme

Bir düğmeye basılmasının diğerini kapatması konusunda asla endişelenmenize gerek kalmazsa, bazı dirençleri seri olarak kullanmak, her birinin arasına dokunmuş düğmeler ile çalışacaktır. Böyle bir konfigürasyonda, her bir tuşa basıldığında, altındaki her şeyi bloke eder. Bir pinpon uygulamasında olduğu gibi, yalnızca iki düğmeye ihtiyacınız olduğunda ve her seferinde yalnızca bir düğmeyle ilgilendiğinizde bile; Eğer bir oyuncu (sadece çok yavaş ya da kötü niyetli olarak) diğer oyuncu onunkine vurmak zorunda kalmadan parmağını düğmesinden çekemezse, bu bir sorun olacaktır.

Birden çok düğme genellikle tek bir analog hatta bağlanmıştır ve her biri girişe giden kendi farklı direnç değerlerine sahiptir. Yalnızca 2 veya 3 düğme olduğunda hangi düğmeye veya çifte basıldığını kolayca ayırt edebilirsiniz. Ancak, en kötü durum kombinasyonları belirsiz bir şekilde birbirine çok yakın hale geldiğinden, daha fazla düğme veya ikiden fazla basıldığında güvenilir bir şekilde değil.

Burada dört düğme ve dirençten oluşan Çift-Y konfigürasyonu dediğim şeyle, herhangi bir tekli, ikili, hatta üçlü veya dört düğmenin tümünün basıldığını güvenilir bir şekilde ayırt edebilirsiniz. Bunu yapacak yazılım sürücüsü bir sonraki bölümde ve kod listesinde ele alınmıştır.

Diğer düğmelerin durumundan bağımsız olarak her düğmenin basıldığının algılanabileceği bir analog girişe bağlı dört düğme olması arzusuyla, bir elektronik tabloda birkaç konfigürasyon modelledim. Çift Y (2 set üç dirençten oluşan) konfigürasyonunun en iyi olasılıkları verdiğini buldum. Aşağıdaki kablo şeması şemasına bakın. Onları, basılan herhangi iki düğme kombinasyonu arasındaki toplam direncin en fazla ayrılmasına dayanarak değerlendiriyordum. Hesaplanan analog değerleri daha da modelledim. Aşağıdaki elektronik tablo dosyasına bakın.

Yukarıdaki konfigürasyonlarda kullanılacak en iyi değerleri belirlemek için, olası okuma girişleri arasında maksimum en az farkı üreten seti bularak, potansiyel direnç değerlerinin tüm olası permütasyonlarını etraflıca deneyen bir simülasyon yazdım. Kullandığım kodu verdim. Bu, bir araya getirdiğim, istediğimi elde ettiğim ve bir kenara koyduğum bir kaba kuvvet aracıydı, bu yüzden hiçbir şekilde optimize edilmemişti. Tamamen olduğu gibi, yalnızca tarihsel referans için (aşağıda Solve_4R.html).

İşte inceleme için çıktısı:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 dkR delta: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 dkR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 dkR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 dkR delta: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 dkR delta: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 dkR delta: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 dkR delta: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR delta: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 dkR delta: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 dkR delta: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 dkR delta: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 dkR delta: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 dkR delta: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 dkR delta: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 dkR delta: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 dkR delta: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 dkR delta: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 dkR delta: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 dkR delta: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 dkR delta: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 dkR delta: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 dkR delta: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 dkR delta: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 dkR delta: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 dkR delta: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 dkR delta: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 dkR delta: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 dkR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 dkR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 dkR delta: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 dkR delta: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 dkR delta: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 dkR delta: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 dkR delta: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 dkR delta: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 dkR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 dkR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 dkR delta: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 dkR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 R2: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 R3: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 dkR delta: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 dkR delta: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 R3: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 R5: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 dkR delta: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 dkR delta: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 dkR delta: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 dakR delta: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 dkR delta: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 dkR delta: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 dkR delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 dkR delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 dkR delta: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 dkR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 dkR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 dkR delta: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 dkR delta: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 dkR delta: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 dkR delta: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 dkR delta: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 dkR delta: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 dkR delta: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 dkR delta: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 dkR delta: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 dkR delta: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 dkR delta: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 dkR delta: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 dkR delta: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 dkR delta: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 dkR delta: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 dkR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 dkR delta: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 dkR delta: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 dkR delta: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 dkR delta: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 dkR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 dkR delta: 33.2525545171

Adım 2: 4 Düğmeli Montajım

4 Düğmeli Montajım
4 Düğmeli Montajım

Dört düğmem için bu düğmeleri ve yukarıdaki şemada gösterildiği gibi delikli bir PCB ve dirençler kullandım. Dört düğmenizi fiziksel olarak nasıl uyguladığınız tamamen size ve projelerinizin ihtiyaçlarına bağlıdır. Elektriksel olarak yukarıdaki şemada olduğu sürece. Konstrüksiyon montajınızın, butonlara giden kablolarla herhangi bir temas etmeyecek şekilde olduğundan emin olun, çünkü bu okumaları atarak hatalı düğme davranışına neden olur.

Tahtamda 'İşlev' tuşu gibi kullandığım küçük bir düğme var. Diğer giriş okumalarımı önemli ölçüde atmayan 2 megohm'luk bir dirençle seri halindedir; ancak tek başına basıldığında algılayabiliyorum. Nasıl kullandığımı daha iyi anlamak için onu görmezden gelebilir veya kodu kontrol edebilirsiniz.

Test taslağı 'Test_12Leds_6Btns', MCU'nuz ve gerçek düğme montajınız tarafından düğme(ler) preslerinin algılanmasını test etmek için kullanılabilir. Çıkışı, bir LED Merdiven veya seri monitör ile görüntülenecek şekilde ayarlanmıştır. Hangi tür ekrana sahip olursanız olun, çıktı almak için kolayca değiştirilebilir.

MCU'nuzun dahili çekme direncindeki potansiyel farklılıklar veya kullandığınız dirençlerin toleransları nedeniyle, kodun girişi karşılaştırdığı referans okuma setini ayarlamanız gerekebilir. İsterseniz hassas dirençler kullanabilirsiniz, umarım kalibrasyon ayarlamaları yapmak zorunda kalmazsınız. Bu arada, projelerimden biri için planladığım diğer kullanımları engelleyeceği için harici bir pull-up kullanmadım.

Hangi düğmelere basıldığının belirlenmesinin besleme voltajı seviyesinden (&/veya MCU farkı) etkilenmemesini sağlamak için gerçekleştirilen temel yazılım eylemlerinden biri, analog girişi maksimum okumasına göre ölçeklendirmektir. besleme voltajından etkilenir.

Bu düğmelere hizmet veren yazılım 'sürücüsü', 'scanButtons()' rutinidir. Analog giriş değerinin yerleşmesini bekler, ardından okumayı bir dizi önceden belirlenmiş değere eşler; ve bunu düğmelerin toplanması için ilgili durumlara çevirir. Bu rutin ve uygulama yazılımıyla paylaştığı ortak değişkenler, bu seti bağımsız düğmelerde benzer şekilde kullanmak için gereken tek şeydir.

Not! 'scanButtons()' öğesinin şu anki sürümü, benim için gerçekçi bir şekilde gerekli olmadığı için tüm olası üç düğme kombinasyonunu benzersiz bir şekilde tanımlamaya çalışmaz ve gereken kod ve kalibrasyon doğruluğunu daha da karmaşık hale getirir.

3. Adım: Oyun Oyna

Taslak, 'LadderGames4' veya 'Head2head' çoğu Arduino MCU'ya yüklenebilir ve çalıştırılabilir, ancak LadderGames4'ün 8K Bayt program alanına sığması için 'SimonSays' veya diğer iki oyundan herhangi birinin yorumlanmış olması gerekir. bir Attiny-85. Ses aynı zamanda ATtiny-85 ile ilgili bir sorundur, yukarıda bahsedilen önceki projeye bakın. Kod, koşullu derleme ile kurulur ve Nano, Uno ve ATtiny-85 ile çalıştığı bilinmektedir.

Başlatmadan sonra bu eskizlerin her biri ile, dört olası oyun seçeneğine karşılık gelen tüm Kırmızı…Sarı…Yeşil…Mavi Ledleri tek seferde tek bir renkle aydınlatan Menü sunulur. Arzu seçeneği yandığında Btn1'e basarsınız veya 2-4 oyunlar için herhangi bir zamanda Btn2-4'e basarsınız. Gereksiz seçim yolu, hem iki hem de dört düğmeli uygulamalar ve oyunlarla uyumlu olacak şekildedir. Oyunun birden fazla sürümü varsa, sürüm-1 için yanıp sönen kırmızıyı, sürüm-2 için yanıp sönen sarıyı vb. seçmeniz gerekir.

4 Düğme Oyunları

Bir hafıza oyunu, bir el-göz koordinasyonu oyunu ve iki strateji oyunu.

Simon Says Bu, daha önceki projelerde, oyunun benim sahip olduğum biçimden yeniden uygulanmasıdır:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Diğer 'Simon Says' oyunlarının çoğu gibi oynuyor.

Ancak burada, iki kişilik versiyonu ekledim (seçenek 2'yi seçtiğinizde sarı yanıp sönüyor), burada her oyuncu sırayla diziye yeni bir ışık notu ekliyor. Daha önce gelenleri doğru bir şekilde tekrarlamayan ilk kişi oyunu kaybeder.

Köstebek Vurmak

30 saniye boyunca her seferinde 1, 2 veya 3 farklı ben belirir (kırmızı, yel, grn, blu). İlgili düğmelere Btn1-4 basarak onları 'vurmanız' gerekir. Sadece tek tuşa basılması kabul edilecektir, aynı anda birden fazla tuşa basılması kabul edilmeyecektir. Bir köstebek kümesinin ne kadar süre ayakta kaldığı, oyun devam ettikçe kısalır. Gösterilen tüm benleri vurursanız, yeni bir set görünecektir; öyle ki, ne kadar hızlı olursanız, o kadar çok köstebek vurma şansınız olur.

Bir oyun bittiğinde, ekran skoru yansıtacak ve vurulan her 10 mol için bir led yanacaktır. Oyun her köstebek vuruşu için 10 puan aldığından, 5 yanan led, 500+ standart Whac-a-Mole puanını temsil eder. Başka bir tur oynamak için oyunu yeniden seçmeniz gerekir.

Hızlı hareket ve yüksek puanlar için her düğmede bir parmak kullanıyorum. Daha uygun bir meydan okuma için, bir tokmak kullanımına yanıt olarak, bir yandan yalnızca bir parmak kullanılmalıdır.

Bir parmak kullanarak tipik puanım 500'lerde, 4 parmak kullanarak (düğme başına bir tane) 600+. En yüksek puanım 700+. Birden fazla parmak kullanmak özellikle zordur, çünkü eğer birine ve diğerine basarken çakışma varsa ikincisi yazılım tarafından kabul edilmeyecektir ve bir diğeri kabul edilmeden önce tüm düğmeleri serbest bırakmanızı gerektirecektir. Eğer biri 1200+ puan için 12 ledin tümünü yakıyorsa, lütfen bize bildirin.

deniz avı

Derinlerde hareket eden görünmeyen bir denizaltı var. İlk konumu ve yönü rastgeledir. Aldığınız her dönüşten sonra rotası boyunca bir hareket yapar. Sonar raporlarıyla nerede olduğunu tahmin etmeli ve bir derinlik şarjı ile batırmalısınız. Bir sonar sesi, başlangıç konumundan loş bir ışık olarak dalgalanır (her iki yönde) ve denizaltının mesafesinde (bir ping ile birlikte) parlar. Ancak, denizaltının her iki yönde de olabileceğini ve bilinmeyen bir yönde hareket ettiğini unutmayın. Bir derinlik yükü, fırlatıldığı yerin çok altında patlar. Hiçbir şey yoksa boğuk bir patlama duyarsınız, yoksa denizaltının büyük patlamasını ve parlak bir flaşı duyarsınız.

İmleci sonar şamandırasını bırakmak istediğiniz yere götürmek veya derinlik şarjı sol ve sağ için Btn2 & Btn3 ile yapılır. Düğme-1 onları başlatmak için kullanılır.

Sürüm 1'de, her deneme, bir derinlik şarjı ve sonar raporunun birleşimidir; ve sınırsız sayıda kullanabilirsiniz.

Sürüm 2'de, denizaltıyı kimin batırmayı başardığını görmek için kafa kafaya, sırayla. Oyuncu 1, Btn1'i kullanır ve ikinci oyuncu, derinlik hücumlarını başlatmak için Btn4'ü kullanır.

3. versiyonda, derinlik ücretleri ve sonar raporları sırasıyla Btn1 ve Btn4 tarafından bağımsız olarak başlatılır. Kullanabileceğiniz yalnızca üç derinlik şarjınız var. İstediğiniz tüm sonar raporlarını alabilirsiniz. Onu bu suçlamalarla elde edemezsen kaybedersin.

4. versiyonda, sub, voleybol başına 1-3 boşluk oranında hareket edebilir ve aksi takdirde versiyon 3 gibi oynar, ancak 6 derinlik yükü alırsınız.

Tarih: İlk olarak 'Deniz Avı' oyununu 1970'lerde yarattım. O zaman giriş ve çıkış cihazı bir teletipti. Ancak o zamanlar deniz burada olduğu gibi 1 boyutlu değil, 2 boyutlu bir ızgaraydı.

NOT: Koddaki derinlik yükü sınırlamasını, çoğu insan için oynamanın zaten yeterince zor olduğu fikriyle yorumladım.

çevrilmiş

Bu iki kişilik oyun biraz Reveri'ye benziyor, çünkü tüm hücreleri kendi renginize döndürmeye çalışıyorsunuz, ancak bu farklı şekilde gerçekleştirilir.

Bu iki oyunculu oyunda, bir oyuncunun amacı tüm ışıkları söndürmek, diğeri ise hepsini açmaktır. Bir oyuncu, diğer oyuncunun ışıklarından oluşan bir grubu kapatmak için Btn1'i kullanır veya “Kapalı ışıklarından” tek birinden vazgeçer (açarak). Diğer oyuncu Btn4'ü ya bir "Kapalı ışık" grubunu Açık konuma getirmek için ya da tek bir arkasını Kapalı konuma getirmek için kullanır.

Pano, rastgele bir dizi led ile başlar. İlk oyuncunun sırası geldiğinde, potansiyel olarak çevrilmesi için 'imleç', ilgi noktasında led üzerinde hızlı bir karartma veya aydınlatma vardır. 2. oyuncunun dönüşü sırasında, imleç göstergesi olarak uzun bir led yanıp söner. Yanlış oyuncu düğmesine basarsa, çok kısa bir bip sesi duyulur. İmleç, Btn2 tarafından sola ve Btn3 tarafından sağa hareket ettirilir. Kaybeden oyuncu bir sonraki oyuna başlar.

Neyi Çevireceğinize ilişkin strateji önemli olabilir.

4. Adım: Bire Bir Yarışmalar

İki Düğme / İki Oyunculu Oyunlar

4 düğmeli oyunun ilk setinde yalnızca 'Köstebek Vurma', gerçekten düğme işlemenin tam bağımsızlığına dayanır. Ayrıca, tümü bağımsız düğme algılamaya bağlı olan dört kafa kafaya oyun da uyguladım. Bu oyunlar şunlardır: Quick Draw, Tug a War, Chicken ve Hot Hands (Slapsies).

Hızlı Çekme (Reaksiyon testi)

Yarışma 'Hazır'/kırmızı, 'Ayarla'/sarı ve 'Çiz!'/yeşil ile başlatılır; size yeşil ışık verdiğinde oldukça rastgele olmak. Düğmelerine ilk basan kazanır. Çok erken vurursanız, bir vızıltı ile şerefiniz lekelenir.

Oyuncu 1, Btn1'i (solda) kullanır ve oyuncu 2, Btn4'ü (sağda) kullanır.

halat çekme

'Hazır', 'Ayarla' … 'GO!' ile başlar. Ortada bir nesne, bir ip üzerinde bir 'yay' belirir. Ardından oyuncular düğmelerine olabildiğince hızlı ve sık basarlar. Yay, en çok vuruş yapan oyuncuya doğru hareket edecektir. Yay bir uca ulaştığında kazanan o olur.

Tavuk

Bu yarışma da benzer şekilde başlatılır. 'Git!' sesinden ve yeşil yanıp sönmesinden sonra oyuncular düğmelerine basar ve basılı tutarlar, ışıklar (arabaları) onlardan diğerine doğru hareket etmeye başlar. Kazanan, iki çarpma birbirine çarpmadan hemen önce düğmesini bırakan (arabasından atlayan) en son kişidir. Birisi çok geç serbest bırakırsa veya hiç yapmazsa, çöker ve kaybeder. Her ikisi de çok geç atlarsa (bırakırsa) kimse kazanamaz.

Başlangıçta bir çift karşıt led ekran boyunca gezinir, bu sırada Fnc-Btn2'ye basarsanız oyun hızı artar. Bu birkaç kez tekrarlanabilir.

sıcak eller

El tokatlama oyununun dijital versiyonu (aka Red-Hands veya Slapsies). Başlamak için iki oyuncu düğmelerine birlikte basın, bir taraf serbest bırakır ve diğer taraf düğmesini bırakamadan önce düğmesine iki kez basmaya çalışır. Daha sonra diğer taraf da benzer şekilde yapmaya çalışır. Sırası gelen oyuncu, turun başında yanındaki ledlerin yanması ile belirtilir. Tek tuşla tokatlamanın çok hızlı ve kolay olduğunu buldum, Bu yüzden iki tane gerekli yaptım, bu da daha fazla hareket ve zaman alır, hem birinin elini diğerlerinin üzerine çevirmek, sonra da tokatlamak gibi. TBD: İkinci bir versiyonda, herkes için ücretsizdir, her iki oyuncu da diğerinden en iyisini elde etmeye çalışabilir.

Fark etme ! Son zamanlarda oynamadığınız bir oyunu oynamadan önce yukarıdaki oyunların çalışma kurallarını yazdırmanızı ve tekrar okumanızı tavsiye ederim. Aksi takdirde, kendinizi hayal kırıklığına uğratabilirsiniz; oyunun gerçekte olduğu halde düzgün çalışmadığını, ancak sizin ve oyunun farklı yol ve beklentileriniz olduğunu düşünmek. Ben, kendim, birkaç defadan fazla bunun avına düştüm.

Buradaki sekiz oyun ve önceki projemdeki dördü Single-Line-LED-Display-Games, bu, yazılımı bu dört düğme + led merdiven donanım kombinasyonu ile 12 oyun oynamak için kullanılabilir hale getiriyor.

Yıl sonundan önce bu (düğme ekranı) donanımı için en az dört eğlence etkinliğim daha var.

Adım 5: İsteğe Bağlı 2 Oyunculu Kontrol Cihazı

İsteğe Bağlı 2 Oyunculu Denetleyiciler
İsteğe Bağlı 2 Oyunculu Denetleyiciler
İsteğe Bağlı 2 Oyunculu Denetleyiciler
İsteğe Bağlı 2 Oyunculu Denetleyiciler
Opsiyonel 2 Oyunculu Kontrolörler
Opsiyonel 2 Oyunculu Kontrolörler
Opsiyonel 2 Oyunculu Kontrolörler
Opsiyonel 2 Oyunculu Kontrolörler

Yalnızca iki düğme gerektiren oyunlar için, elbette, 4 düğmeli PCB'yi bu oyunlarla birlikte kullanabilirdim; ancak bu oyunları oynarken kişi oldukça fiziksel olma eğilimindedir. Bu nedenle, bir bisiklet tutacağı ve büyük bir düğme ile kaplanmış bir parça plastik borudan yapılmış ayrı dalgıç tipi düğme düzenekleri kullanıyorum.

Piston tipi düğme parçaları:

  • 1/2" damlama hattı borusu, sprinkler stand-off veya PVC (Hırdavatçı)
  • Bisiklet tutma yeri (Walmart)
  • Büyük butonlar (eBay)
  • 2 direnç

Uyumluluğu korumak için bir düğmede seri olarak 75 ohm'luk bir direnç bulunur ve diğerinde seri olarak 36-39 ohm'luk bir direnç bulunur; öyle ki yazılım bunları sırasıyla Btn1 ve Btn4 olarak görecektir.

Diyelim ki atılmış bir süpürge veya silecek sapından gelen boruları kullanabilirsiniz.

Eski oyun konsolu joystick'lerini bağlayabileceğiniz bir adaptör bile yapılabilir; birinin ateşleme düğmelerinin diğeri için Btn1 ve Btn4 olarak bağlanmasını sağlayın, Btn1-4'ü paylaşırken joystick'in gezinme düğmelerine gidin.

Nisan 2018: Artık harici piston tarzı düğmeler için gövde olarak 5/8 Sıkıştırma Kuplörleri kullanmayı tercih edin. Büyük düğmeler (dişleri üzerine küçük bir bant eklenmiş) içlerine mükemmel şekilde oturur ve ele çok güzel otururlar. Çocuklar bunlardan bir çift kullanmayı seviyorlar, Bnt1 kontakları arasında bir harici elde tutulan düğmeyi ve Btn4 için bir harici düğmeyi kolayca bağlamak için birkaç set başlık pimi ekledim.

6. Adım: Güncelleme(ler)

Güncelleme(ler)
Güncelleme(ler)

In-Line LED merdiven ekranını ve düğmelerini barındırmak için 3D baskılı bir konsol kasası yaptım.

Bu 12 LED ekran için şimdiye kadar oluşturduğum 12 oyunu tek bir 'Menu_12Games' taslağında birleştirdim. Bu yazılım, bu projenin 32KB flash MCU (örn. Nano veya Uno) ve 5 düğme, 4 ana + bir FncKey ile uygulanan donanımı gerektirir.

Seçim menüsü artık iki aşamalı; önce 4 oyun grubundan 1'ini seçersiniz, ardından bu grup içinde 1-4 oyun oynarsınız, … aşağıda listelendiği gibi. Belirli aralıklarla R-Y-G-B tarama ekranlarını beklerken, istediğiniz zaman seçiminiz olarak Btn1-4'e basarsınız, seçiminize bastığınızda görüntülenenin hiçbir önemi yoktur. 'Grup' seçimi sırasında, RYGB taraması sırasında tüm Ledler en azından kısmen yanar. Herhangi bir oyundan çıkmak veya 'oyun'dan 'grup' seçimine yedeklemek için FncKey-Btn1'e basın.

Henüz son 4'ü kodlamadım. 3 tane yazdım ('LeMans' dahil). Son oyunun ne olacağını bulamadım. Herhangi bir fikirle bana mesaj atın.

Güncelleme 25 Ocak 17:3D yazıcıya erişimden hoşlananlarınız için, cihazım için yaptığım oyun konsolu kılıfı ilginizi çekebilir: https://www.instructables.com/id/3D-Printed-Case- için-Inline-LED-Display-Konsol-ve/

17 Şubat Güncellemesi: Eğitilebilir: Tek Satırlı LED Ekranlı Oyunlar'ın (Menu_12Games.ino şimdi feshedilmiş)

Grup oyunu: 1– Kırmızı 2- Sarı 3 – Yeşil 4 – Mavi

1 kırmızı PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Sprey PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Önerilen: