Оглавление:

Rainbow Dice: 6 шагов (с изображениями)
Rainbow Dice: 6 шагов (с изображениями)

Видео: Rainbow Dice: 6 шагов (с изображениями)

Видео: Rainbow Dice: 6 шагов (с изображениями)
Видео: Настройка Rainbow Six Siege для чайников | RTFM 2024, Ноябрь
Anonim
Радуга Дайс
Радуга Дайс

Это делает коробку для игры в кости с 5 кристаллами, состоящими из светодиодов smd 5 цветов. Программное обеспечение, управляющее им, позволяет использовать разные игровые режимы с использованием нескольких игральных костей.

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

Затраты на строительство очень скромные, но для этого требуется изрядное количество времени на строительство, хороший паяльник и твердая рука.

Электроника основана на модуле ESP8266 (ESP-12F), который запускает веб-сервер, позволяющий легко обновлять прошивку и возможность мониторинга / расширения игр.

Коробка питается от аккумуляторной батареи, и, поскольку потребление тока довольно скромное, он проработает много часов без подзарядки.

Шаг 1. Детали и инструменты

Детали и инструменты
Детали и инструменты
Детали и инструменты
Детали и инструменты
Детали и инструменты
Детали и инструменты

Компоненты

Необходимы следующие компоненты. Все они доступны на eBay

  1. Модуль обработки Wi-Fi ESP-12F ESP8266. (1,50 фунта стерлингов)
  2. Аккумулятор 18650 и держатель (£ 3,00)
  3. Светодиоды SMD x7 красного, синего, зеленого, желтого, белого цветов (упаковка по 20 штук каждого цвета по 0,99 фунтов стерлингов)
  4. Кнопочные переключатели 6 мм x6 (£ 0,12)
  5. Ползунковый переключатель включения / выключения mini 8x4 мм (£ 0,10)
  6. Модуль зарядного устройства LIPO USB (£ 0,20)
  7. n-канальные полевые МОП-транзисторы - AO3400 x6 (0,20 фунта стерлингов)
  8. Регулятор с малым падением напряжения 3,3 В - XC6203E (0,20 фунта стерлингов)
  9. 220 мкФ электролитический (£ 0,15)
  10. Резистор 220R x5 (£ 0,05)
  11. Резистор 4K7 x 6 (0,06)
  12. Прототип платы с изолированными двойными боковыми отверстиями (0,50 фунтов стерлингов)
  13. Гибкий соединительный провод
  14. Эмалированный медный провод 32
  15. Штифты заголовка 40 контактных планок x3 (0,30 фунта стерлингов)

Кроме того, необходим корпус. Я разработал коробку, напечатанную на 3D-принтере, чтобы вместить все и просвечивать светодиоды. Это доступно на Thingiverse.

Инструменты

  1. Паяльник с мелким наконечником
  2. Тонкий пинцет
  3. Кусачки
  4. Младшая ножовка
  5. Надфили полезны
  6. Смола Клей
  7. Доступ к 3D-принтеру при использовании прилагаемой коробки.

Шаг 2: Описание схемы

Описание схемы
Описание схемы

На схеме показан модуль ESP-12F, управляющий 5 матрицами светодиодов, составляющими игральные кости.

Каждый кубик состоит из 7 светодиодов, расположенных по 3 пары (2 диагонали и середина) плюс один центральный светодиод. Для выбора светодиодов для отображения им необходимо 4 контакта GPIO. Резисторы 220R используются для определения тока, а 2 резистора используются последовательно для центрального светодиода, чтобы ток был одинаковым.

5 игральных костей мультиплексируются с помощью 5 линий GPIO, управляющих переключателями MOSFET. Только один переключатель включен одновременно. Программное обеспечение позволяет использовать 1 мсек на кристалл, поэтому общий период обновления составляет 200 Гц и мерцания нет.

С каждым кристаллом связано 5 переключателей. Поскольку GPIO ограничен, они считываются с использованием тех же линий, которые используются для мультиплексирования кристалла. Во время мультиплексной последовательности эти линии управления устанавливаются как входы с подтягиванием и считыванием состояния переключателей. Затем они возвращаются на выходы для остальной части мультиплексной последовательности.

Шестой переключатель общего управления считывается линией GPIO16. Это может быть только понижающее напряжение, поэтому переключатель подключен к напряжению 3,3 В. Это низкий уровень, когда переключатель открыт, и высокий уровень, когда он закрыт.

Шаг 3: построение DIe

Строительство DIe
Строительство DIe
Строительство DIe
Строительство DIe

Это наиболее трудоемкая часть работы, требующая ухода.

Каждая матрица сконструирована на куске квадратной макетной платы с 6 отверстиями на 6 отверстий. Первый шаг - вырезать 5 штук из одной доски с помощью мини-ножовки. Постарайтесь оставить как можно меньше границ за пределами отверстий.

Следующим этапом является добавление 2 6-контактных разъемов с каждой стороны и 2 набора по 3 изолированных контакта рядом с ними, а затем еще одна пара посередине. Это то, что будет удерживать светодиоды SMD. Я считаю полезным удалить по 2 неиспользуемых контакта с каждой из внешних колонок. На верхней стороне платы, на которой должны быть установлены светодиоды, должны быть обрезаны штыри разъема так, чтобы они выступали примерно на 1 мм. Постарайтесь, чтобы все они были на одном уровне. Это позволяет светодиодам выступать над поверхностью платы.

7 светодиодов SMD теперь припаяны поверх каждой пары контактов. Это самая сложная часть общей конструкции, но после небольшой практики она не займет много времени. Техника, которую я использовал, заключалась в том, чтобы покрыть верхнюю часть половины контактов оловом, чтобы припой уже был. Затем, удерживая светодиод пинцетом, снова расплавьте припой и введите в него светодиод. На данном этапе особо не беспокойтесь о качестве стыка. Более важно добиться максимального выравнивания светодиода по горизонтали и поперек контактов. Как только светодиод находится на месте, его можно правильно припаять другим концом к его контакту, а затем при необходимости припаять первый стык.

Полярность диодов должна быть правильной. Я устанавливаю все внешние контакты заголовка так, чтобы они были соединены с анодами. Центральный светодиод, который я сделал в той же ориентации, что и левый столбец (если смотреть спереди и с запасным рядом внизу. На катоде диодов есть слабая отметка, но ее также хорошо проверить с помощью измерителя. Диоды будут фактически загораются при использовании диапазона сопротивления (скажем, 2 кОм) и красного вывода на аноде и черного на катоде. В противном случае они не горят. Это также хороший метод проверки цветов, если они перепутались.

После того, как светодиоды установлены, можно закончить остальную часть платы.

На нижней стороне платы.

  1. Соедините все катоды вместе тонкой одножильной неизолированной проволокой.
  2. Припаяйте МОП-транзистор со сливным штифтом, подключенным к катодной цепочке.
  3. Подключите источник МОП-транзистора к его контакту заголовка, который в конечном итоге будет 0 В.
  4. Подключите затвор через резистор 4K7 к его контакту заголовка. Хорошо укоренить это через другое нижнее отверстие, как показано на рисунке, так как это то место, где будет подключаться коммутатор.

На лицевой стороне платы перекрестно соедините 3 пары анодов.

  1. Используйте эмалированный провод для пайки, чтобы профиль оставался низким.
  2. Предварительно залудите один конец каждой проволоки.
  3. Припаиваем к одному аноду.
  4. Проденьте его и отрежьте до нужной длины.
  5. Предварительно залудите и припаяйте к нему соответствующую анодную пару.

На этом этапе рекомендуется провести предварительный тест каждого кристалла с помощью мультиметра. С черным проводом на общих катодах (сток Mosfet) красный провод можно переместить на 3 пары анодов и один анод. Соответствующие светодиоды должны загореться.

Шаг 4: Конструкция коробки

Конструкция коробки
Конструкция коробки
Конструкция коробки
Конструкция коробки
Конструкция коробки
Конструкция коробки
Конструкция коробки
Конструкция коробки

Это предполагает, что используется версия коробки, напечатанная на 3D-принтере. На коробке есть выемки для каждого кристалла и каждого светодиода. Нижний слой под каждым светодиодом очень тонкий (0,24 мм), поэтому с белым пластиком он позволяет свету очень хорошо проходить сквозь него и действует как рассеиватель. Есть вырезы для всех переключателей и точки зарядки. Аккумулятор имеет собственный отсек.

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

Теперь установите аккумулятор и его коробку в отведенное место. Он должен быть достаточно плотно прилегающим, но при необходимости используйте немного клея.

Приклейте зарядное устройство LIPO к стене, снабженное разъемом micro-USB, доступным через отверстие.

Завершите базовую силовую проводку, пропустив заземление батареи через все кнопочные переключатели и соединение LIPO B- и оставив кабельный вывод для подключения к электронике. Аккумулятор + должен войти в B + зарядного устройства LIPO и на ползунковый переключатель. На другой стороне ползункового переключателя должен находиться шестой переключатель и хвостик для электроники. Убедитесь, что ползунковый переключатель находится в выключенном положении, и временно изолируйте скребки. Вы не хотите закорачивать аккумулятор!

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

Установите и закрепите каждый кристалл на своем месте, припаяв два вывода переключателя к плате кристалла, убедившись, что 0 В переключателя подключен к источнику МОП-транзистора / точке 0 В, а сторона переключателя под напряжением - к 4K7 / затвору. MOSFET - описание производителя. Светодиоды на плате должны входить в углубления в корпусе, а проводов переключателя должно быть достаточно, чтобы удерживать матрицу в нужном положении.

Затем подключите все общие аноды 5 игральных костей. Это упрощается тем, что соединения пары диодов доступны с обеих сторон кристалла, но имейте в виду, что они пересекаются на диагоналях. Пусть вас не смущает красный провод на изображении, идущий к кристаллу. Это просто косичка и на данном этапе она ни к чему не подключена.

Макияж ESP-12F

Обратите внимание, что вы можете захотеть запрограммировать модуль ESP-12F перед установкой. Как только он будет прошит, все остальные обновления можно будет выполнить с помощью Wi-Fi OTA.

Соберите стабилизатор 3,3 В на оставшейся части прототипа карты. На нем есть только стабилизатор LDO и разделительный конденсатор. Хотя рассеиваемая мощность очень мала, я спаял несколько контактов вместе, чтобы они служили радиатором для устройства. Два провода могут выступать наружу и обеспечивать прямое подключение к 3,3 В / 0 В ESP-12F.

Припаяйте провода к контактам GPIO для 5 мультиплексных линий и переключателя 6. Для 4-х линий драйвера анода светодиодов нужны резисторы серии 220R / 440R в линию. Для этого можно использовать небольшие резисторы в сквозных отверстиях на ESP-12F, или я сделал это с SMD, просто наложенным на отверстия, что также довольно надежно.

Наконец, подключите мультиплексные линии к отдельным выводам заголовка кристалла, а линии анодного драйвера - к их соответствующей шлейфовой цепи.

Шаг 5: Программное обеспечение

Программное обеспечение для этого основано на среде ESP8266 Arduino. Он доступен на гитхабе.

Код доступен здесь

Существует библиотека diceDriver, которая предоставляет функции низкого уровня, используемые для мультиплексирования светодиодов и считывания переключателей. Это управляется прерыванием, поэтому, как только значения кубиков установлены, он самоподдерживается.

Общее время делится на интервал в 1 мс на кристалл. Период в пределах этого 1 мсек, в течение которого светятся светодиоды, может быть установлен для каждого кристалла независимо. Это позволяет сбалансировать освещение между разными цветами, а также позволяет затемнять и мигать как часть управления игрой.

Библиотека также считывает переключатели игральных костей как часть мультиплекса и имеет процедуры для параллельного «броска» одной или нескольких игральных костей.

Скетч использует библиотеку для выбора режимов игры в кости и для запуска этих игр. Он также предоставляет функции обслуживания для первоначальной настройки Wi-Fi, загрузки новой прошивки через OTA и предоставления некоторых основных веб-функций для тестирования и проверки состояния устройства.

Программное обеспечение скомпилировано в среде Arduino IDE. Помимо ino, он использует библиотеку BaseSupport для обеспечения основных функций. Это настраивается в локальном файле BaseConfig.h. Пароль по умолчанию «пароль» используется для подключения к его настройке Wi-Fi. Вы можете изменить это на что-нибудь другое. Вы также можете настроить его с фиксированными учетными данными Wi-Fi, если не хотите использовать встроенную настройку. Аналогичным образом существует тот же пароль по умолчанию для процесса обновления прошивки OTA, который вы, возможно, захотите изменить. В первый раз прошивка должна быть загружена через последовательное соединение с Arduino IDE. Это должно подчиняться нормальным правилам мигания с GPIO0, установленным на низкий уровень во время сброса, чтобы перевести его в последовательный режим флэш-памяти. Это более удобно сделать до окончательного подключения модуля, но это можно сделать на месте, если к соответствующим контактам прикрепить зажимы.

Когда прошивка запускается в первый раз, она не сможет подключиться к локальному Wi-Fi и автоматически войдет в режим настройки, настроив собственную сеть доступа. Вы можете подключиться к нему с устройства Wi-Fi (например, телефона), а затем перейти к адресу 192.168.4.1, который позволит выбрать реальный локальный Wi-Fi и ввести его пароль. Если все в порядке, он перезагрузится и будет использовать эту сеть.

OTA выполняется путем экспорта двоичных файлов в Arduino IDE с последующим переходом к IP / прошивке, где ip - это IP-адрес устройства при подключении. Появится запрос / поиск нового двоичного файла.

Другие веб-функции:

  • setpower - устанавливает мощность кристалла (ip / setpower? dice = 3 & power = 50)
  • setflash - устанавливает flash для игральных костей (ip / setflash? mask = 7 & interval = 300)
  • setdice - устанавливает значение одного кубика (ip / setdice? dice = 3 & value = 2)
  • parameters - устанавливает параметры ролика (ip / parameters? mask = 7 & time = 4000 & interval = 200)
  • status - возвращает значения кубиков и статус переключателя

Шаг 6: Игры

Программное обеспечение позволяет выбирать и запускать игры, управляемые главным выключателем.

Изначально система находится в режиме настройки игры, и только первый кубик показывает «1». Вы переходите по 12 различным режимам игры, коротко нажимая на эту кнопку. Первый кубик показывает 1-6, затем остается 6, а второй кубик показывает 1-6.

Чтобы выбрать конкретную игру, вы делаете долгое нажатие кнопки (> 1 секунды), и это переводит ее в режим запуска игры.

В игре бросок обычно начинается с короткого нажатия этого переключателя. Чтобы вернуться в режим выбора игры из режима запуска, нажмите и удерживайте этот переключатель, и он отобразит номер игры, как и раньше, и позволит дальнейший выбор.

На данный момент определены 9 игровых режимов с 3 запасными.

Игры с 1 по 5 представляют собой простые броски этого количества кубиков. Каждый бросок просто бросает все кости. В этих Играх переключатели кубиков не действуют.

Игра 6 - это динамическое количество кубиков. Нажмите один из переключателей кубика, чтобы выбрать количество кубиков, а затем нажмите главный переключатель, чтобы бросить кубики. Количество кубиков можно менять перед каждым броском.

Игра 7 - это бросок с несколькими бросками. Участвуют все 5 кубиков. Нажатие главного переключателя бросает все кости. Нажатие каждого переключателя матрицы заставляет его мигать. Когда главный выключатель нажат, то бросается только мигающий кубик, за исключением того, что если ни один не мигает, то все бросаются. Это как игра в кости для покера или яхтзее. Обратите внимание, что количество разрешенных бросков не ограничено. Это зависит от честности игрока.

Игра 8 похожа на игру 7, за исключением того, что тусклый цвет указывает на то, что выбранный кубик не мигает.

Игра 9 использует переключатели кубика для определения бросков. Если выбран один из трех лучших, это определяет количество костей, которые нужно бросить 1, 2 или 3). Затем, если один из двух нижних переключателей нажат, то верхний ряд сохраняется, и это выбирает количество кубиков, которые нужно бросить в нижнем ряду (1 или 2). Это используется в таких играх, как Risk.

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