Мазмуну:

Executive Par 3 Golf Game үчүн автоматтык упай: 12 кадам (сүрөттөр менен)
Executive Par 3 Golf Game үчүн автоматтык упай: 12 кадам (сүрөттөр менен)

Video: Executive Par 3 Golf Game үчүн автоматтык упай: 12 кадам (сүрөттөр менен)

Video: Executive Par 3 Golf Game үчүн автоматтык упай: 12 кадам (сүрөттөр менен)
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Ноябрь
Anonim
Executive Par 3 Golf Game үчүн автоматтык упай
Executive Par 3 Golf Game үчүн автоматтык упай
Executive Par 3 Golf Game үчүн автоматтык упай
Executive Par 3 Golf Game үчүн автоматтык упай

Жакында мен көчмө болгон жана ичинде да, сыртында да ойной турган кызыктуу оюн куруу боюнча Нускаманы жарыяладым. Ал "Executive Par 3 Golf Game" деп аталат. Мен ар бир оюнчунун 9 "тешикке" упайларын жазуу үчүн реплика упай картасын иштеп чыктым. Чыныгы гольфтогудай эле эң аз упай утат.

Ойлонууга туура келди; баллдарды автоматтык түрдө көзөмөлдөй алсамчы?

1 -кадам: Гольф топун электрондук түрдө эсептөө

Гольф топун электрондук түрдө эсептөө
Гольф топун электрондук түрдө эсептөө

Гольф тогу тешилген тешиктен түшүп калганда, мен аны эсептөөнүн жолун табышым керек болчу. Эсиңизде болсун, ар бир тешик башка баага ээ, "Ace" тешиги эң төмөнкү чекитке ээ. Мен мурунку оюндарда Infrared (IR) сынган сенсорлорду колдонгом жана аларды бул оюнга кошом деп ойлогом. Мен Adafruit Industriesтен "IR Break Beam Sensor - 3mm LEDs" деп аталган продуктту колдондум. Продукт ID 2167:

www.adafruit.com/product/2167

Алар экиден сатылат (эмитент жана алуучу) жана кыймылды аныктоонун жөнөкөй жолун сунушташат. Алар 10 дюймга чейин иштешет жана Arduino 5V электр булагы менен иштей алышат. Сиз муну Arduino орнотулган тартма каршылыгы менен колдоно аласыз, андыктан өзүнчө каршылаштын кереги жок. Эмитент IR нурун жөнөтөт жана алуучу түздөн -түз бул IR нуруна сезгич келет. Эгерде нурдан катуу нерсе өтүп кетсе (гольф топу сыяктуу), нур сынган жана ресивер сизге билдирүү үчүн программаланышы мүмкүн.

2 -кадам: сенсорлорду максаттуу тактага орнотуу

Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу
Сенсорлорду максаттуу тактага орнотуу

Киргизилген максаттуу такта тегеректеги кабинетке тиркелген эмес. Ал жөн эле 2 ½”бурчтук бийиктикке орнотулган, ошондуктан мен аны чечип, сенсорлорду орнотуу үчүн оодара алдым. Мен IR сенсорлорун фанеранын тактайынын астына орнотушум керек эле, алар гольф топторунун эркин түшүүсүнө тоскоол болбошу үчүн. Диаметри 1 дюйм болгон ар бир тешиктин карама -каршы тарабында 3/8 дюйм тереңдикте бургуланган. IR кабылдагыч жана эмитент тешиктин алкагынын ичине жайгаштырылган, андыктан шарлар аларга тийбеши керек. Алар кичинекей жыгач бурама жана бир аз эпокси клей менен биротоло орнотулган, ошондуктан алар бири -бирине эң сонун тегизделген.

3 -кадам: Сенсорлорду максаттуу тактага туташтыруу

Максаттуу тактадагы сенсорлордун зымдары
Максаттуу тактадагы сенсорлордун зымдары
Максаттуу тактадагы сенсорлордун зымдары
Максаттуу тактадагы сенсорлордун зымдары

IR сенсорлору орнотулгандан кийин, алар жалпы жерге жана 5В байланыштары үчүн зым менен бириктирилиши керек болчу. Ар бир чыгуу зымы (ак) максаттуу тактанын четине чейин узартылышы керек болчу. Ар бир зымга максаттуу тактайдын арткы кабинетин узартуу үчүн 6 зымдуу аял туташтыргычы бекитилген. Гольф топу гол тешиктен өткөндөн кийин кайра кайтып келүүсүнө тоскоол болбош үчүн, бардык зымдарды чечип, оюн тактасынын ичине бекем бекитилген.

4 -кадам: Scoreboard корпусун куруу

Scoreboard корпусун куруу
Scoreboard корпусун куруу
Scoreboard корпусун куруу
Scoreboard корпусун куруу
Scoreboard корпусун куруу
Scoreboard корпусун куруу

Бул Нускамада дагы бир аз жыгач иштетүү керек болчу. Тик бурчтуу жыгач корпусу ½”калың фанерадан жасалган. Корпустун өлчөмдөрү 15 5/8 "туурасы x 9" бийик х 4 "тереңдикте. Сүрөттөрдөн бул ишти куруунун ырааттуулугун көрө аласыз. Ар бир корпустун ичине ¾”туурасындагы кең диадо оюгу ошол эле четинен киргизилген. Бул оюк 0,2 дюймдук калың плексигласс эки барактын ортосуна жайгаштырылган табло графигин кармоо үчүн колдонулат. Кесиле турган иштин акыркы бөлүгү - электрондук компонентти орнотуучу такта. Бул такта 1/8 дюймдук фанерадан кесилген жана ¾”карагайдын бир бурчуна тик бурчта тиркелип, негиз катары кызмат кылган. Бул ошондой эле иштин өзүнө тиркелүү каражаты катары кызмат кылат. Такта кичинекей бурчтун бекиткичтеринин ортосуна туура келиши үчүн оюкчалуу болушу керек болчу.

Күйгүзүү/өчүрүү баскычы табло корпусуна орнотулат. Капысынан уруп кетүүдөн коргоо үчүн корпустун сыртына оюк абалында орнотулат. Күйгүзүү/өчүрүү өчүрүүчүсү Arduino Uno тактасын жана таблицанын башка бардык электрондук компоненттерин кубаттаган 9 вольттуу DC батареянын булагына ылайык туташат.

5 -кадам: Scoreboard Graphic долбоорлоо

Scoreboard Graphic долбоорлоо
Scoreboard Graphic долбоорлоо

Таблицанын графикасын өзүм боёп көрүүнүн ордуна, мен PowerPoint программасын иштеп чыгууну чечтим жана ар кандай баллдык дисплейлердин терезелерин кесип салдым. Мен табло оюнчуларга пикир билдирип, мүмкүн болушунча көбүрөөк маалыматты көрсөтүшүн кааладым. Камтылган болмок:

1. Акыркы коюлган гольф топунун эсеби үчүн башка түстүү жарык.

2. Кандай тешикти ойноп жатканыңызды көрсөтүүчү дисплей (1-9).

3. 2 оюнчу баскычы басылса күйүп турган жарык.

4. Жаңы оюн үчүн жарык күйөт (Баштапкы абалга келтирүү баскычы басылган)

5. Ар бир оюнчунун упайы үчүн эки дисплей.

Акыркы графика тиркелген файлда көрсөтүлөт. Кара түстүү тик бурчтуктар упай дисплейлери үчүн кесилет.

6 -кадам: Оюн киргизүү баскычтары (Коммутаторлор) жана Case

Оюн киргизүү баскычтары (которгучтар) жана Case
Оюн киргизүү баскычтары (которгучтар) жана Case
Оюн киргизүү баскычтары (которгучтар) жана Case
Оюн киргизүү баскычтары (которгучтар) жана Case
Оюн киргизүү баскычтары (которгучтар) жана Case
Оюн киргизүү баскычтары (которгучтар) жана Case

Оюндун агымын көзөмөлдөө үчүн бир нече баскычтар керек болчу. Керектүү үч киргизүү баскычы:

1. Баштапкы абалга келтирүү же Жаңы оюн (Жашыл)

2. 1 vs 2-player Game (Ак)

3. Double Bogey (Out-of-Bounds-Red)-мында IR сенсорун колдонууга болбойт. Оюнчулардын эсебине 5 деген баа кошулат.

Мен 3 аркада баскычын орнотуу үчүн стандарттуу пластикалык электрондук корпусту колдондум. Иш Amazonдон алынган. Бул 7 '' туурасы x 4 '' бийиктиги x 2 3/8”тереңдигин өлчөйт. Ар бир аркада баскычы микро тиркемеси менен бир заматта эле иштейт. Диаметри 1-1/8”болгон стандарттык тешиктер корпустун капталынан кесилип, бирдей аралыкта жайгашкан. Түймөлөр орнотулган жана кичинекей зым куру микро өчүргүчтөрдүн 3 чыгаруу линиялары жана 2,54 мм эркек пин башынын туташтыргычы бар кичинекей нанга ширетилген жалпы жер линиясы менен даярдалган.

7 -кадам: Scoreboard компоненттери

Таблицанын компоненттери
Таблицанын компоненттери
Таблицанын компоненттери
Таблицанын компоненттери
Таблицанын компоненттери
Таблицанын компоненттери

Таблицанын компоненттери төмөнкүлөрдөн турмак:

A. Ар бир оюнчунун упайы үчүн 4 4 орундуу, 7 сегменттүү LED жана бир разряддуу, 7 сегменттүү LED алар ойноп жаткан "тешикти" көзөмөлдөө үчүн колдонулат. 4 орундуу, 7 сегменттүү LEDлар Adafruit Industriesтен. Алар 12C рюкзагы бар "1.2" 4-сандык 7-сегменттүү дисплей деп аталат-Кызыл ". Сизге булардын экөө керек жана Продукт ID 1269. Төмөндө караңыз:

www.adafruit.com/product/1269

B. Чоң өлчөмдөгү (1,3 дюйм) бир орундуу 7 сегменттүү LED eBayден жалпы сатып алуу болгон. Бардык чоң дисплей иштейт жана жалпы катодго же жалпы анодго негизделген 7 сегменттүү LED үчүн туура зымдалышы керек. Дисплейдин орнотулушун жөнөкөйлөтүү үчүн, ал алгач жетишерлик чоң панельге ширетилген, андыктан 220 Ом резисторлорун бардык жеке LED сегментине алып келүүгө болот. Жалпы катоддук коргошун жана 7 LED сымдары Arduino тактасына зымдарды жеңилдетүү үчүн 2.54 мм эркек пин башынын коннекторуна туташтырылган.

C. Ар кандай түстөгү 3 вдк LED чырактары гольф топу аркылуу өткөн тиешелүү упайга чейин жарык берүү үчүн таблодо жайгаштырылат. Мен дагы жаңы оюн качан башталганын жана 2 оюнчу баскычы басылганын көрсөтүү үчүн LED чырактарды колдондум. Түстөр:

Ак = Эйс

Көк = Берди

Сары = Пар

Кызыл = Богей

Жашыл = баштапкы абалга келтирүү/жаңы оюн

Ак (ылдыйда) = 1 каршы 2 оюнчу

D. An Arduino Atmega2560 тактасы ар кандай компоненттерди көзөмөлдөө үчүн колдонулган. Мага стандарттык Arduino тактасынан кийин көбүрөөк киргизүү/чыгаруу казыктары керек болчу.

E. Бардык дисплейлерге чуркаган I2C линиялары үчүн ширетилген нан бөлүштүрүү блогу колдонулган (4 орундуу, 7 сегменттүү LED жана ЖК монитор).

F. Күч бөлүштүрүү блогу Amazonдон сатылып алынган. Бул бардык 5V жана жалпы жер линияларын ар бир компонентке бөлүштүрүү үчүн колдонулган. Төмөндө караңыз:

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

G. Акыркы компонент электр кабели бар 9 вольттуу батарея болгон.

H. Ар кандай зым бириктиргичтери ар кандай компоненттерди бириктириши керек

8-кадам: Arduino Bench Set-Up

Arduino Bench орнотуу
Arduino Bench орнотуу
Arduino Bench орнотуу
Arduino Bench орнотуу
Arduino Bench орнотуу
Arduino Bench орнотуу
Arduino Bench орнотуу
Arduino Bench орнотуу

Скамейканын орнотулушу тиешелүү сүрөттөрдө көрсөтүлгөн. Отургучта тартылуу баскычтары IR-сенсорлорун тууроо үчүн колдонулган. Мен өзгөрмөлөрдү көзөмөлдөө жана таблону башкарган коддун туура иштеп жатканына ынануу үчүн тесттик отургучта 4 саптуу ЖК мониторун колдоном. Мен муну сериялык монитордун ордуна колдонууну жакшы көрөм.

7-сегменттүү LED дисплейлери отургучта көрсөтүлөт, 1-оюнчу жана 2-оюнчу экраны туура иштеши үчүн көрсөтүлөт. Arduino кодун бир аз оңдогондон кийин, мен бир орундуу "тешик" дисплейинин туура иштешине жетише алдым. Симуляцияланган 2-оюнчу, жаңы оюн жана кош-бугейлик баскычтар жана акыркы гольф топу LED чырактары нанга коюлган. Алардын бардыгы текшерилип, туура иштеши көрсөтүлдү.

Arduino пин тапшыруу диаграммасы да көрсөтүлгөн.

9 -кадам: Arduino коду

Оюндун агымын көзөмөлдөө жана упайларды туура кошуу үчүн Arduino коду тиркелет.

Коддун биринчи бөлүгү сизге керектүү кээ бир китепканаларды камтыйт. Ал ошондой эле IR сенсорлору жана оюнду башкаруу баскычтары үчүн Arduino казыктарын аныктайт, бардык өзгөрмөлөрдү жарыялайт жана колдонуучу аныктаган эки функцияны аныктайт. Бир функция, sevenSegWrite (цифралык), чоң, бир орундуу, 7 сегменттүү дисплейде (сиз ойноп жаткан "Тешик") дисплейде көрсөтүлгөн номерди көзөмөлдөйт, экинчиси дисплейде (int), дисплейде LED дисплейи (күйгүзүлгөн)) таблицада.

Setup () функциясында мен бардык OUTPUT жана INPUT пиндерин аныктадым. Эскертүү, ички PULLUP каршылыгы 5 вольтко тартылган ички 20K ом каршылыгын колдонот. Бул киргизгич которгуч ачык болгондо ЖОГОРУ, ал эми жабылганда ТӨМӨН окууга алып келет. Кошумча резистордун кереги жок. Мен ошондой эле бардык өзгөрмөлөрдү жана 7 сегменттүү цифралык дисплейлерди баштадым жана "жаңы оюн" жашыл LED жарыгын күйгүздүм.

Loop () функциясы бардык INPUT казыктарын үзгүлтүксүз окуудан башталат. Андан кийин белгилүү бир "эгер" билдирүүсү кайсы пин пин LOW окулганына жараша аткарылат (баскыч басылды же IR сенсор нуру сынды). Акыркы "эгер" билдирүүсү оюндун аякташын аныктайт. 9 "тешик" ойногондон кийин, loop () функциясы токтоп, оюн бүтөт.

10 -кадам: Компоненттерди орнотуу

Компоненттерди орнотуу
Компоненттерди орнотуу
Компоненттерди орнотуу
Компоненттерди орнотуу
Компоненттерди орнотуу
Компоненттерди орнотуу

Биринчиден, бургулоо тешиктерин жана кесилиштерин тактанын графигинде ар бир компоненттин ээлеген жерине туура келген орнотуу тактасына жайгаштыруу керек болчу. Диоддорго ылайык 5 мм диаметри тешилген. Тик бурчтуу тешиктер ар кандай 7 сегменттүү дисплейлердин өлчөмдөрүнө ылайык келүү үчүн мозаика менен кесилген.

Ар бир LED жарыгы оң терминалга туташкан каршылыгы бар кичинекей нан тактасына кошулду. Оң жана терс терминалдар үчүн 2.54 мм эркек пин баш коннекторлору колдонулган. Нан тактасы LEDди ичке фанера тактасына бекитүүнү жеңилдетти. Ар бир светодиоддук монтаж тактага туура жайгашкан жерге орнотулган. Аларды камсыз кылуу үчүн кичинекей M1.7 диаметри Филлиптин башы болоттон жасалган бурамалар колдонулган.

Андан кийин, ар бир 7 сегменттүү дисплей монтаж тактасына бекитилиши керек болчу. Дисплейдин PCBлеринин 4 бурчунда орнотулган тешиктер ошол эле кичинекей монтаж бурамалары менен колдонулган.

Arduino мега такта, электр бөлүштүрүү блогу жана I2C бөлүштүрүү блогу кичинекей жыгач бурамалар жана бөлгүчтөр менен орнотуу тактасынын базасына бекитилген. Дагы эки кичинекей нан тактасы 90 градус бурчта оң жагындагы базага бекитилген. Бул IR сенсорлорунун кирүү пиндери, алар максаттуу ассамблеядан туташтырылышы керек жана оюн башкаруучу кутудан аркада баскычтары, алар оюнчу (лор) тарабынан жайгаштырылат.

9-вольттуу батарея жана анын байламталары монтаж тактасынын ичине бекитилген. Кабелдин оң жагы жыгач табло корпусундагы күйгүзүү/өчүрүү баскычы менен коштолот.

Акыр -аягы, бардык компоненттер отургучтун орнотулушунда өркүндөтүлгөн зым схемасына ылайык туташты.

11 -кадам: Бардыгын бириктирүү

Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу

Акыркы кадам таблону учурдагы Executive Par 3 Golf оюнуна оюндун жүрүшүнө тоскоол болбогондой кылып тиркөө болгон. Ошондой эле, каалаган табло тиркөө тутуму алынып салынып, оюндун портативдүүлүгүнө тоскоол болбошу мүмкүн. Ошо сыяктуу эле, мен баскычтын кутусуна стенд жасашым керек эле, ал жерге жатып калган жок жана оюнчулар коюп жаткан жерге жакыныраак жайгашты.

Сураныч, тиркелген сүрөттөрдү караңыз. Табличанын корпусун жана баскыч корпусун туура деңгээлге көтөрүү үчүн 7/8 дюймдук дубелдер колдонулган. Үч дубль узундугу 24 дюймга чейин кесилген. Ортосунда 7/8 дюйм тешилген фанера негизи дубелдердин бирин кабыл алуу үчүн даярдалган. Тиешелүү карагай жыгач пластикалык топчу корпустун арт жагына бекитилген. Дубелдин экинчи учун кабыл алуу үчүн түбүндө 7/8 дюйм тешилген. Эми баскычтын корпусунун стенди аяктады. Эч кандай клей колдонулбайт. Стенд оюнду ойноодо колдонула турганчалык бышык, бирок ташуу үчүн оңой талкаланышы мүмкүн.

Эсеп тактасы ушул эле түшүнүктү колдонуп, максаттуу тактайдын ассамблеясына бекитилген. 15 "узундуктагы карагай тактайынын бир бети 60 градус бурчка кесилип, ал ойноого коюлганда, максаттуу түзүлүштүн 30 градус бурчуна туура келген. Бул тактайдын үстүн горизонталдуу жайгаштырат. 24 "дюбелдерди кабыл алуу үчүн 7/8" өлчөмүндөгү эки тешик 11 дюймдук бургуланган, андан кийин бөлүк максаттуу түзүлүштүн артына сайылган. Андан кийин, "карагайдын" сыныктары табличканын корпусунун түбүнө бурулуп, 7/8 "диаметри туура келген диаметри 11" бурулган. Эки дюбель чектен чыккан тор аркылуу жайгаштырылган жана максаттуу тактайдын чогулушуна да, табло корпусунун түбүнө да түртүлгөн.

Тиешелүү эркек коннекторлору бар 4 зымдуу кабель таблондун арт жагынан баскыч корпусуна чейин өткөрүлдү. Тиешелүү аял жана эркек коннекторлору бар экинчи 6 зымдуу кабель максаттуу жамааттын (IR сенсорлору) арт жагындагы таблонун арт жагындагы тиешелүү жерге чуркады. Эми электрондук орнотуу Executive Par 3 Golf G ameдин бир оюнчусун же эки оюнчусунун версиясын ойноп жатканда автоматтык упай алуу үчүн толук болду.

12 -кадам: Postscript

Postscript
Postscript
Postscript
Postscript
Postscript
Postscript
Postscript
Postscript

Мен оюнду сынап көргөндө, гольф топу тешиктен ыргып кеткенин дайыма эсептей бербешин байкадым. Мен IR сенсорлору туура иштеп жатабы же сенсорлорду көбүрөөк орнотушум керекпи деп ойлодум. Анан оюма келгендей, диаметри 3 ½ болгон тешиктин эң оң жана сол тарабында гольф топу ИК сенсорлору тарабынан "көрүнбөйт", тешиктин так ортосуна коюлган (IR нуру жок сынган). Мен жөнгө салуу гольфунун диаметри 1.68 дюймду таптым. Математикалык жактан айтканда, диаметри 3 дюймдук тешиктин жарымы 1,75 дюйм болмок. Менин оюмча, бул жерде гольф топу тешиктен өтө солго жана оңго кулап, IR нурун сындырбайт.

Артка кылчайганда, мен 3 диаметри үчүн упайларды кесишим керек эле. Бирок бул оюн үчүн муну оңдоонун эң жөнөкөй жолу - бул максаттуу тактаны оодаруу жана ар бир тешиктин оң жана сол жагына ашыкча винил полдун четин орнотуу. Мен ийкемдүү винилди тешикти ½ же башка менен каптап койгондой жайгаштырдым. Качан сиз бутага тактайды кайра оодарсаңыз, материал тешиктин четинен ылдый экенин жана тешиктен эркин түшкөн гольф топуна тоскоол болбогонун көрөсүз.

Бул көйгөйдү чечти жана оюн кемчиликсиз иштеп жатат. Акыркы бир нече жумада оюнду ойногондо, мен гольф топтору оюнчунун эсебинде туура эсептелбеген учурду байкаган жокмун.

Сунушталууда: