
Michael Cain
0
990
52
Pong, kitle pazarına ulaşan ilk video oyunuydu. Tarihte ilk kez, bir kavramı “video oyunu” Atari 2600 sayesinde aile evine getirildi - bu yüzden bu tarihi gemiye biraz saygı göstermemiz doğru. Şimdi tekrar yaşayabilirsin. (kuşkusuz biraz sıkıcı oyun) bir Arduino ve bazı genel bileşenleri kullanmak.
Yalan söylemeyeceğim - kızınızın Nintendo DS'sinden vazgeçmesi pek mümkün değil ve bu tüm aile için saatlerce sürecek bir eğlence sunmayacak - ama Arduino kodlamanızı geliştirmek için harika ve kolay bir proje. Yeni başlıyorsanız, yeni başlayanlar için Arduino rehberimize göz atmayı unutmayın..
İki temel kontrol cihazı yapacağız ve video standart bir kompozit video kablosuyla TV'nize aktarılacak.
Bu projeyi bir sonraki seviyeye taşımak için bir kasayı 3B yazdırabilirsiniz. YouTube kullanıcısı PotentPrintables tam da bunu yaptı!
Arduino Pong için gerekenler
- 470 ohm direnç x1
- 1k ohm direnç x1
- 10 k ohm Potansiyometre (twiddly değişken direnç) x2
- Arduino x1 (herhangi bir sürüm)
- RCA fiş x1 (birden fazla varsa, sesi de kapatabilirsiniz. Video için bir tane minimum düzeyde olabilir)
- Butona basınız şalter x1
- 10k ohm direnç x1
Buradan TV Out Arduino kütüphanesini de indirebilirsin - TVoutBeta1.zip, En son sürüm. Çıkan klasörlerin tümünü / Arduino / kütüphaneler dizini açın ve açıksa Arduino IDE'yi yeniden başlatın..
TV Çıkışını Test Etme
RCA fişinizi çıkarın ve dış tabakayı uzaklaştırın. Korumayı topla, bük ve bir tarafa koy. Bu senin yerin. Ortasında plastik kılıflı başka bir kablo bulunmalıdır - tekrar, bunu sıyırın böylece sinyal hattınızı alın.
Hem 470 ohm hem de 1k ohm dirençleri RCA fişinizin merkez sinyal hattına lehimleyin - bu, analog video girişini üretmek için birleştirilmiş bir senkronizasyon sinyali ve gerçek video sinyali sağlar. 470 ohm direnç, dijital IO pin D07'ye girmeli, 1k ohm direnç ise D09 pinine girmelidir..
Bu pimler, içe aktardığımız kitaplık tarafından ayarlanır, böylece bunları değiştiremezsiniz. Arduino GND pimlerinizden biri RCA'nın ekranına (dış) gitmelidir.
Şimdi devam edip bir örnek yükleyebilirsiniz; Hem PAL hem de NTSC sağlanmış olsa da, modern dijital TV'lerde gerçekten önemli olmamalı - NTSC demosu İngiltere'de olmasına rağmen benim için iyi çalıştı. TV'nize takın ve güzel bir retro 3D küp almalısınız. Oooooh evet - henüz heyecanlı mısın? ben.
Analog Potansiyometre Girişlerini Test Edin
Tamam, TV çıkışını çalışıyoruz, şimdi kontrol cihazlarına bir bakalım. Kablolama “tencere” o kadar kritik değil - her birinin 3 pimi olmalı ve merkezi olan neredeyse her zaman çıkış sinyalini üretiyor. Bunu A0 ve A1'e bağla (her kap için bir tane). Yan pinlerden birinde - hangisi olduğu önemli değil - kablo + 5V. Diğer taraftaki diğer pim yere gitmeli.
Burada her ikisini de tek ekmek tahtası üzerine bakacak şekilde koydum, çünkü sadece kısa tellerim var. Cilalı bir ürün için, size biraz mesafe vermek için eski bir ağ kablosu kullanmak isteyeceksiniz (böylece oynamak için koltukta oturabilirsiniz).
Ardından, Arduino ile gelen temel örnek çizimlerden birini yükleyin - analog giriş. Bu demo, A0'daki girişe bağlı olarak onboard LED'i daha hızlı veya daha yavaş yanıp söner.
Diğer A1 kabını test etmiyor, ama eğer A0 kabloluysanız A1’de nasıl bir hata yapacağınızı göremiyorum, o yüzden hepsinin iyi olduğunu farz edelim ve devam edelim..
Bir Başlangıç Anahtarı ekleyin
Son olarak, D02'ye bir başlatma anahtarı ekleyeceğiz. Bunun nasıl yapılacağı için buradaki kablo şemasına bakın. Bu düğme, menüdeyken oyuna başlamak için kullanılacaktır..
Pong Kodu
Başlangıçta tarafından yazılmış bazı kodları kullanıyoruz. Lamonica, tarafından tasarlandı duboisvb iki oyuncu için ve TV çıkışı kütüphanesinin en yeni beta sürümünü kullanmak için kendim tarafından güncelleştirildim. Bu pastebindeki kodu görüntüleyebilir ve indirebilirsiniz..
Benden açıklama gerektirmemesi gereken oldukça uzun ama basit bir kod. Çoğu oyun gibi, bir oyun durumuna (menü, oyun içi, oyun bitti) dayanır ve hem kontrolörlerin hem de döngünün her yinelemesinin anahtarının giriş değerlerini okur. Bunun ötesinde ekran, top, kürekler ve oyun mantığını çizme yöntemleri var.
Kodun içerdiğini unutmayın. ses çıkışı de: Bunu test etmek için daha fazla RCA fişi bulamadım, ancak eğer varsa, sinyal pimini doğrudan D11'e bağlayın ve hoş bir retro ton almalısınız..
Dürüst olmak gerekirse, Arduino’nun son derece karmaşık kodlamalar olmadan televizyon izleyebileceğini bile bilmiyordum; TV çıkışı kitaplığı gerçekten kolaylaştırır. Retro oyun oynamasanız bile, bu temel TV çıkışını kullanmak, mevcut ekipmanları ucuz monitör cihazı olarak kullanmanın harika bir yoludur. Tabi ki çıktı rengini de alabilirsiniz..
Arduino Pong’a gideceğinizi mi düşünüyorsunuz, veya belki de kendi retro video oyununuzu yeniden düzenleyebiliyor musunuz? Eğer varsa yorumlarda bize bildirin!