Репозиторий проекта - схемы подключения, машинные коды для тестирования - Github: Airsoft - RFID DOMINATOR - Arduino
Если вы заинтересованы в покупке прошивки для конфигурируемого ДОМИНАТОРА, пожалуйста, обращайтесь (на английском языке) по адресу: martinius96@gmail.com
Arduino LCD Поворотный энкодер Секундомер Схема Кнопка Menu Paintball DOMINATOR

Настраиваемый ДОМИНАТОР - секундомер для страйкбола | Paintball


Сущности в проекте настраиваемый DOMINATOR:

Tím RED - tlačidlo pre používateľský vstup
команда RED
Tím GRE - tlačidlo pre používateľský vstup
команда GRE

Описание Проекта:

DOMINATOR - это устройство - секундомер для таких видов спорта, как страйкбол, пейнтбол, которые позволяют измерять время нахождения точки с разрешением до секунд. Секундомер оснащен символьным ЖК-дисплеем 16x2 / 20x4. После включения устройства можно переключаться между пунктами меню на дисплее с помощью поворотного энкодера - KY-040. С помощью предметов можно запустить игровой режим DOMINATOR, который реагирует на пользовательские кнопки (вводы), или можно установить время пребывания команды перед игрой в настраиваемом режиме. Этот параметр представляет собой требуемую продолжительность удерживания кнопки до тех пор, пока команда не займет точку. Этот настраиваемый параметр реализуется для количества секунд. Второй настраиваемый параметр - это автоматическое завершение игры для достижения определенного количества часов секундомера с опцией UNLIMITED - когда секундомер ведет счет до бесконечности или после максимального времени отображения на дисплее - 99 часов, 59 минут, 59 секунд. В секундомере используется управляющий микроконтроллер Arduino (Arduino Uno / Nano) или отдельный чип (Atmel) AtMega328P, который контролирует всю системную логику. В игре 2 команды - RED команда a GRE команда, которые играют друг против друга и занимают воображаемую точку, образованную этим устройством - ДОМИНАТОР. В начале игры на дисплее отображается время 00 часов, 00 минут, 00 секунд для RED команда, GRE команда.


Кнопка ДОМИНАТОР использует ввод кнопки для действия по занятию точки членом команды, а также для ввода объекта судьи. Таким образом, всего используются 2 кнопки для 3 сущностей системы, кнопки переключения, подключенные в режиме INPUT_PULLUP. Нажатие кнопки подает сигнал GND на цифровой входной терминал Arduino (сигнал переключения Active-LOW). Используются кнопки переключения, а не кнопки переключения (они не будут реагировать на системную логику, все программное обеспечение всегда будет «нажато»). Настраиваемый DOMINATOR реагирует на длину нажатия, которая устанавливается в меню конфигурации с помощью кодировщика. Требуется удерживать кнопку заданное время. Система не реагирует на короткие нажатия. В расширенной версии также можно установить точку нейтрализации (остановка времени активной команды в точке, если член другой команды удерживает кнопку хотя бы 50% необходимого времени) Время отображается на символьном ЖК-дисплее размером 16x2 или 20x4, который связывается с управляющим микроконтроллером через шину I2C. Если член команды КРАСНОЙ команды занимает точку, нажав кнопку, срабатывает зуммер, который сообщает об изменении точки коротким звуковым сигналом. Затем загорится светодиод КРАСНОЙ команды на этой станции, и на дисплее начнется добавление времени для этой команды.


Если точка занята командой GRE и член команды нажимает соответствующую кнопку, снова раздается звуковой сигнал, загорается светодиодный индикатор команды GRE, время КРАСНОГО цвета приостанавливается и вычисляется время команды GRE, занявшей точку. Судья должен остановить обе кнопки одновременно, чтобы остановить оба раза. Время останавливается до тех пор, пока точка не будет повторно занята некоторыми командами в системе. Таким образом, этот тип ввода подходит для начала перерыва, но он также может завершить игру для ее оценки. Новая игра реализована путем сброса всей платы Arduino с помощью кнопки RST или путем отключения и повторного подключения источника питания. В меню также есть возможность настроить активность / неактивность зуммера, который также можно включить в игру. В игровом режиме DOMINATOR используется зуммер, чтобы объявить о текущем занятии точки. Ластик не существует в DOMINATOR этого типа. В системе может быть реализована вторая игра - обратный отсчет, которая позволяет установить минутный обратный отсчет, пока он должен быть остановлен. Игрок останавливает обратный отсчет, удерживая обе кнопки в течение определенного времени (в зависимости от меню настройки продолжительности нажатия на DOMINATOR).


Совместимое оборудование управления - настраиваемый ДОМИНАТОР:


Микроконтроллеры управления Arduino Uno
Arduino Uno
Микроконтроллеры управления Arduino Nano
Arduino Nano
Микроконтроллеры управления AtMega328P DIP
AtMega328P - DIP28
Микроконтроллеры управления AtMega328P SMD
AtMega328P - SMD

Совместимые периферийные устройства - настраиваемый DOMINATOR:


Символьный ЖК-дисплей 16x2 / 20x4
Символьный ЖК-дисплей 16x2 / 20x4
Конвертер I2C для ЖК-дисплея
Конвертер I2C для ЖК-дисплея
Поворотный энкодер на 360° (KY-040)
Поворотный энкодер на 360° (KY-040)
Зуммер
Зуммер
2x Светодиоды
2x Светодиоды
2x кнопка переключения (pushbutton)
2x кнопка переключения

Схема подключения - настраиваемый ДОМИНАТОР


Konfigurovateľný DOMINATOR - schéma zapojenia - Arduino / Airsoft, stopwatch, DOMINATION

Настраиваемый DOMINATOR во время выполнения - тестирование


Konfigurovateľné stopky - Arduino pre Airsoft, Paintball

Подключение клемм - Конфигурируемый ДОМИНАТОР - полностью соответствует схеме подключения:

Arduino Uno / Nano (AtMega328P) Конвертер I2C для ЖК-дисплея
GND GND
5V Vcc
A4 SDA
A5 SCL
Arduino Uno / Nano (AtMega328P) Поворотный энкодер - KY-040
GND GND
5V +
D3 CLK
D4 DT
D5 SW
Arduino Uno / Nano (AtMega328P) LED диоды
GND GND
D6 IN (RED)
D7 IN (GREEN)
Arduino Uno / Nano (AtMega328P) Кнопки (INPUT_PULLUP)
GND GND
D8 IN (RED)
D9 IN (GRE)
Arduino Uno / Nano (AtMega328P) Зуммер
D10 IO
GND GND

Тестовая программа (условно-бесплатная) - Настраиваемый ДОМИНАТОР с машинным кодом


Для проекта Configurable DOMINATOR доступна условно-бесплатная версия (.hex). Версия позволяет отмерить максимум 60 секунд для каждой команды. По достижении этого времени секундомер останавливается. Цель версии - проверить совместимость с вашим оборудованием..Машинные коды, основанные на I2C-адресе преобразователя для ЖК-дисплея, доступны в репозитории Github. Наиболее часто используемые адреса - 0x27 и 0x3F. Если вы не знаете адрес вашего преобразователя, используйте встроенный пример в Arduino IDE -> I2C Scanner, который запишет адрес в интерфейс UART (Serial monitor). Машинный код может быть загружен в микроконтроллер Arduino Uno через программное обеспечение AVRDUDE - часть Arduino IDE или с графическим интерфейсом через XLoader - проще в использовании.

  • AVRDUDE должен запускаться через CMD (командную строку), установленную с Arduino IDE. Находится в C:/Users/User/Documents/ArduinoData/packages/arduino/tools/avrdude/6.X.X-arduino/bin
  • Пример команды для загрузки программы в Arduino Uno / Nano (AtMega328P):
  • Для прошивки с отображаемым адресом I2C 0x27 (например, COM-порт 21 и 115200 бод / с): avrdude -CC: avrdude.conf -v -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:encoder_0x27.ino.hex:i
  • Для прошивки с отображаемым адресом I2C 0x3F (например, COM-порт 21 и 115200 бод / с): avrdude -CC: avrdude.conf -v -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:encoder_0x3F.ino.hex:i
  • XLoader - это приложение Windows (исполняемый инструмент .exe) с простым графическим интерфейсом , которое позволяет выбирать прошивку - машинный код (.hex), целевую платформу и может динамически отображать COM-порт, на котором установлено устройство. расположен.
  • Простым щелчком на «Загрузить» машинный код может быть загружен автоматически (XLoader использует инструмент AVRDUDE, аналогичный Arduino IDE). Окно XLoader информирует об успешной загрузке в виде списка количества загруженных байтов.
  • Прошивку можно скачать из репозитория: Здесь. Прошивка разделена по адресу преобразователя I2C (вы узнали по выходу сканера I2C на интерфейс UART).

    Доступная прошивка - Настраиваемая кнопка DOMINATOR

    Название прошивки (в папке encoder_dominator) Предназначен для Скачать
    encoder_0x27.ino.hex Символьный ЖК-дисплей размером 16x2 или 20x4 с преобразователем I2C, который обменивается данными по адресу 0x27 Stiahnuť firmvér
    encoder_0x3F.ino.hex Символьный ЖК-дисплей размером 16x2 или 20x4 с преобразователем I2C, который обменивается данными по адресу 0x3F Stiahnuť firmvér