İçindekiler:

Executive Par 3 Golf Oyunu için Otomatik Puanlama: 12 Adım (Resimlerle)
Executive Par 3 Golf Oyunu için Otomatik Puanlama: 12 Adım (Resimlerle)

Video: Executive Par 3 Golf Oyunu için Otomatik Puanlama: 12 Adım (Resimlerle)

Video: Executive Par 3 Golf Oyunu için Otomatik Puanlama: 12 Adım (Resimlerle)
Video: BMW 218i GranCoupe mi Mercedes CLA 200 mü? 2024, Temmuz
Anonim
Executive Par 3 Golf Oyunu için Otomatik Puanlama
Executive Par 3 Golf Oyunu için Otomatik Puanlama
Executive Par 3 Golf Oyunu için Otomatik Puanlama
Executive Par 3 Golf Oyunu için Otomatik Puanlama

Geçenlerde, taşınabilir ve hem içeride hem de dışarıda oynanabilen eğlenceli bir oyun yapma oyunu oluşturma konusunda bir Eğitilebilir Yazı yayınladım. Buna “Executive Par 3 Golf Oyunu” denir. Her oyuncunun 9 "delik" puanını kaydetmek için bir kopya puan kartı tasarladım. Gerçek golfte olduğu gibi, en düşük puan kazanır.

düşünmeye başladım; ya puanları otomatik olarak takip edebilseydim?

Adım 1: Golf Topunu Elektronik Olarak Sayma

Golf Topunu Elektronik Olarak Sayma
Golf Topunu Elektronik Olarak Sayma

Yuvarlanan bir golf topunu puanlama deliğinden düşerken saymanın bir yolunu bulmam gerekiyordu. Unutmayın, her deliğin farklı bir puanlama değeri vardır ve “As” deliği en düşük puan değerine sahiptir. Kızılötesi (IR) ışın kesme sensörlerini önceki oyunlarda kullandım ve onları bu oyuna da dahil etmeyi düşündüm. Adafruit Industries'den “IR Break Beam Sensor – 3mm LEDs” adlı bir ürün kullandım. Ürün Kimliği 2167'dir:

www.adafruit.com/product/2167

Çiftler halinde satılırlar (verici ve alıcı) ve hareketi algılamak için basit bir yol sunarlar. 10 inç mesafeye kadar çalışırlar ve Arduino 5V güç kaynağı ile çalıştırılabilirler. Bunları Arduino yerleşik pull-up direnci ile kullanabilirsiniz, böylece ayrı bir direnç gerekmez. Verici bir IR ışını gönderir ve bunun tam karşısındaki alıcı bu IR ışığına duyarlıdır. Işın içinden katı bir şey geçerse (bir golf topu gibi) ışın kırılır ve alıcı bunu size bildirecek şekilde programlanabilir.

Adım 2: Sensörleri Hedef Panosuna Takma

Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma
Sensörleri Hedef Panosuna Takma

Hedef tahtası, çevreleyen kabine takılı değildi. Sadece 2 ½”köşe yüksekliği ara parçalarına oturdu, böylece onu çıkarabildim ve sensörleri monte etmek için ters çevirebildim. Golf toplarının serbest düşüşünü engellememeleri için IR sensörlerini kontrplak oyun tahtasının alt tarafına monte etmem gerekiyordu. Her bir puanlama deliğinin karşı taraflarında 3/8 inç derinliğe kadar 1”çapında bir delik açılmıştır. Kızılötesi alıcı ve verici, topların onlara çarpmaması için deliğin kenarının hemen içine yerleştirildi. Küçük bir ağaç vidası ve bir miktar epoksi yapıştırıcı ile kalıcı olarak monte edildiler, böylece birbirleriyle mükemmel bir şekilde hizalandılar.

Adım 3: Sensörlerin Hedef Panosuna Kablolanması

Sensörleri Hedef Panosuna Kablolama
Sensörleri Hedef Panosuna Kablolama
Sensörleri Hedef Panosuna Kablolama
Sensörleri Hedef Panosuna Kablolama

Kızılötesi sensörlerin tümü monte edildikten sonra, ortak topraklama ve 5V bağlantıları için birbirine bağlanmaları gerekiyordu. Her çıkış kablosu (beyaz) hedef tahtasının kenarına kadar uzatılmalıdır. Hedef kartı düzeneğinin arka kabinini uzatmak için her bir kabloya 6 telli bir dişi konektör takıldı. Tüm kablolar, bir golf topunun bir puanlama deliğinden geçtiğinde geri dönmesini engellememek için oyun tahtasının iç kısmına sıkıca tutturuldu ve sabitlendi.

Adım 4: Skor Tablosu Vakasını Oluşturma

Skorbord Vakasını Oluşturmak
Skorbord Vakasını Oluşturmak
Skorbord Vakasını Oluşturmak
Skorbord Vakasını Oluşturmak
Skorbord Vakasını Oluşturmak
Skorbord Vakasını Oluşturmak

Bu Eğitilebilir Kitapta hala biraz ağaç işçiliğine ihtiyaç vardı. ½”kalınlığında kontrplaktan ahşap bir dikdörtgen skorboard kasası üretildi. Kasanın boyutları 15 5/8” genişlik x 9 ¼” yükseklik x 4” derinliktir. Fotoğraflarda bu davanın yapım sırasını görebilirsiniz. Her kasanın yan tarafına aynı dış kenardan yaklaşık ¾" içeride ¼" genişliğinde bir dado oluğu yerleştirildi. Bu oluk, 0,2 inç kalınlığında iki pleksiglas levha arasına yerleştirilen çetele grafiğini tutmak için kullanılacaktır. Kasanın kesilecek son kısmı elektronik komponent montaj panosudur. Bu tahta 1/8” kalınlığında kontrplaktan kesilmiş ve bir taban olarak hizmet etmesi için bir ¾” çam parçasına dik açıyla yapıştırılmıştır. Aynı zamanda davanın kendisine bağlanma aracı olarak da hizmet edecektir. Tahtanın, küçük köşe destek parçalarının arasına sığması için çentiklenmesi gerekiyordu.

Skorbord kasasına da bir Açma/Kapama güç düğmesi monte edilecektir. Yanlışlıkla vurulmasını önlemek için kasanın dışına girintili bir konumda monte edilecektir. Açma/kapama anahtarı, Arduino Uno kartına ve çetelenin diğer tüm elektronik bileşenlerine güç sağlayan 9 voltluk bir DC pil kaynağına bağlı olacaktır.

Adım 5: Skor Tablosu Grafiğinin Tasarlanması

Skor Tablosu Grafiğinin Tasarlanması
Skor Tablosu Grafiğinin Tasarlanması

Kendim bir puan tablosu grafiği çizmeye çalışmak yerine, PowerPoint'te bir tane tasarlamaya ve çeşitli puanlama ekranları için pencereleri kesmeye karar verdim. Puan tablosunun oyunculara geri bildirim vermesini ve mümkün olduğunca fazla bilgi göstermesini istedim. Dahil olanlar:

1. Son golf topunun skoru için farklı bir renk ışığı.

2. Hangi deliği oynadığınızı gösteren bir ekran (1-9).

3. 2 oyunculu düğmeye basıldığında yanan bir ışık.

4. Yeni bir oyun için bir ışık yanıyor (Sıfırlama düğmesine basıldı)

5. Her oyuncunun puanı için iki ekran.

Son grafik ekteki dosyada gösterilmektedir. Puanlama ekranları için siyah dikdörtgenler kesilecektir.

Adım 6: Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa

Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa
Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa
Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa
Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa
Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa
Oyun Giriş Düğmeleri (Anahtarlar) ve Kasa

Oyunun akışını kontrol etmek için birkaç düğmeye ihtiyaç vardı. Gereken üç giriş düğmesi şunlardı:

1. Sıfırla veya Yeni Oyun (Yeşil)

2. 1'e 2 Oyunculu Oyun (Beyaz)

3. Double Bogey (Sınır Dışı - Kırmızı) – hiçbir IR sensörünün kullanılamadığı yerler. Oyuncuların puanına 5 puan eklenecektir.

3 arcade düğmesini monte etmek için standart bir plastik elektronik kasa kullandım. Dava Amazon'dan alındı. 7 ½”genişliğinde x 4 ¼” boyunda x 2 3/8” derinliğindedir. Ekli mikro anahtarı olan her arcade düğmesi, anlık bir anahtar gibi davranacaktır. 1-1/8” çapında standart delikler kasanın yan tarafında ve eşit aralıklarla kesilmiştir. Düğmeler monte edildi ve mikro anahtarların 3 çıkış hattı ve 2.54 mm erkek pin başlı konektörlü küçük bir devre tahtasına lehimlenen ortak bir toprak hattı ile küçük bir kablo demeti üretildi.

Adım 7: Skor Tablosu Bileşenleri

Skor Tablosu Bileşenleri
Skor Tablosu Bileşenleri
Skor Tablosu Bileşenleri
Skor Tablosu Bileşenleri
Skor Tablosu Bileşenleri
Skor Tablosu Bileşenleri

Skorbord bileşenleri şunlardan oluşacaktır:

A. Her oyuncunun puanı için iki adet 4 haneli, 7 segmentli LED ve oynadıkları “deliği” izlemek için tek haneli, 7 segmentli bir LED kullanılacaktır. 4 haneli, 7 segmentli LED'ler Adafruit Industries'dendir. Bunlara “1.2” 4 Haneli 7 Segment 12C Sırt Çantası – Kırmızı” denir. Bunlardan iki tanesine ihtiyacınız var ve Ürün Kimliği 1269'dur. Aşağıya bakın:

www.adafruit.com/product/1269

B. Büyük boy (1,3”) tek haneli 7 segmentli LED, eBay'den genel olarak satın alındı. Herhangi bir büyük boyutlu ekran çalışır ve ortak bir katot veya ortak anot tabanlı 7-segment LED için doğru şekilde kablolanmalıdır. Ekranın montajını basitleştirmek için, önce yeterince büyük bir devre tahtasına lehimlendi, böylece 220 ohm'luk dirençler tüm ayrı LED segment uçlarına lehimlenebilirdi. Ortak katot ucu ve 7 LED ucu, Arduino kartına kablolamayı kolaylaştırmak için 2,54 mm erkek pin başlı konektöre bağlandı.

C. Golf topunun az önce geçtiği ilgili puanlama deliğini aydınlatmak için skorbord üzerine farklı renkte 3 vdc LED ışıklar yerleştirilecektir. Ayrıca yeni bir oyunun ne zaman başladığını ve 2 oyunculu düğmeye ne zaman basıldığını belirtmek için LED ışıkları kullandım. Renkler:

Beyaz = As

Mavi = Kuş

Sarı = Par

Kırmızı = Öcü

Yeşil = Sıfırla/Yeni Oyun

Beyaz (altta) = 1'e 2 Oyuncu

D. Çeşitli bileşenleri kontrol etmek için bir Arduino Atmega2560 kartı kullanıldı. Standart bir Arduino kartından daha fazla giriş/çıkış pinine ihtiyacım vardı.

E. Tüm göstergelere giden I2C hatları için lehimli devre tahtası dağıtım bloğu kullanıldı (4 haneli, 7 segmentli LED ve LCD monitör).

F. Amazon'dan bir güç dağıtım bloğu satın alındı. Bu, tüm 5V ve ortak toprak hatlarını her bileşene dağıtmak için kullanıldı. Aşağıya bakınız:

www.amazon.com/gp/product/B081XTSDGV/ref=p…

G. İhtiyaç duyulan son bileşen, güç kablosu olan 9 voltluk bir pildi.

H. Çeşitli kablo konektörlerinin çeşitli bileşenleri birbirine bağlaması gerekir

Adım 8: Arduino Bank Kurulumu

Arduino Bank Kurulumu
Arduino Bank Kurulumu
Arduino Bank Kurulumu
Arduino Bank Kurulumu
Arduino Bank Kurulumu
Arduino Bank Kurulumu
Arduino Bank Kurulumu
Arduino Bank Kurulumu

Tezgah kurulumu ilgili resimlerde gösterilmiştir. Break-beam IR sensörlerini taklit etmek için bankta pull-up düğmeleri kullanıldı. Değişkenleri izlemek ve puan tablosunu kontrol eden kodun doğru çalıştığından emin olmak için test tezgahımda 4 satırlı bir LCD monitör kullanıyorum. Bunu seri monitör yerine kullanmayı seviyorum.

7 segmentli LED ekranlar yedek kulübesinde gösteriliyor, hem Oyuncu 1 hem de Oyuncu 2 skor ekranlarının doğru çalıştığı gösterildi. Arduino kodunu biraz düzenledikten sonra, tek haneli “delik” ekranının düzgün çalışmasını sağlayabildim. Simüle edilmiş 2 oyunculu, yeni oyun ve çift bogey anlık butonlar ve son golf topu puanlı LED ışıkları devre tahtasına yerleştirildi. Hepsi test edildi ve doğru çalıştığı gösterildi.

Arduino pin atama tablosu da gösterilmektedir.

Adım 9: Arduino Kodu

Oyunun akışını kontrol etmek ve puanları doğru bir şekilde eklemek için Arduino kodu ektedir.

Kodun ilk kısmı, ihtiyacınız olan gerekli Kitaplıklardan bazılarını içerir. Ayrıca IR sensörleri ve oyun kontrol düğmeleri için Arduino pinlerini tanımlar, tüm değişkenleri bildirir ve iki kullanıcı tanımlı işlevi tanımlar. Bir fonksiyon, sevenSegWrite(digit), büyük, tek haneli, 7-segment ekranda görüntülenen sayıyı kontrol eder (oynamakta olduğunuz “Hole”) ve diğer fonksiyon, controllercoreled(int), hangi LED'in görüntüleneceğini kontrol eder (açılır).) puan tablosunda.

setup() fonksiyonunda tüm OUTPUT ve INPUT pinlerini tanımladım. Not, 5 volta çekilen dahili bir 20K ohm direnç kullanan dahili PULLUP direnci kullanılır. Bu, anahtar açıkken girişin YÜKSEK ve kapalıyken DÜŞÜK okumasına neden olur. Aksesuar direncine gerek yoktur. Ayrıca tüm değişkenleri ve 7 segmentli rakam göstergelerini başlattım ve “yeni oyun” yeşil LED ışığını açtım.

loop() işlevi, tüm INPUT pinlerini sürekli okuyarak başlar. Ardından, hangi giriş pininin DÜŞÜK okuduğuna bağlı olarak belirli bir “if” ifadesi yürütülür (düğmeye basıldı veya IR sensör ışını kırıldı). Son “if” ifadesi oyunun sonunu tanımlar. 9 "delik" oynandıktan sonra loop() işlevi durur ve oyun biter.

Adım 10: Bileşenleri Monte Etme

Bileşenlerin Montajı
Bileşenlerin Montajı
Bileşenlerin Montajı
Bileşenlerin Montajı
Bileşenlerin Montajı
Bileşenlerin Montajı

İlk olarak, her bir bileşenin skorbord grafiğinde kapladığı konuma karşılık gelen montaj panosuna matkap delikleri ve oyuklar yerleştirilmelidir. LED'lere karşılık gelecek şekilde 5 mm çapında delikler açılmıştır. Çeşitli 7 segmentli ekranların boyutlarına karşılık gelen bir dekupaj testeresi ile dikdörtgen delikler kesildi.

Her LED ışığı, pozitif terminale bağlı bir dirençle küçük bir devre tahtasına lehimlenmiştir. Pozitif ve negatif terminaller için standart 2,54 mm erkek pin başlı konektörler kullanıldı. Breadboard, LED'i ince kontrplak montaj panosuna sabitlemeyi kolaylaştırdı. Her bir LED ışık tertibatı, montaj panosunda doğru konumlarına monte edildi. Bunları sabitlemek için küçük M1.7 çaplı Phillip başlı çelik vidalar kullanıldı.

Ardından, her 7 segmentli ekranın montaj panosuna sabitlenmesi gerekiyordu. Ekran PCB'lerinin 4 köşesindeki montaj delikleri aynı küçük montaj vidaları ile kullanılmıştır.

Arduino mega kartı, güç dağıtım bloğu ve I2C dağıtım bloğu, küçük ahşap vidalar ve ara parçalar ile montaj kartı tabanına sabitlendi. Diğer iki küçük breadboard, 90 derecelik bir açıyla sağ taraftaki tabana sabitlendi. Hedef montajdan bağlanması gereken IR sensörleri için giriş pinleri ve oyuncu(lar) tarafından konumlandırılacak oyun kontrol kutusundan atari butonlarıdır.

9 voltluk bir pil ve kablo demeti, montaj panosunun içine sabitlendi. Kablonun pozitif tarafı, ahşap skorbord kasasındaki açma/kapama düğmesi anahtarı ile birleştirilecektir.

Son olarak, tezgah kurulumunda mükemmelleştirilmiş kablolama şeması izlenerek tüm bileşenler bağlandı.

Adım 11: Hepsini Bir Araya Getirmek

Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy
Hepsini bir araya koy

Son adım, skor tabelasını mevcut Executive Par 3 Golf Oyununa, oyunun oynanmasına engel olmayacak şekilde eklemekti. Ayrıca, herhangi bir çetele bağlantı sistemi çıkarılabilir olacak, böylece paketlenebilecek ve oyunun taşınabilirliğini engellemeyecek. Benzer şekilde, yerde durmaması ve oyuncuların koyduğu yere daha yakın olmaması için düğme kutusu için bir stand yapmam gerekiyordu.

Lütfen ekteki fotoğraflara bakın. Skorbord kasasını ve düğme kasasını doğru seviyeye yükseltmek için 7/8” çapında dübeller kullanılmıştır. Üç dübel 24” uzunluğunda kesildi. Ortasında delinmiş 7/8” delikli bir kontrplak taban, dübellerden birini kabul edecek şekilde imal edilmiştir. Plastik düğme kasasının arkasına karşılık gelen bir çam ağacı parçası takıldı. Ayrıca, dübelin diğer ucunu kabul etmek için altta delinmiş bir 7/8”deliği vardı. Şimdi düğme kasası standı tamamlandı. Tutkal kullanılmamaktadır. Stand, oyun oynarken kullanılabilecek kadar sağlamdır, ancak nakliye için kolayca kırılabilir.

Skorbord, aynı konsept kullanılarak hedef tahtası düzeneğine bağlandı. 15” uzunluğundaki bir çam tahtası parçasının bir yüzeyi, hedef düzeneğin oynamaya hazır hale getirildiği 30 derecelik açıya karşılık gelecek şekilde 60 derecelik bir açıyla kesilmiştir. Bu, bu tahtanın üstünü yatay olarak yerleştirir. 24” uzunluğundaki dübelleri kabul etmek için 11” aralıklı iki 7/8” delik delinmiş ve daha sonra parça hedef tertibatın arkasına vidalanmıştır. Daha sonra, ¾”düşünceli çamın bir hurda parçası, 11” aralıklı delinmiş 7/8” çapında delikler ile skorbord kasasının altına vidalandı. İki dübel, saha dışı ağdan geçirildi ve hem hedef tahtası düzeneğine hem de çetele kasasının alt kısmına yerleştirildi.

Karşılık gelen erkek konektörlere sahip 4 telli bir kablo, çetelenin arkasından düğme kasasına kadar uzanıyordu. Karşılık gelen dişi ve erkek konektörlere sahip ikinci bir 6 telli kablo, hedef düzeneğin (IR sensörleri) arkasından çetelenin arkasındaki karşılık gelen konuma geçirildi. Artık Executive Par 3 Golf G ame'nin tek oyunculu veya iki oyunculu versiyonunu oynarken otomatik puanlama için elektronik kurulum tamamlandı.

Adım 12: Postscript

dipnot
dipnot
dipnot
dipnot
dipnot
dipnot
dipnot
dipnot

Oyunu test ederken, puanlama deliğinden düşen bir golf topunun her zaman sayılmadığını fark ettim. IR sensörlerinin düzgün çalışıp çalışmadığını veya daha fazla sensör takmam gerekip gerekmediğini merak ettim. Sonra, 3 ½” çapındaki deliğin en sağında ve solunda golf topunun, puanlama deliğinin tam ortasına yerleştirilmiş IR sensörleri tarafından “görülmediği” aklıma geldi (IR ışını değildi). kırılıyor). Kurallı bir golf topunun çapının 1.68 inç olduğunu buldum. Matematiksel olarak, 3 ½” çapında bir deliğin yarısı 1.75 inç olacaktır. Bu yüzden golf topunun aşırı sol ve sağ taraftan delikten düştüğü ve IR ışınını kırmadığı yerde mümkün olduğunu tahmin ediyorum.

Geriye dönüp baktığımda, puanlama deliklerini 3” çapında kesmeliydim. Ancak bu oyun için, bunu düzeltmenin en basit yolu, hedef tahtayı ters çevirip her deliğin sol ve sağ tarafına fazladan vinil zemin kenarları yerleştirmekti. Esnek vinili, deliği ½” ya da daha fazla örtüşecek şekilde yerleştirdim. Hedef tahtası ters çevirdiğinizde, malzemenin deliğin kenarının altında olduğunu ve golf topunun delikten serbestçe düşmesine engel olmadığını göreceksiniz.

Bu sorunu düzeltti ve oyun mükemmel bir şekilde çalışıyor. Son birkaç haftadır oyunu oynarken, golf toplarının oyuncunun skorunda doğru sayılmadığı bir durum fark etmedim.

Önerilen: