Mündəricat:

Executive Par 3 Golf Oyunu üçün avtomatik qol: 12 addım (şəkillərlə)
Executive Par 3 Golf Oyunu üçün avtomatik qol: 12 addım (şəkillərlə)

Video: Executive Par 3 Golf Oyunu üçün avtomatik qol: 12 addım (şəkillərlə)

Video: Executive Par 3 Golf Oyunu üçün avtomatik qol: 12 addım (şəkillərlə)
Video: Learn French While You Sleep - A2 - French Conversation 2024, Noyabr
Anonim
Executive Par 3 Golf Oyunu üçün avtomatik qol
Executive Par 3 Golf Oyunu üçün avtomatik qol
Executive Par 3 Golf Oyunu üçün avtomatik qol
Executive Par 3 Golf Oyunu üçün avtomatik qol

Bu yaxınlarda portativ və həm içəridə, həm də xaricdə oynanıla bilən əyləncəli bir oyun qurmaq üçün bir Təlimat göndərdim. "Executive Par 3 Golf Oyunu" adlanır. Hər bir oyunçunun 9 "deşik" üçün hesab yazması üçün bir replika hesab kartı hazırladım. Əsl qolfda olduğu kimi, ən aşağı bal qazanır.

Düşünməliyəm; balları avtomatik olaraq izləyə bilsəm nə olar?

Addım 1: Golf Topunun Elektron Sayılması

Golf Topunun Elektron Sayılması
Golf Topunun Elektron Sayılması

Bir qol çuxurundan yuvarlanan bir golf topunu saymaq üçün bir yol tapmalıydım. Unutmayın ki, hər bir çuxur fərqli bir dəyərə malikdir və "Ace" çuxuru ən aşağı nöqtə dəyərinə malikdir. Əvvəlki oyunlarda İnfraqırmızı (IR) qırılma sensörlərindən istifadə etmişəm və onları da bu oyuna daxil edəcəyimi düşünmüşəm. Adafruit Industries -dən "IR Break Beam Sensor - 3mm LED" adlı bir məhsul istifadə etdim. Məhsul ID -si 2167 -dir:

www.adafruit.com/product/2167

Cüt olaraq satılır (yayıcı və alıcı) və hərəkəti aşkar etmək üçün sadə bir yol təqdim edirlər. Aralarında 10 düymə qədər işləyirlər və Arduino 5V enerji təchizatı ilə təchiz oluna bilərlər. Bunları quraşdırılmış Arduino çəkmə rezistoru ilə istifadə edə bilərsiniz, buna görə ayrı bir müqavimətçi lazım deyil. Emitent bir IR şüası göndərir və birbaşa onun qarşısındakı alıcı bu İQ işığına həssasdır. Şüadan möhkəm bir şey keçərsə (golf topu kimi), şüa qırılır və alıcı sizə bildirmək üçün proqramlaşdırıla bilər.

Addım 2: Sensorları Hədəf lövhəsinə quraşdırın

Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması
Sensorların Hədəf lövhəsinə quraşdırılması

Qoyulan hədəf lövhəsi ətrafdakı kabinetə yapışdırılmadı. Sadəcə 2 düymlük künc hündürlük aralığına oturdu, buna görə də çıxarıb sensorları bağlamaq üçün çevirə bildim. Qırmızı topların sərbəst düşməsinə mane olmamaları üçün İQ sensorlarını kontrplak lövhəsinin altına quraşdırmalıydım. Hər bir qol çuxurunun əks tərəflərində 3/8 düym dərinliyə qədər 1”diametrli bir çuxur qazılmışdır. IR qəbuledicisi və yayıcısı, topların onlara dəyməməsi üçün çuxurun kənarına yerləşdirildi. Kiçik bir taxta vida və bir az epoksi yapışqan ilə daimi olaraq quraşdırılmışdır, buna görə də bir -birlərinə mükəmməl uyğunlaşdırılmışdır.

Addım 3: Hədəf Lövhəsindəki Sensorların Kabelləşdirilməsi

Hədəf Lövhəsindəki Sensorların Kabellənməsi
Hədəf Lövhəsindəki Sensorların Kabellənməsi
Hədəf Lövhəsindəki Sensorların Kabellənməsi
Hədəf Lövhəsindəki Sensorların Kabellənməsi

İQ sensörlərinin hamısı monte edildikdən sonra, ümumi zəmin və 5V əlaqələri üçün bir -birinə bağlanmalıdır. Hər bir çıxış telini (ağ) hədəf lövhəsinin kənarına qədər uzatmaq lazım idi. Hədəf lövhəsi qurğusunun arxa kabinetini uzatmaq üçün hər telə 6 telli qadın konnektoru bağlandı. Bir qol çuxurundan keçdikdən sonra bir topun geri qayıtmasına mane olmamaq üçün bütün naqillər aşağı salındı və oyun lövhəsinin içərisinə möhkəm bağlandı.

Addım 4: Hesab lövhəsi qutusunun qurulması

Hesab lövhəsi qutusunun qurulması
Hesab lövhəsi qutusunun qurulması
Hesab lövhəsi qutusunun qurulması
Hesab lövhəsi qutusunun qurulması
Hesab lövhəsi qutusunun qurulması
Hesab lövhəsi qutusunun qurulması

Bu Təlimat kitabında hələ də bir az ağac emalı lazım idi. Taxta düzbucaqlı lövhə qutusu ½”qalınlığında kontrplakdan hazırlanmışdır. Davanın ölçüləri 15 5/8 "enində x 9" yüksəklikdə x 4 "dərinliyindədir. Fotoşəkillərdə bu davanın qurulma ardıcıllığını görə bilərsiniz. Hər bir kənarın içərisinə eyni kənar kənarından ¾”genişliyində geniş bir dado yivi qoyulmuşdur. Bu yiv, 0,2 düym qalınlığında pleksiglasdan iki təbəqə arasına yerləşdirilmiş tablo lövhəsinin qrafikini saxlamaq üçün istifadə olunacaq. Kassanın kəsiləcək son hissəsi elektron komponent montaj lövhəsidir. Bu lövhə 1/8 "qalınlığında kontrplakdan kəsilmiş və as" şam parçasına əsas kimi xidmət etmək üçün düzgün açı ilə yapışdırılmışdır. Davanın özünə bağlanma vasitəsi olaraq da xidmət edəcək. Lövhə kiçik künc dayaq parçaları arasına girmək üçün çentikli olmalı idi.

Açılış/söndürmə düyməsi də lövhə qutusuna quraşdırılacaq. Qəzanın təsadüfən vurulmasından qorumaq üçün korpusun kənarına girintili vəziyyətdə yerləşdiriləcək. Açma/söndürmə açarı, Arduino Uno lövhəsinə və hesab lövhəsinin bütün digər elektron komponentlərinə güc verən 9 volt DC batareya mənbəyinə uyğun olaraq bağlanacaq.

Addım 5: Hesab lövhəsi qrafikinin dizaynı

Hesab lövhəsinin qrafik dizaynı
Hesab lövhəsinin qrafik dizaynı

Özüm bir skorbord qrafiki çəkmək əvəzinə, PowerPoint -də bir dizayn hazırlamağa və müxtəlif skor ekranları üçün pəncərələri kəsməyə qərar verdim. Hesab lövhəsinin oyunçulara geribildirim verməsini və mümkün qədər çox məlumat göstərməsini istədim. Daxil olacaq:

1. Qoyulan son qolf topu üçün fərqli bir rəng işığı.

2. Oynadığınız çuxuru göstərən bir ekran (1-9).

3. 2 oyunçu düyməsinə basıldıqda yanan işıq.

4. Yeni bir oyun üçün işıq yanır (Sıfırlama düyməsinə basıldı)

5. Hər bir oyunçunun hesabına görə iki ekran.

Son qrafik əlavə edilmiş faylda göstərilir. Qara ekranlar üçün qara düzbucaqlılar kəsiləcək.

Addım 6: Oyun Giriş Düymələri (Açarlar) və Kassa

Oyun Giriş Düymələri (Açarlar) və Kassa
Oyun Giriş Düymələri (Açarlar) və Kassa
Oyun Giriş Düymələri (Açarlar) və Kassa
Oyun Giriş Düymələri (Açarlar) və Kassa
Oyun Giriş Düymələri (Açarlar) və Kassa
Oyun Giriş Düymələri (Açarlar) və Kassa

Oyunun gedişatını idarə etmək üçün bir neçə düymə lazım idi. Lazım olan üç giriş düyməsi bunlar idi:

1. Sıfırla və ya Yeni Oyun (Yaşıl)

2. 1 vs 2 oyunçulu oyun (Ağ)

3. Double Bogey (Sınırsız-Qırmızı)-heç bir IR sensoru istifadə edilə bilməz. Oyunçuların hesabına 5 bal əlavə olunacaq.

3 arcade düyməsini bağlamaq üçün standart bir plastik elektron qutudan istifadə etdim. Dava Amazon -dan alındı. Ölçüsü 7 ½”enində x 4 ¼” uzunluğunda x 2 3/8”dərinliyindədir. Əlavə edilmiş mikro açarı olan hər bir arcade düyməsi bir anlıq keçid kimi çıxış edəcək. 1-1/8 diametrli standart deliklər korpusun yan tərəfində kəsilmiş və bərabər şəkildə ayrılmışdır. Düymələr quraşdırıldı və kiçik açar telləri, mikro açarların 3 çıxış xətti və 2,54 mm kişi pin başlı konnektoru olan kiçik bir çörək taxtasına lehimlənmiş ümumi bir torpaq xətti ilə istehsal edildi.

Addım 7: Scoreboard Komponentləri

Hesab lövhəsi komponentləri
Hesab lövhəsi komponentləri
Hesab lövhəsi komponentləri
Hesab lövhəsi komponentləri
Hesab lövhəsi komponentləri
Hesab lövhəsi komponentləri

Hesab lövhəsinin komponentləri aşağıdakılardan ibarət olacaq:

A. Hər bir oyunçunun hesabına görə iki 4 rəqəmli, 7 seqmentli LED və oynadıqları "çuxuru" izləmək üçün tək rəqəmli 7 seqmentli LED istifadə ediləcək. 4 rəqəmli 7 seqmentli LEDlər Adafruit Industries-dəndir. Onlara 12C Sırt Çantası olan "1.2" 4 Rəqəmli 7 Segmentli Ekran-Qırmızı "deyilir. Bunlardan ikisinə ehtiyacınız var və Məhsul ID'si 1269 -dur. Aşağıya baxın:

www.adafruit.com/product/1269

B. Böyük (1,3 ) tək rəqəmli 7 seqmentli LED, eBay-dən ümumi bir alış idi. Hər hansı bir böyük ekran işləyəcək və ümumi bir katod və ya ümumi anod əsaslı 7 seqmentli LED üçün düzgün şəkildə bağlanmalıdır. Ekranın montajını asanlaşdırmaq üçün əvvəlcə kifayət qədər böyük bir çörək taxtasına lehimləndi, beləliklə 220 ohm müqavimətçilər bütün fərdi LED seqmentlərinə lehimlənə bilər. Ümumi katot qurğusu və 7 LED aparatı, Arduino lövhəsinə naqilləri asanlaşdırmaq üçün 2.54 mm -lik kişi pin başlı konnektora qoşuldu.

C. Müxtəlif rəngli 3 vdc LED işıqları, qoyulmuş golf topunun keçdiyi müvafiq qol çuxuruna qədər işıqlandırmaq üçün tabloda yerləşdiriləcək. Yeni bir oyunun başladığını və 2 oyunçu düyməsinə nə vaxt basıldığını göstərmək üçün LED işıqlarından da istifadə etdim. Rənglər bunlardır:

Ağ = Ace

Mavi = Quş

Sarı = Par

Qırmızı = Bogey

Yaşıl = Sıfırla/Yeni Oyun

Ağ (aşağıda) = 1 vs 2 Oyunçu

D. Müxtəlif komponentləri idarə etmək üçün Arduino Atmega2560 lövhəsi istifadə edilmişdir. Standart Arduino lövhəsindən daha çox giriş/çıxış pininə ehtiyacım var idi.

E. Bütün ekranlara gedən I2C xətləri üçün lehimli bir çörək paylama bloku istifadə edilmişdir (4 rəqəmli, 7 seqmentli LED və LCD monitor).

F. Amazon -dan enerji paylama bloku alındı. Bu, hər bir komponentə bütün 5V və ümumi yer xətlərini paylamaq üçün istifadə edilmişdir. Aşağıya baxın:

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

G. Lazım olan son komponent, elektrik kabeli olan 9 voltluq bir batareya idi.

H. Müxtəlif tel bağlayıcıları müxtəlif komponentləri bir -birinə bağlamalıdır

Addım 8: Arduino tezgahının qurulması

Arduino tezgahının qurulması
Arduino tezgahının qurulması
Arduino tezgahının qurulması
Arduino tezgahının qurulması
Arduino tezgahının qurulması
Arduino tezgahının qurulması
Arduino tezgahının qurulması
Arduino tezgahının qurulması

Tezgahın qurulması müvafiq şəkillərdə göstərilmişdir. Dəzgahdakı çəkmə düymələri, IR şüalarını ayırmaq üçün istifadə edildi. Dəyişənləri izləmək və hesab lövhəsini idarə edən kodun düzgün işlədiyinə əmin olmaq üçün test skamyamda 4 sətirli LCD monitordan istifadə edirəm. Bunu seriyalı monitor yerinə istifadə etməyi sevirəm.

7 seqmentli LED displeylər skamyada göstərilir, həm Oyunçu 1, həm də Oyunçu 2 skorlarının düzgün işlədiyi göstərilir. Arduino kodunu bir qədər düzəltdikdən sonra tək rəqəmli "deşik" ekranın düzgün işləməsini təmin edə bildim. Simulyasiya edilmiş 2 oyunçu, yeni oyun və ikiqat bataqlıq ani düymələr və son qolf topu LED işıqları çörək taxtasına yerləşdirildi. Hamısı sınaqdan keçirildi və düzgün işlədiyi göstərildi.

Arduino pin təyin cədvəli də göstərilir.

Addım 9: Arduino Kodu

Oyunun gedişini idarə etmək və puanları düzgün əlavə etmək üçün Arduino kodu əlavə olunur.

Kodun birinci hissəsinə ehtiyacınız olan bəzi Kitabxanalar daxildir. IR sensorlar və oyun idarəetmə düymələri üçün Arduino pinlərini, bütün dəyişənləri elan edir və istifadəçi tərəfindən təyin olunan iki funksiyanı təyin edir. Bir funksiya, sevenSegWrite (rəqəm), böyük, birrəqəmli, 7 seqmentli ekranda (oynadığınız “Delik”) göstərilən rəqəmi, digər funksiya isə idarəetmə lövhəli (int), LED-in göstərildiyi (yandırılmış) idarə edir.) hesab lövhəsində.

Setup () funksiyasında bütün Çıxış və GİRİŞ pinlərini təyin etdim. Diqqət, 5 volta qədər çəkilmiş daxili 20K ohm müqavimət istifadə edən daxili PULLUP rezistoru istifadə olunur. Bu, açar açıldıqda girişin YÜKSƏK, bağlandıqda isə LOW oxumasına səbəb olur. Əlavə rezistora ehtiyac yoxdur. Mən də bütün dəyişənləri və 7 seqmentli rəqəmsal ekranları işə saldım və "yeni oyun" yaşıl LED işığını yandırdım.

Loop () funksiyası bütün INPUT pinlərini daim oxumaqla başlayır. Daha sonra hansı giriş pininin LOW oxuduğundan asılı olaraq xüsusi bir "if" ifadəsi icra olunur (düyməyə basıldı və ya IR sensoru şüası qırıldı). Son "əgər" ifadəsi oyunun bitməsini təyin edir. 9 "deşik" oynandıqdan sonra loop () funksiyası dayanır və oyun başa çatır.

Addım 10: Komponentlərin quraşdırılması

Komponentlərin quraşdırılması
Komponentlərin quraşdırılması
Komponentlərin quraşdırılması
Komponentlərin quraşdırılması
Komponentlərin quraşdırılması
Komponentlərin quraşdırılması

Əvvəlcə hər bir komponentin hesab lövhəsi qrafikində tutduğu yerə uyğun olaraq montaj lövhəsinə qazma delikləri və kəsiklər qoyulmalı idi. LEDlərə uyğun olaraq 5 mm diametrli deliklər qazılmışdır. Müxtəlif 7 seqmentli displeylərin ölçülərinə uyğun olaraq düzbucaqlı deliklər yapbozla kəsilmişdir.

Hər bir LED işığı, pozitiv terminala qoşulmuş bir rezistoru olan kiçik bir çörək taxtasına lehimləndi. Müsbət və mənfi terminallar üçün standart 2.54 mm kişi pin başlı konnektorlar istifadə edilmişdir. Çörək taxtası, LED -in nazik kontrplak montaj lövhəsinə bağlanmasını asanlaşdırdı. Hər bir LED işıq qurğusu montaj lövhəsində düzgün yerə quraşdırılmışdır. Onları bağlamaq üçün kiçik M1.7 diametrli Phillip başlı polad vintlər istifadə edilmişdir.

Sonra, hər 7 seqmentli ekran montaj lövhəsinə bərkidilməli idi. Ekranın PCB -lərinin 4 küncündə montaj delikləri eyni kiçik montaj vintləri ilə istifadə edilmişdir.

Arduino mega lövhəsi, güc paylama bloku və I2C paylama bloku kiçik taxta vintlər və aralıqlarla montaj lövhəsinin bazasına bərkidildi. Digər iki kiçik çörək taxtası sağ tərəfdəki bazaya 90 dərəcə bir açı ilə bərkidildi. Hədəf qurğusundan bağlanmalı olan IR sensorlar üçün giriş pinləri və oyunçu (lar) ın yerləşdirəcəyi oyun idarəetmə qutusundakı arcade düymələri.

9 voltluq bir batareya və qoşqu montaj lövhəsinin içərisinə bərkidilmişdir. Kabelin müsbət tərəfi taxta lövhə qutusundakı açma/söndürmə düyməsi ilə birləşdiriləcəkdir.

Nəhayət, bütün komponentlər dəzgah quruluşunda təkmilləşdirilmiş kabel sxeminə uyğun olaraq birləşdirildi.

Addım 11: Hamısını bir yerə yığın

Hamısını bir araya gətirmək
Hamısını bir araya gətirmək
Hamısını bir araya gətirmək
Hamısını bir araya gətirmək
Hamısını bir araya gətirmək
Hamısını bir araya gətirmək

Son addım, tabloyu mövcud Executive Par 3 Golf Oyununa oyunun oynamasına mane olmayacaq şəkildə bağlamaq idi. Ayrıca, hər hansı bir tablo taxma sistemi çıxarıla bilər, buna görə də qablaşdırıla bilər və oyunun daşınmasına mane olmur. Eynilə, düymə qutusu üçün bir dayaq düzəltməyim lazım idi, buna görə yerdə dayanmadı və oyunçuların qoyduğu yerə yaxın yerləşdi.

Zəhmət olmasa əlavə olunmuş fotolara baxın. 7/8 diametrli dübellərdən istifadə edərək hesab lövhəsi qutusunu və düymə qutusunu düzgün səviyyəyə qaldırmaq üçün istifadə edilmişdir. 24 düym uzunluğunda üç dübel kəsildi. Dübellərdən birini qəbul etmək üçün ortasında 7/8 düymlük delik açılmış kontrplak əsası hazırlanmışdır. Plastik düymə qutusunun arxasına uyğun bir şam ağac parçası yapışdırılmışdır. Dübelin digər ucunu qəbul etmək üçün dibində 7/8 düymlük bir delik açılmışdı. İndi düymə qutusu dayağı tamamlandı. Yapışqan istifadə edilmir. Stend oyunu oynayarkən istifadə etmək üçün kifayət qədər möhkəmdir, lakin nəqliyyat üçün asanlıqla parçalana bilər.

Reytinq lövhəsi eyni konsepsiyadan istifadə edərək hədəf lövhə montajına əlavə edildi. 15 düym uzunluğunda bir şam lövhəsinin bir səthi, oyun qurmaq üçün qurulduqda hədəf qurğusunun 30 dərəcə bucağına uyğun olaraq 60 dərəcə bir açı ilə kəsilmişdir. Bu, lövhənin üst hissəsini üfüqi şəkildə yerləşdirir. 24 düymlük dübelləri qəbul etmək üçün 11 düym aralığında iki 7/8 düymlük iki delik açılmış və sonra parça hədəf qurğunun arxasına vidalanmışdır. Sonra, 7/8 düym diametrli 11 düymlük deliklər ilə tablo lövhəsinin dibinə bir ¾ düşüncə şamı vidalanmışdır. İki dübel həddindən artıq tordan keçirildi və həm hədəf lövhə dəstinə, həm də lövhə korpusunun altına yerləşdirildi.

Uyğun kişi bağlayıcıları olan 4 telli bir lövhənin arxasından düymə qutusuna qədər çəkildi. Müvafiq qadın və kişi konnektorlu ikinci 6 telli kabel, hədəf qurğusunun (İR sensorlar) arxasından hesab lövhəsinin arxasındakı müvafiq yerə keçirildi. İndi bir və ya Executive Par 3 Golf G ame-nin iki oyunçulu versiyasını oynayarkən avtomatik hesablama üçün elektron qurğu tamamlandı.

Addım 12: Postscript

Postscript
Postscript
Postscript
Postscript
Postscript
Postscript
Postscript
Postscript

Oyunu sınayarkən bir qol çuxurundan düşən bir golf topunun həmişə sayılmadığını gördüm. İR sensorlarının düzgün işlədiyini və ya daha çox sensoru quraşdırmalı olacağımı düşündüm. Sonra ağlıma gəldi ki, 3 "diametrli çuxurun sağ və sol tərəfində qol topu qol çuxurunun tam ortasında yerləşdirilən İQ sensorlar tərəfindən" görülmür "(IR şüası yox idi) qırılır). Bir golf topunun diametrinin 1.68 düym olduğunu gördüm. Riyazi baxımdan, 3 ½”diametrli bir çuxurun yarısı 1.75 düym olardı. Beləliklə, golf topunun sol və sağ tərəfdən çuxurdan düşdüyü və İK şüasını qırmadığı yerlərdə mümkündür.

Geriyə baxanda, qol deliklərini 3 diametrinə qədər kəsməliydim. Ancaq bu oyun üçün bunu düzəltməyin ən sadə yolu, hədəf lövhəni çevirmək və hər bir çuxurun sol və sağ tərəfində artıq olan vinil döşəmə kənarları quraşdırmaq idi. Mən elastik vinili elə yerləşdirdim ki, çuxur ½”və ya daha çox üst -üstə düşsün. Hədəf lövhəsini geri çevirdikdə, materialın çuxurun kənarında olduğunu və golf topunun çuxurdan sərbəst şəkildə düşməsinə mane olmadığını görəcəksiniz.

Bu problemi həll etdi və oyun mükəmməl işləyir. Son bir neçə həftə ərzində oyunu oynayarkən, qolf toplarının oyunçunun hesabında düzgün sayılmaması halını görmədim.

Tövsiyə: