Оглавление:

Автоматический подсчет очков в гольф-игре Executive Par 3: 12 шагов (с изображениями)
Автоматический подсчет очков в гольф-игре Executive Par 3: 12 шагов (с изображениями)

Видео: Автоматический подсчет очков в гольф-игре Executive Par 3: 12 шагов (с изображениями)

Видео: Автоматический подсчет очков в гольф-игре Executive Par 3: 12 шагов (с изображениями)
Видео: Часть 2 - Трипланетная аудиокнига Э. Э. Смита (главы 5–8) 2024, Июль
Anonim
Автоматический подсчет очков в гольф-игре Executive Par 3
Автоматический подсчет очков в гольф-игре Executive Par 3
Автоматический подсчет очков в гольф-игре Executive Par 3
Автоматический подсчет очков в гольф-игре Executive Par 3

Недавно я опубликовал руководство по созданию увлекательной переносной игры, в которую можно играть как внутри, так и снаружи. Это называется «Игра в гольф для руководителей, Пар 3». Я разработал копию счетной карточки, чтобы записывать счет каждого игрока за 9 «лунок». Как и в реальном гольфе, побеждает наименьший результат.

Я задумался; что, если бы я мог автоматически отслеживать результаты?

Шаг 1. Электронный подсчет мяча для гольфа

Электронный подсчет мяча для гольфа
Электронный подсчет мяча для гольфа

Мне нужно было найти способ посчитать скатанный мяч для гольфа, когда он выпал через забивную лунку. Помните, что каждая лунка имеет разное значение очков, причем лунка «Туз» имеет наименьшее значение. Я использовал инфракрасные (ИК) датчики тормозного луча в предыдущих играх и подумал, что буду использовать их и в этой игре. Я использовал продукт от Adafruit Industries под названием «Датчик инфракрасного луча - 3-миллиметровые светодиоды». Идентификатор продукта - 2167:

www.adafruit.com/product/2167

Они продаются парами (излучатель и приемник) и предлагают простой способ обнаружения движения. Они работают на расстоянии до 10 дюймов друг от друга и могут питаться от источника питания Arduino 5V. Вы можете использовать их со встроенным в Arduino подтягивающим резистором, поэтому отдельный резистор не нужен. Излучатель излучает инфракрасный луч, а приемник, находящийся прямо напротив него, чувствителен к этому инфракрасному свету. Если через луч проходит что-то твердое (например, мяч для гольфа), луч ломается, и приемник можно запрограммировать, чтобы вы знали.

Шаг 2: Установка датчиков на целевой плате

Установка датчиков на целевой плате
Установка датчиков на целевой плате
Установка датчиков на целевой плате
Установка датчиков на целевой плате
Установка датчиков на целевой плате
Установка датчиков на целевой плате
Установка датчиков на целевой плате
Установка датчиков на целевой плате

Табло для установки мишени не было прикреплено к окружающему шкафу. Он просто сидел на проставках высотой 2 ½ дюйма, так что я смог снять его и перевернуть, чтобы установить датчики. Мне нужно было установить ИК-датчики на нижней стороне фанерной игровой доски, чтобы они не мешали свободному падению мячей для гольфа. Отверстие диаметром 1 дюйм было просверлено на противоположных сторонах каждого надрезного отверстия на глубину 3/8 дюйма. ИК-приемник и излучатель были помещены прямо внутри края отверстия, чтобы шары не попадали в них. Они были закреплены на постоянной основе с помощью небольшого шурупа и небольшого количества эпоксидного клея, так что они были идеально выровнены друг напротив друга.

Шаг 3: Подключение датчиков к целевой плате

Подключение датчиков к целевой плате
Подключение датчиков к целевой плате
Подключение датчиков к целевой плате
Подключение датчиков к целевой плате

После того, как все ИК-датчики были установлены, их нужно было соединить вместе для общего заземления и подключения 5 В. Каждый выходной провод (белый) нужно было продлить до края целевой платы. К каждому проводу был прикреплен 6-проводной гнездовой соединитель, чтобы выдвинуть задний шкаф узла целевой платы. Вся проводка была закреплена и надежно прикреплена к внутренней части игрового поля, чтобы не мешать возвращению мяча для гольфа, когда он проходит через отверстие для подсчета очков.

Шаг 4: создание кейса табло

Создание корпуса с табло
Создание корпуса с табло
Создание корпуса с табло
Создание корпуса с табло
Создание корпуса с табло
Создание корпуса с табло

В этом Руководстве по-прежнему требовалось немного поработать с деревом. Деревянный прямоугольный корпус табло был изготовлен из фанеры толщиной ½ дюйма. Размеры корпуса: 15 5/8 дюймов в ширину, 9 дюймов в высоту и 4 дюйма в глубину. Вы можете увидеть на фотографиях последовательность сборки этого корпуса. На внутренней стороне каждой стороны корпуса примерно на 1/4 дюйма от того же внешнего края была размещена канавка для дадо шириной дюйма. Эта канавка будет использоваться для размещения графического изображения табло между двумя листами оргстекла толщиной 0,2 дюйма. Последняя часть корпуса, которую нужно вырезать, - это монтажная плата электронных компонентов. Эта доска была вырезана из фанеры толщиной 1/8 дюйма и прикреплена к куску сосны толщиной 1/8 дюйма под прямым углом, чтобы служить основой. Также он послужит средством крепления к самому футляру. На плате нужно было сделать выемку, чтобы она могла поместиться между небольшими угловыми распорками.

Также на корпусе табло будет установлена кнопка включения / выключения питания. Он будет установлен снаружи корпуса в утопленном положении, чтобы защитить его от случайного удара. Выключатель будет подключен к 9-вольтовой батарее постоянного тока, которая питает плату Arduino Uno и все другие электронные компоненты табло.

Шаг 5: Разработка графики табло

Разработка графики табло
Разработка графики табло

Вместо того, чтобы пытаться нарисовать графику табло самостоятельно, я решил создать его в PowerPoint и вырезать окна для различных экранов подсчета очков. Я хотел, чтобы табло давало обратную связь игрокам и отображало как можно больше информации. Включено будет:

1. Индикатор другого цвета для счета последнего введенного мяча для гольфа.

2. Дисплей, показывающий, в какую лунку вы играете (1-9).

3. Индикатор, который загорается при нажатии кнопки для 2 игроков.

4. Загорается индикатор новой игры (была нажата кнопка сброса).

5. Два дисплея для счета каждого игрока.

Окончательный рисунок представлен в прикрепленном файле. Черные прямоугольники будут вырезаны для отображения результатов.

Шаг 6: кнопки игрового ввода (переключатели) и корпус

Кнопки игрового ввода (переключатели) и корпус
Кнопки игрового ввода (переключатели) и корпус
Кнопки игрового ввода (переключатели) и корпус
Кнопки игрового ввода (переключатели) и корпус
Кнопки игрового ввода (переключатели) и корпус
Кнопки игрового ввода (переключатели) и корпус

Для управления ходом игры в паттинг потребовалось несколько кнопок. Необходимы три кнопки ввода:

1. Сброс или новая игра (зеленый)

2. Игра 1 на 2 (белые)

3. Double Bogey (Out-of-Bounds - красный) - там, где нельзя использовать ИК-датчик. К счету игроков добавляется 5 очков.

Я использовал стандартный пластиковый корпус для электроники, чтобы установить 3 кнопки аркады. Кейс был приобретен на Amazon. Его размеры 7 ½ дюйма в ширину, 4 ¼ дюйма в высоту и 2 3/8 дюйма в глубину. Каждая кнопка аркады с прикрепленным к ней микровыключателем будет действовать как переключатель мгновенного действия. Стандартные отверстия диаметром 1-1 / 8 дюйма были вырезаны на боковой стороне корпуса и расположены на равном расстоянии. Были установлены кнопки и изготовлен небольшой жгут проводов с 3 выходными линиями микропереключателей и общей линией заземления, припаянной к небольшой макетной плате с разъемом с штыревой головкой 2,54 мм.

Шаг 7. Компоненты табло

Компоненты табло
Компоненты табло
Компоненты табло
Компоненты табло
Компоненты табло
Компоненты табло

Компоненты табло будут состоять из:

A. Два 4-значных 7-сегментных светодиода для отображения счета каждого игрока и однозначный 7-сегментный светодиод будут использоваться для отслеживания «лунки», которую они играют. 4-значные 7-сегментные светодиоды от Adafruit Industries. Они называются 4-значным 7-сегментным дисплеем «1.2» с рюкзаком 12C - красный. Вам понадобится два таких продукта, а идентификатор продукта - 1269. См. Ниже:

www.adafruit.com/product/1269

B. Большой (1,3 дюйма) одноразрядный 7-сегментный светодиодный индикатор был приобретен на eBay. Подойдет любой крупногабаритный дисплей, и его необходимо правильно подключить к 7-сегментному светодиоду с общим катодом или анодом. Чтобы упростить установку дисплея, его сначала припаяли к достаточно большой макетной плате, чтобы резисторы 220 Ом можно было припаять ко всем отдельным выводам светодиодных сегментов. Общий катодный вывод и 7 выводов светодиодов были подключены к штекерному разъему 2,54 мм для облегчения подключения к плате Arduino.

C. На табло будут размещены светодиодные фонари 3 vdc разного цвета, чтобы загореться до соответствующей засчитываемой лунки, через которую только что прошел забитый мяч для гольфа. Я также использовал светодиодные индикаторы, чтобы указать, когда начинается новая игра и когда была нажата кнопка для двух игроков. Цвета:

Белый = Туз

Синий = Птичка

Желтый = номинал

Красный = Богги

Зеленый = сброс / новая игра

Белый (внизу) = 1 против 2 игроков

D. Плата Arduino Atmega2560 использовалась для управления различными компонентами. Мне нужно было больше контактов ввода / вывода, чем на стандартной плате Arduino.

E. Распаянный макетный распределительный блок использовался для линий I2C, идущих ко всем дисплеям (4-разрядный, 7-сегментный светодиодный и ЖК-монитор).

F. Блок распределения питания был приобретен у Amazon. Это использовалось для распределения всех линий 5 В и общего заземления на каждый компонент. См. ниже:

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

G. Последний необходимый компонент - это 9-вольтовая батарея с кабелем питания.

H. Разные соединители проводов должны соединять различные компоненты вместе.

Шаг 8: установка на стенде Arduino

Настройка скамейки для Arduino
Настройка скамейки для Arduino
Настройка скамейки для Arduino
Настройка скамейки для Arduino
Настройка скамейки для Arduino
Настройка скамейки для Arduino
Настройка скамейки для Arduino
Настройка скамейки для Arduino

Расположение стенда показано на соответствующих рисунках. Кнопки подтягивания использовались на скамейке, чтобы имитировать ИК-датчики светового пучка. Я использую 4-строчный ЖК-монитор на своем испытательном стенде, чтобы отслеживать переменные и убедиться, что код, управляющий табло, работает правильно. Мне нравится использовать это вместо монитора последовательного порта.

На скамейке представлены 7-сегментные светодиодные индикаторы, показывающие, что индикаторы очков Игрока 1 и Игрока 2 работают правильно. После некоторого редактирования кода Arduino я смог добиться правильной работы одноразрядного дисплея с «отверстиями». На макетной плате были размещены смоделированные кнопки для двух игроков, новая игра и двойные кнопки мгновенного действия, а также светодиодные индикаторы последнего забитого мяча для гольфа. Все они были протестированы и показали, что работают правильно.

Также показана диаграмма назначения контактов Arduino.

Шаг 9: Код Arduino

Код Arduino для управления ходом игры и правильного подсчета очков прилагается.

Первая часть кода включает некоторые из необходимых вам библиотек. Он также определяет контакты Arduino для ИК-датчиков и кнопок управления игрой, объявляет все переменные и определяет две пользовательские функции. Одна функция, sevenSegWrite (цифра), управляет числом, отображаемым на увеличенном, однозначном, 7-сегментном дисплее («Отверстие», которое вы играете), а другая функция, выделенная (int), контролирует, какой светодиод отображается (включен) в табло.

В функции setup () я определил все выводы OUTPUT и INPUT. Обратите внимание, что используется внутренний резистор PULLUP, который использует внутренний резистор 20 кОм, подтянутый до 5 вольт. Это заставляет вход читать ВЫСОКИЙ, когда переключатель разомкнут, и НИЗКИЙ, когда он замкнут. Дополнительный резистор не требуется. Я также инициировал все переменные и 7-сегментные цифровые дисплеи и включил зеленый светодиод «Новая игра».

Функция loop () начинается с постоянного чтения всех контактов INPUT. Затем выполняется специальный оператор «if» в зависимости от того, какой входной вывод показывает LOW (кнопка была нажата или луч ИК-датчика сломан). Последний оператор «если» определяет конец игры. После того, как 9 «лунок» сыграны, функция loop () останавливается, и игра заканчивается.

Шаг 10: Установка компонентов

Монтаж компонентов
Монтаж компонентов
Монтаж компонентов
Монтаж компонентов
Монтаж компонентов
Монтаж компонентов

Во-первых, на монтажной плате должны были быть размещены просверленные отверстия и вырезы в соответствии с местом, которое каждый компонент занимает на графике табло. Просверливались отверстия диаметром 5 мм под светодиоды. Прямоугольные отверстия были вырезаны лобзиком, чтобы они соответствовали размерам различных 7-сегментных дисплеев.

Каждая светодиодная лампа была припаяна к небольшой макетной плате с резистором, подключенным к положительной клемме. Для положительных и отрицательных выводов использовались стандартные разъемы с штыревой головкой 2,54 мм. Макетная плата упростила закрепление светодиода на тонкой фанерной монтажной плате. Каждый светодиодный светильник в сборе был установлен в правильном месте на монтажной плате. Для их крепления использовались маленькие стальные винты с крестообразным шлицем диаметром M1,7.

Затем каждый 7-сегментный дисплей нужно было закрепить на монтажной плате. Монтажные отверстия в 4 углах печатных плат дисплея были использованы с такими же небольшими крепежными винтами.

Мега-плата Arduino, блок распределения питания и распределительный блок I2C были прикреплены к основанию монтажной платы с помощью небольших шурупов и распорок. Два других небольших макета были прикреплены к основанию с правой стороны под углом 90 градусов. Это входные контакты для ИК-датчиков, которые должны быть подключены к целевой сборке, и кнопки аркады от блока управления игрой, которые будут позиционироваться игроком (ами).

Аккумулятор на 9 В и его жгут крепились к внутренней стороне монтажной платы. Положительная сторона кабеля будет соединена с кнопкой включения / выключения на деревянном корпусе табло.

Наконец, все компоненты были подключены в соответствии со схемой подключения, отработанной на стенде.

Шаг 11: Собираем все вместе

Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе

Последним шагом было прикрепить табло к существующей игре в гольф Executive Par 3 таким образом, чтобы оно не мешало ходу игры. Кроме того, любая система крепления табло будет съемной, чтобы ее можно было упаковать и не мешать переносимости игры. Точно так же мне нужно было сделать подставку для коробки с пуговицами, чтобы она не лежала на земле, а располагалась ближе к тому, куда кладут игроки.

Посмотрите прикрепленные фотографии. Дюбели диаметром 7/8 дюйма были использованы для поднятия кожуха табло и кожуха кнопок до нужного уровня. Три дюбеля были нарезаны на длину 24 дюйма. Для установки одного из дюбелей было изготовлено фанерное основание с просверленным в середине отверстием 7/8 дюйма. Соответствующий кусок сосны был прикреплен к задней части пластикового корпуса кнопок. В его нижней части также просверлено отверстие диаметром 7/8 дюйма для установки другого конца дюбеля. Теперь подставка для пуговиц была завершена. Клей не используется. Подставка достаточно прочная, чтобы ее можно было использовать во время игры, но ее легко сломать для транспортировки.

Табло было прикреплено к сборке мишени по той же схеме. Одна поверхность 15-дюймового куска сосновой доски была обрезана под углом 60 градусов, чтобы соответствовать углу 30 градусов целевого узла, когда он установлен для игры. Это поместит верх доски горизонтально. Два отверстия диаметром 7/8 дюйма были просверлены на расстоянии 11 дюймов друг от друга для размещения 24-дюймовых длинных дюбелей, а затем деталь была привинчена к задней части узла мишени. Затем к нижней части корпуса табло был прикручен кусок-дюймовой сосны с соответствующими отверстиями диаметром 7/8 дюйма, просверленными на расстоянии 11 дюймов друг от друга. Два дюбеля были вставлены через сетку для игры за пределами игровой площадки и вставлены на место как на сборке мишени, так и на дне корпуса табло.

4-жильный кабель с соответствующими штекерными разъемами был проложен от задней части табло к корпусу кнопок. Второй 6-жильный кабель с соответствующими разъемами типа «мама» и «папа» был проложен от задней части узла мишени (ИК-датчики) до соответствующего места на задней стороне табло. Теперь электронная настройка была завершена для автоматического подсчета очков во время игры в гольф-игру Executive Par 3 для одного или двух игроков.

Шаг 12: Постскриптум

Постскриптум
Постскриптум
Постскриптум
Постскриптум
Постскриптум
Постскриптум
Постскриптум
Постскриптум

Когда я тестировал игру, я заметил, что мяч для гольфа, выпавший из забиваемой лунки, не всегда учитывается. Мне было интересно, правильно ли работают ИК-датчики или мне придется установить дополнительные датчики. Затем мне пришло в голову, что с правой и левой стороны лунки диаметром 3 ½ дюйма мяч для гольфа не был «виден» инфракрасными датчиками, расположенными прямо в середине лунки (ИК-луч не был быть сломанным). Я обнаружил, что диаметр стандартного мяча для гольфа составляет 1,68 дюйма. С математической точки зрения, половина отверстия диаметром 3 ½ дюйма будет 1,75 дюйма. Я предполагаю, что это возможно, когда мяч для гольфа проваливается через отверстие с левой и правой стороны и не нарушает ИК-луч.

Оглядываясь назад, я должен был вырезать отверстия до 3 дюймов в диаметре. Но для этой игры самым простым способом исправить это было перевернуть целевую доску и установить излишки виниловой кромки пола с левой и правой стороны каждого отверстия. Я поместил гибкий винил так, чтобы он перекрывал отверстие примерно на ½ дюйма. Когда вы перевернете целевую доску, вы увидите, что материал находится ниже края отверстия и не мешает мячу для гольфа свободно падать через отверстие.

Это устранило проблему, и игра работает отлично. Играя в эту игру в последние несколько недель, я не заметил ни одного случая, когда мячи для гольфа не учитывались правильно в счете игрока.

Рекомендуемые: