İçindekiler:
- Adım 1: Parçalar
- Adım 2: Kablolama
- Adım 3: Alternatif Kablolama
- 4. Adım: Kod + Açıklama
- Adım 5: Okuduğunuz İçin Teşekkürler
Video: LED Matrix, Arduino ve Joystick'li Pong Tenisi: 5 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu proje hem yeni başlayanlar hem de deneyimli tamirciler için tasarlanmıştır. Temel düzeyde bir breadboard, jumper telleri ile yapılabilir ve bir parça hurda malzemeye (tahta kullandım) Blu-Tack ve lehimleme olmadan yapıştırılabilir. Ancak daha gelişmiş bir seviyede, mükemmel bir panoya veya özel bir PCB'ye lehimlenebilir.
Bu bir kilitleme projesi olduğu için pek çok alete veya malzemeye erişimim olmadı, bu yüzden Blu-Tack ile biraz fazla küçük bir hurda tahta parçasına sıkışmış, ancak buna rağmen bir araya gelen eğlenceli bir proje. hızlı bir şekilde ve internette ucuza bulunabilen yaygın olarak bulunan parçalardan oluşur.
Adım 1: Parçalar
Pong Oyununu yapmak için ihtiyacınız olan;
- 1x Bir Arduino (herhangi bir tür çalışacaktır)
- 4x MAX7219 8x8 LED Matrisler
- 2x Oyun Çubukları
- 1x Piezo Buzzer (Opsiyonel)
- 15x Dişi-Dişi Jumper Telleri (3x 5'li grup)
- 15x Erkek-Dişi Jumper Telleri (3x 5'li grup)
- 18x Erkek-Erkek Jumper Telleri
- 1x Ekmek Tahtası
- 1x 220Ω Direnç
Arduino Uno veya Nano board yerine Arduino tabanlı breadboard kullanabilirsiniz;
- 1x ATmega328p 28pin IC
- 1x 16kHz Kristal Osilatör
- 2x 22pF Seramik Kondansatörler
- 1x USB FTDI UART Dönüştürücü
- 1x 100uF Elektrolitik Kondansatör
- 1x Mikro USB Çıkışı (Opsiyonel)
Aletler;
- Arduino IDE'li PC (ve LedControl Kütüphanesi)
- Arduino'nuz için ilgili USB Kablosu
- Oyunu bilgisayarınızdan uzaklaştırmak için Güç Bankası
Adım 2: Kablolama
Tüm ihtiyacınız olan, Matrislerin ve Joysticklerin başlıklarını Arduino'ya bağlamak için atlama telleri olduğundan kablolama çok basittir. Arduino Uno'nun yalnızca 3 GND bağlantısı ve bir 5v bağlantısı olduğu için tek komplikasyon güçtür. Breadboard'un devreye girdiği ve tüm bileşenler için bir güç dağıtım rayı görevi gördüğü yer burasıdır. Bir NANO kullanıyorsanız, breadboard aynı amaca hizmet edecek ve her şeyi takmanıza izin verecektir.
Kablolama için bu bağlantıları izleyin.
- Sol Joystick - GND ve 5v, ilgili güç raylarına. SW - pin 9, VRx - A0, VRy - A1.
- Sağ Joystick - GND ve 5v, ilgili güç raylarına. SW - pin 8, VRx - A2, VRy - A3.
- En sağdaki LED Matrix - GND ve 5v, ilgili güç raylarına. DIN - 13, CS - 11, CLK - 12. (25. satıra göre)
- Diğer tüm LED Matrisleri, kodun düzgün çalışması için sağdan sola giden ilkinin çıkışından zincirleme bağlanabilir.
- Opsiyonel Buzzer - Anot(+) ila 220Ω akım sınırlama direncinden pin 10'a, Katot(-) - GND.
Adım 3: Alternatif Kablolama
Yerden tasarruf etmek için bir Arduino UNO ile kabloladıktan sonra, UNO'dan Arduino IC'yi 16Mhz Kristal Osilatör ve her iki taraftan toprağa bir çift 22pF kapasitör ile devre tahtasına koymaya karar verdim. Projenin daha düzenli ve daha bitmiş görünmesini sağladığı için bunun faydalı bir değişiklik olduğunu düşünüyorum, ancak programı güncellemek için bir USB FTDI programlayıcı kullanmanız gerekiyor.
4. Adım: Kod + Açıklama
Kodu Arduino'ya yüklemek için GitHub'dan LedControl kitaplığını buradan indirin, github.com/wayoda/LedControl ve Zip dosyasını ekleyin veya IDE içindeki Kitaplık Yöneticisi aracılığıyla ekleyin. Bundan sonra ekteki çizimi açın, araçlar altında kart ve port ayarlarından Arduino'nuzu seçin ve arduino'ya yükleyin.
Açıklama
Satır 1: Kitaplığı ekler
Satır 5-23: Tüm değişkenleri, sabitleri ve pin numaralarını ayarlar.
Satır 25: LED Martix'i kurar ve kontrol pinlerini ve kaç tane ekran olduğunu ayarlar.
Satır 27: Sıfırlama İşlevini ayarlar.
Satır 30-35: Tüm ekranları birlikte açmak/kapatmak için kapatma işlevi.
Satır 38-43: Tüm ekranların parlaklığını birlikte ayarlamak için Yoğunluğu Ayarla işlevi.
Satır 46-51: Tüm ekranları birlikte silmek için ClearAll işlevi.
Satır 53-64: joystick Oyun çubuklarının konumunu alma işlevi, onları topa vurmak için 7 olası yarasa pozisyonuna eşleme ve ardından sopayı yeni konuma hareket ettirme.
Satır 67-435: Topu belirtilen yükseklikte ve hızda soldaki oyuncuya hareket ettiren, oyuncunun topa vurup vurmadığını kontrol eden ve çarpışma durumunu doğru olarak ayarlayan veya topu geri sektiren, skora 1 ekler ve hızı arttırır.
Satır 438-811: Topu belirtilen yükseklikte ve hızda doğru oyuncuya hareket ettiren, oyuncunun topa vurup vurmadığını kontrol eden ve çarpışma durumunu doğru olarak ayarlayan veya topu geri sektiren, skora 1 ekler ve hızı arttırır.
Satır 813-823: Belirtilen ekrana (sağda 0 ila 3 solda) Gülen Yüz, Kene, Haç veya Soru İşareti görüntüleme işlevi.
Satır 861-979: 0-9 sayılarını belirtilen ekrana görüntüleme işlevi.
Satır 981-1047: Ekranın her bir oyuncu tarafında skoru gösterme işlevi.
Satır 1049-1064: Oynatıcının hazır olup olmadığını kontrol etme işlevi.
Satır 1066-1076: Program başladığında bir kez çalıştırılan kodun kodunun Kurulum Bölümü.
Satır 1078-1136: Tüm fonksiyonların kullanıldığı ve kimin kazandığına karar verilen oyun mantığı için Ana Döngü bölümü ve ardından skoru gösterdikten 5 saniye sonra programı yeniden başlatır.
Adım 5: Okuduğunuz İçin Teşekkürler
Bu Eğitilebilir Tabloyu okuduğunuz için teşekkürler, Arduino programlama hakkında daha fazla şey öğrendiğimde birkaç gün içinde bir araya gelen eğlenceli bir kilitleme projesiydi. Beğendiyseniz, Arduino yarışmasında buna oy vermekten çekinmeyin.
Önerilen:
LED Masa Tenisi Topu: 16 Adım (Resimli)
LED Masa Tenisi Topu-Ball: Backstory Bir süre önce düz bir masa tenisi topları paneli yaptıktan sonra, masa tenisi toplarından 3D bir panel yapmanın mümkün olup olmayacağını merak etmeye başladım. "Sanat" yapmaya olan ilgimle birleşince; yinelenen geometrik şekillerden ben
Masa Tenisi Skor Tahtası: 16 Adım (Resimli)
Masa Tenisi Skor Tahtası: Masa Tenisi / Masa Tenisi skorunuzu takip edemeyecek kadar tembel misiniz? Ya da belki her zaman unutmaktan bıktınız mı? Öyleyse, bu dijital Masa Tenisi Skor Tahtasını oluşturmak ilginizi çekebilir. İşte öne çıkanlar: Puanlar , oyunlar, sunucu ve p
Masa Tenisi Robotu: 5 Adım
Ping Pong Robotu: Herkese merhaba, ben Goa, Hindistan'dan Sanjay Siddharth. 6 yaşındayım ve şu anda Panaji, Goa'daki Sharada Mandir Okulu'nda 1. Sınıf okuyorum. Bu benim Robotik alanındaki ilk denemem. Bu basit teknoloji, herhangi bir nesneyi hareket ettirmek için kullanılabilir
Arduino Uno (Arduino Powered Robot Face) ile LED Matrix Dizisinin Kontrolü: 4 Adım (Resimli)
Arduino Uno ile LED Matris Dizisini Kontrol Etme (Arduino Powered Robot Face): Bu talimat, bir Arduino Uno kullanarak bir dizi 8x8 LED matrisinin nasıl kontrol edileceğini gösterir. Bu kılavuz, kendi projeleriniz için basit (ve nispeten ucuz) bir görüntü oluşturmak için kullanılabilir. Bu şekilde harfleri, sayıları veya özel animasyonları görüntüleyebilirsiniz
Hile Masa Tenisi Topu: 4 Adım
Hile Ping-pong Topu: Bu Ping Pong Topu, lehinize bir oyun oynamak için çok aptalca bir hile ve evet, bunun aptalca olduğunu biliyorum ama… kazanmanıza yardımcı olacak !!! (peki) neyse buraya yazacağım malzeme listesi kısa ve bu proje nispeten kolay