Mundarija:

Golf 3 uchun Executive Par 3 avtomatik o'yini: 12 qadam (rasmlar bilan)
Golf 3 uchun Executive Par 3 avtomatik o'yini: 12 qadam (rasmlar bilan)

Video: Golf 3 uchun Executive Par 3 avtomatik o'yini: 12 qadam (rasmlar bilan)

Video: Golf 3 uchun Executive Par 3 avtomatik o'yini: 12 qadam (rasmlar bilan)
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Noyabr
Anonim
Executive Par 3 golf o'yini uchun avtomatik ball
Executive Par 3 golf o'yini uchun avtomatik ball
Executive Par 3 golf o'yini uchun avtomatik ball
Executive Par 3 golf o'yini uchun avtomatik ball

Men yaqinda ko'chma va ichki va tashqarida ham o'ynaladigan qiziqarli o'yinni yaratish bo'yicha ko'rsatma berdim. U "Executive Par 3 Golf Game" deb nomlanadi. Men har bir futbolchining 9 "teshik" uchun to'plagan ballarini qayd qilish uchun replika balli kartasini ishlab chiqdim. Haqiqiy golfda bo'lgani kabi, eng past ball ham g'alaba qozonadi.

Men o'ylashim kerak; ballarni avtomatik tarzda kuzatib tursam nima bo'lardi?

1 -qadam: Golf to'pini elektron hisoblash

Golf to'pini elektron hisoblash
Golf to'pini elektron hisoblash

Men dumaloq golf to'pi to'p teshigidan tushganini sanashning yo'lini topishim kerak edi. Esda tutingki, har bir teshikning ballari har xil bo'ladi, "Ace" teshigi eng past nuqta qiymatiga ega. Men oldingi o'yinlarda infraqizil (IQ) uzilish nurlari sensorlaridan foydalanganman va ularni ham shu o'yinga kiritaman deb o'ylaganman. Men Adafruit Industries kompaniyasining "IQ uzilish nurlari sensori - 3 mm LED" deb nomlangan mahsulotidan foydalandim. Mahsulot identifikatori 2167:

www.adafruit.com/product/2167

Ular juft bo'lib sotiladi (emitent va qabul qilgich) va harakatni aniqlashning oddiy usulini taklif qiladi. Ular bir -biridan 10 dyuymgacha ishlaydi va Arduino 5V quvvat manbai bilan quvvatlanishi mumkin. Siz ularni Arduino-ga o'rnatilgan tortishish qarshiligi bilan ishlatishingiz mumkin, shuning uchun alohida qarshilik ko'rsatishga hojat yo'q. Emitent IQ nurini yuboradi va uning qarshisidagi qabul qilgich IQ nuriga sezgir bo'ladi. Agar biror narsa nurdan o'tib ketsa (golf to'pi kabi), nur uzilib qoladi va qabul qiluvchini dasturlash mumkin.

2 -qadam: Sensorlarni maqsadli taxtaga o'rnatish

Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish
Sensorlarni maqsadli taxtaga o'rnatish

Nishon taxtasi atrofdagi shkafga biriktirilmagan. U faqat 2 dyuymli burchak balandligi oralig'ida o'tirdi, shuning uchun men uni olib tashladim va datchiklarni o'rnatish uchun aylantirdim. Men to'pni erkin tushishiga xalaqit bermasliklari uchun kontrplak taxtasining pastki qismiga IQ sensorlarini o'rnatishim kerak edi. Har bir ochiladigan teshikning qarama -qarshi tomonlarida diametri 1 dyuymli teshik 3/8 dyuym chuqurlikda burg'ulandi. IQ qabul qilgich va emitent, sharlar ularga tegmasligi uchun teshik chetiga joylashtirilgan. Ular doimiy ravishda kichik yog'och vint va bir oz epoksi elim bilan o'rnatilgandir, shuning uchun ular bir -biriga mukammal tekislangan.

3 -qadam: Sensorlarni maqsadli taxtaga ulash

Sensorlarni maqsadli taxtaga ulash
Sensorlarni maqsadli taxtaga ulash
Sensorlarni maqsadli taxtaga ulash
Sensorlarni maqsadli taxtaga ulash

IQ sensorlar o'rnatilgandan so'ng, ular umumiy simlar va 5V ulanishlari uchun birlashtirilishi kerak edi. Har bir chiqish simini (oq) nishon taxtasining chetiga cho'zish kerak edi. Har bir simga nishon taxtasi moslamasining orqa shkafini kengaytirish uchun 6 simli ayol konnektori ulangan. Gol to'pi teshikdan o'tib ketishiga xalaqit bermaslik uchun barcha simlar o'ralgan va o'yin taxtasining ichki qismiga mahkam bog'langan.

4 -qadam: Hisob jadvalini yaratish

Hisob jadvalini yaratish
Hisob jadvalini yaratish
Hisob jadvalini yaratish
Hisob jadvalini yaratish
Hisob jadvalini yaratish
Hisob jadvalini yaratish

Bu yo'riqnomada bir oz yog'och ishlov berish kerak edi. Yog'ochdan yasalgan to'rtburchaklar taxta korpusi ½ dyuymli qalin kontrplakdan yasalgan. Kosonning o'lchamlari 15 5/8 dyuymli kengligi 9 dyuymli balandligi x 4 dyuym. Fotosuratlarda bu korpusni qurish ketma -ketligini ko'rishingiz mumkin. Har bir korpusning ichki tomoniga xuddi shu chetidan ¼ dyuymli keng dado truba qo'yilgan. Ushbu truba qalinligi 0,2 dyuymli pleksiglasli ikkita varaq orasiga joylashtirilgan tablo jadvalini ushlab turish uchun ishlatiladi. Kesiladigan korpusning oxirgi qismi - elektron komponentni o'rnatish taxtasi. Bu taxta qalinligi 1/8 dyuymli kontrplakdan kesilgan va poydevor bo'lib xizmat qilish uchun qarag'ay bo'lagiga to'g'ri burchak ostida biriktirilgan. Bu, shuningdek, ishning o'ziga biriktirish vositasi bo'lib xizmat qiladi. Kichkina burchakli mustahkamlovchi qismlar orasiga taxta qo'yilishi kerak edi.

Shuningdek, skorbord qutisiga yoqish/o'chirish tugmasi o'rnatiladi. U tasodifan urilishdan himoya qilish uchun korpusning tashqi tomoniga chuqur joylashtirilgan holda o'rnatiladi. Yoqish/o'chirish tugmasi Arduino Uno taxtasi va tablodagi boshqa barcha elektron komponentlarni quvvatlaydigan 9 voltli shahar batareyasi manbaiga ulanadi.

5 -qadam: Hisob jadvali grafikasini loyihalash

Hisob jadvali grafikasini loyihalash
Hisob jadvali grafikasini loyihalash

Men o'zim skorbord grafikasini chizish o'rniga, PowerPoint -da bitta dizayn yaratishga qaror qildim va har xil ko'rsatkichlar uchun oynalarni kesib tashladim. Men tabloda o'yinchilarga fikr bildirishni va iloji boricha ko'proq ma'lumotni ko'rsatishni xohlardim. Bunga quyidagilar kiradi:

1. Oxirgi qo'yilgan golf to'pi uchun boshqa rangli chiroq.

2. Qaysi teshik o'ynayotganingizni ko'rsatadigan displey (1-9).

3. 2 o'yinchi tugmasi bosilsa yonadigan chiroq.

4. Yangi o'yin uchun chiroq yonadi (Reset tugmasi bosildi)

5. Har bir o'yinchi hisobi uchun ikkita displey.

Yakuniy grafik biriktirilgan faylda ko'rsatilgan. Ko'rsatkichlar uchun qora to'rtburchaklar kesiladi.

6 -qadam: O'yin kiritish tugmalari (kalitlari) va Case

O'yin kiritish tugmalari (kalitlari) va Case
O'yin kiritish tugmalari (kalitlari) va Case
O'yin kiritish tugmalari (kalitlari) va Case
O'yin kiritish tugmalari (kalitlari) va Case
O'yin kiritish tugmalari (kalitlari) va Case
O'yin kiritish tugmalari (kalitlari) va Case

O'yin jarayonini nazorat qilish uchun bir nechta tugmalar kerak edi. Kerakli uchta kirish tugmasi:

1. Qayta tiklash yoki yangi o'yin (yashil)

2. 1 va 2 o'yinchi o'yini (oq)

3. Double Bogey (chegaradan tashqarida-Qizil)-bu erda IQ sensori ishlatilmas edi. O'yinchilar bahosiga 5 ball qo'shiladi.

Men 3 ta arja tugmachalarini o'rnatish uchun standart plastik elektron korpusdan foydalanardim. Ish Amazondan olingan. Uning o'lchami 7 dyuym kengligida x 4 dyuym uzunligida x 2 3/8 dyuym. Har bir arja tugmasi biriktirilgan mikro kalit bilan bir lahzali kalit kabi ishlaydi. Diametri 1-1/8 dyuym bo'lgan standart teshiklar korpusning yon tomonida kesilgan va teng ravishda joylashtirilgan. Tugmalar o'rnatildi va kichik o'tkazgichlar, mikro kalitlarning 3 chiqish liniyasi va 2,54 mm erkak pinli boshli ulagichi bo'lgan kichik non taxtasiga lehimlangan umumiy chiziq bilan ishlab chiqarildi.

7 -qadam: Scoreboard komponentlari

Hisob jadvali komponentlari
Hisob jadvali komponentlari
Hisob jadvali komponentlari
Hisob jadvali komponentlari
Hisob jadvali komponentlari
Hisob jadvali komponentlari

Hisob jadvalining tarkibiy qismlari quyidagilardan iborat bo'lishi kerak.

A. Har bir o'yinchining bahosi uchun ikkita 4 xonali, 7 segmentli ikkita LED va bitta raqamli 7 segmentli LED ular o'ynayotgan "teshik" ni kuzatish uchun ishlatiladi. 4 xonali, 7 segmentli LEDlar Adafruit Industries kompaniyasidir. Ular 12C ryukzakli "1,2" 4-raqamli 7-segmentli displey-Qizil "deb nomlangan. Sizga ikkitasi kerak va mahsulot identifikatori - 1269. Quyiga qarang:

www.adafruit.com/product/1269

B. Katta o'lchamli (1,3 dyuymli) bitta raqamli 7 segmentli LED eBay-dan umumiy xarid edi. Har qanday katta o'lchamli displey ishlaydi va umumiy katod yoki anodga asoslangan 7 segmentli LED uchun to'g'ri simli bo'lishi kerak. Displeyni o'rnatishni soddalashtirish uchun u birinchi navbatda etarlicha katta hajmli plastinkaga lehimlangan, shuning uchun 220 ohmli rezistorlar har bir alohida LED segmentli simlarga lehimlanishi mumkin edi. Umumiy katodli simi va 7 ta LED simi Arduino kartasiga sim o'tkazishni osonlashtirish uchun 2,54 mm erkak pinli boshli ulagichga ulangan.

C. Har xil rangdagi 3 vdc LED chiroqlar tabloga joylashtiriladi, bu esa to'p to'pi o'tib ketgan mos keladigan teshikka qadar yonadi. Men yangi o'yin qachon boshlanishini va 2 o'yinchi tugmasi qachon bosilganligini ko'rsatish uchun LED chiroqlardan foydalanardim. Ranglar quyidagilar:

Oq = Ace

Moviy = Qush

Sariq = Par

Qizil = Bogey

Yashil = Qayta o'rnatish/Yangi o'yin

Oq (pastda) = 1 va 2 o'yinchi

D. Har xil komponentlarni boshqarish uchun Arduino Atmega2560 taxtasi ishlatilgan. Menga standart Arduino kartasidan ko'ra ko'proq kirish/chiqish pinlari kerak edi.

E. Barcha displeylarda ishlaydigan I2C liniyalari uchun lehimli non taqsimlash bloki ishlatilgan (4 raqamli, 7 segmentli LED va LCD monitor).

F. Amazondan quvvat taqsimlash bloki sotib olindi. Bu har bir komponentga barcha 5V va umumiy chiziqlarni tarqatish uchun ishlatilgan. Pastga qarang:

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

G. Oxirgi komponent 9 voltli quvvat kabeli bo'lgan batareya edi.

H. Har xil simli ulagichlar turli komponentlarni bir -biriga ulashlari kerak

8-qadam: Arduino dastgohini o'rnatish

Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish
Arduino dastgohini o'rnatish

Skameykaning o'rnatilishi tegishli rasmlarda ko'rsatilgan. Skameykada tortishish tugmachalari IQ-datchiklarni taqlid qilish uchun ishlatilgan. Men test skameykasida o'zgaruvchilarni kuzatish va skorbordni boshqaruvchi kodning to'g'ri ishlashini tekshirish uchun 4 qatorli LCD monitordan foydalanaman. Men buni ketma -ket monitor o'rniga ishlatishni yaxshi ko'raman.

7-segmentli LED displeylar skameykada, 1-o'yinchi va 2-o'yinchi ko'rsatkichlari to'g'ri ishlashi ko'rsatildi. Arduino kodini biroz tahrir qilgandan so'ng, men bitta raqamli "teshik" displeyining to'g'ri ishlashini ta'minladim. Simulyatsiya qilingan 2-o'yinchi, yangi o'yin va dubli tugmalar va oxirgi golf to'pi LED yoritgichlari taxtaga qo'yildi. Ularning barchasi sinovdan o'tkazildi va to'g'ri ishlashi ko'rsatildi.

Arduino pinini tayinlash jadvali ham ko'rsatiladi.

9 -qadam: Arduino kodi

O'yin oqimini nazorat qilish va ballarni to'g'ri qo'shish uchun Arduino kodi biriktirilgan.

Kodning birinchi qismi sizga kerakli ba'zi kutubxonalarni o'z ichiga oladi. Shuningdek, u IQ sensorlar va o'yinlarni boshqarish tugmalari uchun Arduino pinlarini belgilaydi, barcha o'zgaruvchilarni e'lon qiladi va foydalanuvchi tomonidan belgilanadigan ikkita funktsiyani aniqlaydi. Bir funktsiya, sevenSegWrite (raqamli), katta o'lchamli, bitta xonali, 7 segmentli displeyda ko'rsatiladigan raqamni boshqaradi (siz o'ynayotgan "Teshik") va boshqa funktsiyani, boshqaruv paneli (int), qaysi LED ko'rsatilishini (yoqilgan) boshqaradi.) tabloda.

Setup () funktsiyasida men barcha OUTPUT va INPUT pinlarini aniqladim. E'tibor bering, 5 P kuchlanishli 20K ohmli ichki rezistorni ishlatadigan ichki PULLUP rezistori ishlatiladi. Bu esa, kalit ochiq bo'lganda YUQORI o'qiladi va yopilganda LOW past bo'ladi. Qo'shimcha rezistor kerak emas. Men ham barcha o'zgaruvchilar va 7 segmentli raqamli displeylarni ishga tushirdim va "yangi o'yin" yashil LED chiroqini yoqdim.

Loop () funktsiyasi barcha INPUT pinlarini doimiy o'qish bilan boshlanadi. So'ngra, agar "PIN" tugmachasi LOW (tugma bosilgan yoki IQ sensori nuri uzilgan) o'qilishiga qarab, ma'lum "if" ifodasi bajariladi. Oxirgi "agar" iborasi o'yin tugashini belgilaydi. 9 ta "teshik" o'ynalgandan so'ng, loop () funktsiyasi to'xtaydi va o'yin tugaydi.

10 -qadam: Komponentlarni o'rnatish

Komponentlarni o'rnatish
Komponentlarni o'rnatish
Komponentlarni o'rnatish
Komponentlarni o'rnatish
Komponentlarni o'rnatish
Komponentlarni o'rnatish

Birinchidan, burg'ulash teshiklari va kesmalar har bir komponent jadvalda ko'rsatilgan joyga mos keladigan o'rnatish taxtasiga joylashtirilishi kerak edi. LEDlarga mos keladigan diametri 5 mm bo'lgan teshiklar qilingan. To'rtburchaklar teshiklar 7-segmentli displeylarning o'lchamlariga mos kelishi uchun kesilgan.

Har bir LED nuri kichik terminalga lehimli bo'lib, uning qarshiligi musbat terminalga ulangan. Ijobiy va salbiy terminallar uchun standart 2,54 mm erkak pinli boshli ulagichlar ishlatilgan. Non paneli diodni ingichka kontrplak taxtasiga mahkamlashni osonlashtirdi. Har bir LED yorug'lik moslamasi o'rnatish panelidagi to'g'ri joyiga o'rnatildi. Ularni mustahkamlash uchun diametri kichik M1.7 Phillip boshli po'lat vintlar ishlatilgan.

Keyinchalik, har 7 segmentli displeyni o'rnatish taxtasiga mahkamlash kerak edi. Displey PCBlarining 4 burchagidagi o'rnatish teshiklari xuddi shunday kichik vintlardek ishlatilgan.

Arduino mega -taxtasi, quvvat taqsimlash bloki va I2C tarqatish bloki kichik taxta vintlardek va ajratgichlar bilan o'rnatish taxtasi tagiga o'rnatildi. Boshqa ikkita kichik non paneli 90 graduslik burchak ostida o'ng tarafdagi tayanchga mahkamlangan. Bu maqsadli yig'ilishdan ulanishi kerak bo'lgan IQ sensorlar uchun kirish pinlari va o'yinchi (lar) joylashtiradigan o'yinni boshqarish qutisidagi arja tugmalari.

9 voltli batareya va uning jabduqlari o'rnatish taxtasining ichki qismiga mahkamlangan. Kabelning ijobiy tomoni yog'och taxtali korpusini yoqish/o'chirish tugmasi bilan biriktiriladi.

Nihoyat, barcha komponentlar dastgohni o'rnatishda takomillashtirilgan simlar sxemasiga muvofiq ulandi.

11 -qadam: Hammasini bir joyga to'plash

Hammasini bir joyga to'plash
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash

Oxirgi qadam tablodagi mavjud Executive Par 3 Golf O'yiniga jadvalni o'yinni o'ynashiga xalaqit bermaydigan qilib yopishtirish edi. Bundan tashqari, har qanday skorbord biriktirma tizimi olinadigan bo'lardi, shuning uchun u o'ralgan bo'lishi mumkin va o'yinni ko'chirilishiga to'sqinlik qilmaydi. Xuddi shunday, men tugmachali quti uchun stend yasashim kerak edi, shuning uchun u erga qo'yilmadi va o'yinchilar qo'yadigan joyga yaqinroq joylashdi.

Iltimos, ilova qilingan fotosuratlarga qarang. 7/8 dyuymli dublonlar hisob paneli va tugma qutisini to'g'ri darajaga ko'tarish uchun ishlatilgan. 24 dyuym uzunlikdagi uchta dublon kesilgan. Dübellardan birini qabul qilish uchun o'rtada 7/8 dyuymli teshikli kontrplak asosi yasalgan. Tegishli qarag'ay yog'och qismi plastik tugma qutisining orqa tomoniga biriktirilgan. Bundan tashqari, dubloning boshqa uchini qabul qilish uchun pastki qismida 7/8 dyuymli teshik bor edi. Endi tugmalar qutisi stendi tugallandi. Hech qanday elim ishlatilmaydi. Stend o'yin paytida ishlatilishi uchun etarlicha mustahkam, lekin uni tashish uchun osonlikcha sindirish mumkin.

Hisob paneli xuddi shu kontseptsiya yordamida nishon taxtasi yig'ilishiga biriktirilgan. 15 dyuym uzunlikdagi qarag'ay taxtasining bir yuzasi 60 graduslik burchak bilan kesilgan bo'lib, u o'rnatilayotganda nishon majmuasining 30 graduslik burchagiga to'g'ri keladi. Bu taxtaning yuqori qismini gorizontal joylashtiradi. 24 dyuymli uzun dübellarni qabul qilish uchun bir -biridan 11 dyuymli ikkita 7/8 dyuymli teshik ochildi, so'ngra bo'lak nishonning orqa qismiga vidalandi. Keyingi, "qarag'ay" parchasi, skorbord qutisining pastki qismiga vidalanib, diametri 7/8 dyuymli, diametri 11 dyuymli teshiklar bilan burilgan. Ikkita dublon chegaradan tashqaridagi to'r orqali joylashtirildi va nishon taxtasi yig'ilishida ham, skorbord korpusining pastki qismiga ham itarildi.

Tegishli erkak ulagichlari bo'lgan 4 simli kabel skorbordning orqa qismidan tugma qutisiga o'tkazildi. Ikkinchi 6-simli simi mos keladigan ayol va erkak konnektorlarga ega bo'lib, maqsadli yig'indining orqa tarafidan (IQ sensorlar) skorbordning orqa tomonidagi tegishli joyga o'tkazildi. Endilikda Executive Par 3 Golf G amening bir o'yinchi yoki ikkita o'yinchi versiyasini o'ynab, avtomatik gol kiritish uchun elektron sozlash tugallandi.

12 -qadam: Postscript

Postscript
Postscript
Postscript
Postscript
Postscript
Postscript
Postscript
Postscript

O'yinni sinovdan o'tkazganimda, golf to'pi har doim hisobdan chiqmasligini payqadim. Men IR sensorlar to'g'ri ishlayaptimi yoki ko'proq sensorlar o'rnatishim kerakmi deb o'yladim. Shunda men o'ylab qoldimki, diametri 3 dyuymli teshikning o'ng va chap tomonida, to'p to'pni teshikning o'rtasida joylashgan IQ sensorlar tomonidan ko'rilmayapti (IQ nurlari buzilgan). Men golf to'pining diametri 1,68 dyuymni topdim. Matematik nuqtai nazardan, diametri 3 dyuymli teshikning yarmi 1,75 dyuym bo'ladi. O'ylaymanki, golf to'pi chap va o'ng tomondan teshikdan tushib, IQ nurini sindirmagan joyda bo'lishi mumkin.

Orqaga qarab, men diametri 3 dyuymgacha bo'lgan teshiklarni kesib tashlashim kerak edi. Ammo bu o'yin uchun buni tuzatishning eng oddiy usuli - maqsadli taxtani ag'darish va har bir tuynukning chap va o'ng tomoniga ortiqcha vinil taxta qirralarini o'rnatish. Men egiluvchan vinilni shunday joylashtirdimki, u teshikni ½ yoki shunga o'xshash qilib yopib qo'ydi. Nishon taxtasini teskari burganingizda, material teshik chetidan pastda ekanligini va golf to'pining teshikdan erkin tushishiga xalaqit bermasligini ko'rasiz.

Bu muammoni hal qildi va o'yin mukammal ishladi. So'nggi bir necha hafta mobaynida o'yin o'ynab, men o'yinchi hisobida golf to'plari to'g'ri hisoblanmaganini ko'rmadim.

Tavsiya: