2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Mühendislik öğrencileri olarak faydalı bir proje yapmak istedik ve ilgilendik. Bunu yapmak için Arduino MEGA kullanmamız gerekiyordu.
Ekibim birlikte kağıt oynamayı sever. En iyi kart oyunumuz “bellot”tur. Çoğu durumda, oynamak için dört oyuncu gereklidir. Oyuncular iki kişilik takımlara ayrılır ve karşılıklı olarak otururlar. Kozu alan iki takımdan biri, diğerinden daha fazla puan almayı taahhüt ediyor. Bu yüzden skor oyunun önemli bir parçasıdır.
Her kart sıralamasının belirli bir puanlama değeri olduğunu ve koz olup olmadığına göre değiştiğini unutmayın. Beyannameler ile puan almak da mümkündür. Beyannameler, oyuncuların elinde tutulan ve duyurulduğunda oyunculara ekstra puan veren özel kart setleridir!
Üç tür bildirim vardır:
• “kare” olarak adlandırılan aynı değerde 4 kart.
• Aynı türden 3 ila 8 kart dizileri.
• “Belot”, bir oyuncunun elinde bir arada tutulan herhangi bir koz renginin Kral ve Kraliçesidir.
Hesaplamayı zorlaştıran birçok durum vardır. Bu nedenle, belot için bir puanlama sistemi geliştirmeye karar verdik. Sistem, bildirimlere ve her kart sıralamasına göre çok sayıda buton bulunan küçük bir kutu gibi görünecektir. Skoru görüntülemek için bir ekran da olacaktır.
Bu projeyi kendi kullanımınız için yeniden inşa etmenize yardımcı olacağız.
Adım 1: Nasıl Çalışır?
Bu sistemin işleyişi oldukça basittir. Klasik bir belot oyununun farklı dizilerini takip eder. Küresel adımları görelim!
İlk beş kartın dağıtılmasından sonra ilk adım, kozun kimin ve hangi renk olduğunu belirlemektir. Sistem bu iki soruyu sorar. Farklı ilişkili düğmelerle cevap vermelisiniz.
Artık son üç kartı dağıtabilirsiniz. Varsayılan olarak, başlayan takımdır. Oynanan her kart için önce rengi, ardından değeri kodlamanız gerekir.
Sistem, hangi kartın daha güçlü olduğunu ve eli hangi takımın kazanacağını belirler. Bu dizi sekiz kez tekrarlanır. Her iki el arasında sistem skoru görüntüler.
Bir parçanın elinde, sistem “dix de der” i kimin kazandığını, bir “kapot” olup olmadığını (bir takım tüm elleri kazanırsa) bilir ve bazı beyanlar olup olmadığını sorar. Eğer öyleyse, takım ilişkili noktaları kodlamalıdır. Yalnızca “20 puan” ve “50 puan” düğmeleri vardır. Yani, örneğin bir takımın “100”ü varsa, oyuncuların iki kez “50 puan” kodlaması gerekir. Düğme sayısını en aza indirmeye izin verir. Kozu alan takım puanların en az yarısını kazanamazsa, diğer takım bölümün tüm puanlarını kazanır.
Oyun, bir takım 1001 puana ulaşana kadar devam eder.
2. Adım: Modeli
Malzeme
-1 Arduino Mega 2560
-1 modül LCD Arduino 16x2
- 56 Arduino teli 20cm
- 9 basma düğmesi (kırmızı)
- 9 basma düğmesi (siyah)
- 1 direnç 220
- 1 potansiyometre 2 K
- 1 ekmek tahtası
- 1m2 ahşap tahta
- 10 vida
Araç kutusu:
- Tornavida
- Lehim tabancası ve kalay
- Delmek
- Boyama (isterseniz)
modeli:
1. Tahtadan bir kutu yapmak. Bu kutunun hacmi aşağı yukarı 30 cm3'tür.
2. Telleri 18 tuşa kaynak yapmak için.
3. 18 delik açmak ve butonları yerleştirmek için.
4. LCD'yi koymak için bir delik açmak.
5. LCD'deki kabloları kaynaklamak için
6. Farklı kabloları bağlamak için
Elektriksel bağlantı:
Düğmeler | Dijital Giriş Arduino | ekmek tahtası
Takım 1 | 22 | grd
Takım 2 | 23 | grd
Kalp (renk) | 24 | grd
Kulüp (renk) | 25 | grd
Elmas (renk) | 26 | grd
Maça (renk) | 27 | grd
7 (kart) | 28 | grd
8 (kart) | 29 | grd
9 (kart) | 30 | grd
10 (kart) | 31 | grd
Jack (kart) | 32 | grd
Kraliçe (kart) | 33 | grd
Kral (kart) | 34 | grd
As (kart) | 35 | grd
Evet düğmesi | 36 | grd
Düğme yok | 37 | grd
20 beyan | 38 | grd
50 beyan | 39 | grd
LCD'yi bağlamanın en iyi yolu bu bağlantıdaki talimatları takip etmektir.
3. Adım: Yazılım
Arduino dili, Arduino için geliştirilmiş bir C++ diline dayanmaktadır. Projenin Arduino kodunu kullanmak için ilk adım Arduino Yazılımını kurmaktır. Arduino resmi web sitesinden Windows, Linux veya Mac için indirilebilir. Bu programın kurulumu çok kolaydır.
Yazılımımız oldukça uzun bir programdır. Bu proje için zor olan, bir belot oyununun tüm olası durumlarını hesaba katmaktır. Bir önceki adımda açıklanan bir belot oyununun farklı dizilerini takip eder.
Elbette farklı iyileştirmeler sağlanabilir. Bunlardan bazılarını bulacağınızı umuyoruz?
Programımız şu dosyalarda mevcuttur: