İçindekiler:
- 1. Adım: Video
- 2. Adım: Oyunu Tasarlamak
- 3. Adım: Oyun Aygıtını Tasarlama
- Adım 4: Aygıtı Oluşturma
- Adım 5: Oyunu Programlama
- Adım 6: Pong Oynamak
Video: El Arduino Pong Konsolu: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
DFRobot kısa süre önce bana ulaştı ve özel Arduino Nano kartlarını ve OLED'lerini kullanmamı istedi. İlk başta akıllı bir bisiklet yaratmak istedim ve onu bütünüyle inşa ettim. Ama ne yazık ki Nano, ihtiyaç duyulan devasa taslağı çalıştırıp saklamak için çok zayıftı. Bu yüzden önceki projelerimden birini, Pong oyunu çalıştıran bir Neopiksel matrisini tekrar ziyaret etmeye karar verdim. Bunun yerine taşınabilir hale getirmek istedim ve 1,7 OLED mükemmel bir ekran olurdu.
Parça Listesi:
- Arduino nano
- OLED
- hoparlör
1. Adım: Video
2. Adım: Oyunu Tasarlamak
Bu Pong oyunu için nispeten basit tutmak istedim, bu da bilgisayar kontrollü kürek veya süslü top yansıma algoritmaları anlamına geliyordu. Temel olarak, kullanıcının yukarı veya aşağı hareket ettirebileceği tek bir kürek vardır ve topun kürekle çarpışması, x ekseni vektörünün dönmesine neden olur. Top her vurulduğunda çalan bir ses var. Oyun cihazı açıldığında, oyun başlığı ve talimatların bulunduğu bir ekran gelir. Ek olarak, annem üst düğmeye basılana kadar arka planda dönen küçük bir tema şarkısı yarattı.
3. Adım: Oyun Aygıtını Tasarlama
CAD programım Fusion 360, bu yüzden pong oyun cihazımı tasarlamak için kullanmaya karar verdim. Kullanılan her bileşeni tasarlayarak başladım: bir OLED, Arduino Nano ve bir hoparlör. Bu şekilde, her bir bileşenin kasanın içine tam olarak nereye ve nasıl sığması gerektiğini görebilirim. Daha sonra Nano ve PCB'yi kasanın arka kısmına ve OLED'i de üstüne koydum. Sıra, hoparlörü ve düğmeleri nereye koyacağınız sorusuydu. 3W hoparlörün ekranın hemen altına inebileceğine (üstten bakarak) karar verdim ve bu da sesin boğulmaması için hoparlörün üzerine bir "ızgara" koymayı gerektirdi. Son olarak, kontrol eklemek için sol tarafa iki düğme ekledim.
Adım 4: Aygıtı Oluşturma
Alt yarı, üst yarı ve 2 düğmeden oluşan her parçayı 3D yazdırarak başladım. Daha sonra 4x6cm'ye dişi bir başlık lehimledim ve onu Nano'ya bağladım. Bu sadece OLED'in kolayca çıkarılmasını sağlamakla kalmaz, aynı zamanda Arduino Nano'nun üzerine çıkarır. Kablolama bilgileri için şemayı kontrol edin. Ardından, güç için basit bir mikro USB devre kartıyla birlikte iki düğmeyi bağladım. Hoparlör de takıldı ve doğru konumuna yerleştirdi. My Fusion 360 tasarımı, 3 mm makine vidalarının OLED'i, hoparlörü tutmasını ve cihazın iki yarısını birbirine bağlamasını sağlar. Ancak, onları tam olarak yapmak zorundaydım, bu yüzden 8 delik açmak için matkap premi kullandım: 2 hoparlör için, 2 ekran için ve 4 altta. Dosyalar için Thingiverse bağlantısını ziyaret edebilirsiniz.
Adım 5: Oyunu Programlama
Programı küçük tutmak için basit bir arayüzün kullanılması hayati önem taşıyordu. Birkaç kitaplık ekleyerek başladım: Adafruit_GFX, Adafruit_SSD1351 ve Arduino Timer kitaplığı. Ardından, OLED'in pinleri ve 16 bit renk tanımları gibi pinlerimi ve renklerimi tanımladım. Kodumda, raket boyutlarını değiştirmek ve topun ne kadar hızlı hareket ettiğini değiştirmek gibi oyunun nasıl oynandığını değiştirmenin 4 yolu da var. Ardından, puan ve çeşitli koordinatlar dahil olmak üzere her değişkenin tanımlandığı bir bölüm bulunur. Cihaz çalıştırıldığında, bir top görüntüsü ve ekranda daha önce kodda tanımlanan küçük bir tema şarkısı ile birlikte bir metin belirir. Oyun başladığında, biri küreği güncelleyen ve diğeri topu güncelleyen iki zamanlayıcı oluşturulur. Topun konumu her güncellendiğinde, ekran sınırını geçmediğinden veya bir raketle temas ettiğinden emin olmak için koordinatları kontrol edilir. X veya y ekseni her zıpladığında ters çevrilir ve küçük bir ton çalar. Oyunun nasıl oynandığını görmek için bu yazının başındaki videoyu izleyin.
Adım 6: Pong Oynamak
Oyunun adı mümkün olan en düşük puanı almaktır. Zaman sınırı yok, bu yüzden çok zevkli ve hatta transa neden oluyor. Tek gereken, raketi yukarı veya aşağı hareket ettirmek için iki düğmeden birine basmaktır. Arduino'nun EEPROM'unu kullanarak en yüksek puanı saklamanın bir yolunu eklemek de mümkündür.
Önerilen:
Attiny85 Konsolu Nasıl Yapılır - ArduPlay: 5 Adım (Resimlerle)
Attiny85 Konsolu Nasıl Yapılır - ArduPlay: Şuna benziyordu: Bir fincan çay içerken dinlenmek için amaçsızca YouTube videolarına göz atıyordum. Belki bir futbol maçı özetleri veya komik videolardan oluşan bir derleme? Aniden telefonuma bir bildirim geldi - Electronoobs kanalında yeni bir video. talihsiz
DIY Raspberry Pi Zero El Oyun Konsolu: 6 Adım (Resimlerle)
Kendin Yap Raspberry Pi Zero El Oyun Konsolu: Bu projede size Raspberry Pi Zero, NiMH piller, ev yapımı bir aşırı deşarj koruma devresi, bir dikiz lcd ve bir ses amfisi kullanarak oynayabileceğiniz bir el oyun konsolu oluşturmak için nasıl kullandığımı göstereceğim. retro oyunlar. Başlayalım
ESP32 El Oyun Konsolu: 21 Adım (Resimlerle)
ESP32 El Oyun Konsolu: Bu talimat, bir NES öykünücü oyun konsolu oluşturmak için bir ESP32 ve ATtiny861'in nasıl kullanılacağını gösterir
Pi Konsolu: Ucuz Versiyon: 8 Adım (Resimlerle)
Pi Konsolu: Ucuz Sürüm: Tüm çılgınlığıyla "retro" Konsollar geri dönüyor ve o kadar popüler oluyor ki Raspberry Pi kullanarak kendim bir tane yapıp yapamayacağımı görmek istedim. Biraz araştırma yaptıktan sonra RetroPie'nin web sitesine (https://retropie.org.uk/) girdim ve diz
Kablosuz Kontrolörlü ve Sensörlü El Konsolu (Arduino MEGA & UNO): 10 Adım (Resimlerle)
Kablosuz Kontrol ve Sensörlü El Konsolu (Arduino MEGA & UNO): Kullandıklarım: - Arduino MEGA - 2x Arduino UNO - Adafruit 3.5"; TFT 320x480 Dokunmatik Ekran HXD8357D- Buzzer- 4Ohm 3W Hoparlör- 5mm LED ışıklar- Ultimaker 2+ Yazıcı w/ Siyah PLA Filament- Lasercutter w/ MDF ahşap- Siyah sprey boya (ahşap için)- 3x nRF24