Световые мечи

Зимой 2017 ребята из Warsabers заказали нам разработку трех видов плат для световых мечей («лайтсаберов», оружия из вселенной «Звездных войн»).

 

Простая плата

Самая простая плата функционально умеет всего лишь включаться и выключаться по кнопке без фиксации. Включенный меч просто светится определенным светом, но и такие весьма востребованы. Из технических нюансов есть стабилизация тока светодиода: независимо от параметров светодиода через него будет идти ток в 1А, что хорошо сказывается на сроке службы и стабильности работы. На этой плате нет микроконтроллера и программируемой прошивки. Стабилизация тока светодиода осуществляется драйвером светодиода с высоким КПД, мы не тратим энергию на нагревание балластных резисторов (как это часто бывает в других мечах).

 

RGB-плата

Вторую плату мы называем RGB-платой, она все еще управляет светодиодами при помощи тех же драйверов, но теперь есть микроконтроллер, и, как следствие, более широкие возможности:

  • В штатном режиме работы меч может светиться любым цветом (стоит RGB-светодиод, микроконтроллер управляет компонентами RGB);
  • По нажатию кнопки меч начинает моргать;
  • На плате есть акселерометр, при помощи которого можно определять удары. При ударе меч вспыхивает другим цветом (или тем же, но более ярко);
  • У меча есть режим настройки, в нем можно менять цвета свечения. Цвет свечения (около 15 вариантов) запоминается в энергонезависимой памяти, и дальше меч будет всегда включаться с этим цветом, пока его не перенастроить.

 

Звуковая плата
Постановка задачи

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

Для меча предусмотрено три режима — спящий, в котором энергопотребление минимально, режим настроек и режим работы. В спящем режиме меч находится, когда выключен или когда подключен к компьютеру по USB. В режиме настроек пользователь может сменить цвета свечения меча или звуковой профиль. В режиме работы меч реагирует на движения и кнопки воспроизведения эффектов. 

Техническая реализация 

Плата включает в себя

  • Систему управления RGB-светодиодом, реализованную аналогично RGB-плате; сильноточные драйверы со стабилизацией тока и высоким КПД отлично себя зарекомендовали;
  • Достаточно мощный процессор Cortex-M4;
  • MicroSD карту для хранения обновления текущей прошивки, файлов звуковых эффектов и настроек меча;
  • Специальную микросхему для воспроизведения звука. По сути это звуковая карта, позволяющая проигрывать музыкальные файлы с достаточно высоким качеством. Мы используем  формат 16 bit, 22 kHz;
  • Разъем microUSB для подключения меча к компьютеру для записи новых файлов, смены настроек или зарядки аккумулятора;
  • микросхему зарядки: для питания используется Li-ion аккумулятор напряжением 3,7 В, зарядка происходит через USB, меч автоматически входит в спящий режим, сделана индикация разрядки и полной зарядки аккмулятора;
  • Трехосевые акселерометр и гироскоп для возможности распознавания движений и реакции на них.
Движения

Анализируя данные с датчиков движения меч умеет распознавать следующие движения:

  • Взмах (Swing) — любое движение мечом с достаточной скоростью. Каждый новый взмах сопровождается звуковым эффектом; 
  • Удар (Clash) — столкновение меча с любым объектом. Сопровождается световым и звуковым эффектом;
  • Тычок (Stab) — выпад мечом. Cопровождается звуковым эффектом;
  • Вращение (Spin) — быстрое вращение меча по кругу, в которое переходят взмахи, при снижении скорости превращается во взмахи обратно. Cопровождается звуковыми эффектами;
  • Вкручивание — вращение клинка вокруг своей оси. Сопровождается звуковыми эффектами. 

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

Так же реализованы звуковые эффекты Force и Blaster по нажатию соответствующих кнопок, мерцающий режим работы меча и вход в клинч — состояние, в котором меч не реагирует на движения и эффекты. 

Файлы на звуковой карте

При помощи разъема microUsb меч можно подключить к компьютеру без извлечения microSD-карты и использования внешнего картридера. Таким образом можно отредактировать звуковые файлы меча, файлы настроек, а так же записать новую прошивку. Для обновления проишвки меча и добавления новых функций теперь не нужно использовать специальное устройство. Достаточно просто положить файл с новой  программой на microSD карту, что позволяет присылать новые версии прошивки заказчикам, например, по электронной почте. 

Меч использует огромное количество пользовательских настроек, можно настроить как цвета свечения различных эффектов, так и звуковые профили и чувствительность меча на тот или иной жест. 

 

Плата NeoCore

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

К ней можно подключить:

  • основной клинок, в котором может быть одна или несколько светодиодных лент, подключенных параллельно или последовательно;
  • второй клинок, который может идти в обратную сторону от рукояти (меч Дарта Мола) или как гарда (меч Кайло Рена). Также на его место можно подключить специальные диоды подсветки.

За счет ленты в лезвии все эффекты стали более настраиваемыми:

  • меч включается, будто разворачивается. Можно настроить скорость и направление развертки — меч может как убираться в рукоять, так и втягиваться в кончик;
  • бластер и удар (clash) отображаются вспышками в различных местах клинка;
  • тычок (stab) вспыхивает на кончике;
  • клинч (lockup) мерцает и вспыхивает по всему клинку;
  • новый эффект «пламенный меч» — волны «пламени» бегут по основному клинку. Могут быть любого цвета, ширины и скорости.

На плате есть 8 дополнительных диодов,поведением которых тоже можно управлять, создавая последовательности шагов для каждого эффекта и основного режима работы.

В начале 2020 года мы сделали новый звуковой алгоритм для платы Neocore. Он позволяет микшировать музыкальные дорожки. Звучание меча при взмахах становится не отрывистым, как раньше, а непрерывным. Смотрите и слушайте видео :)

Над проектом работали:

Постановка задачи: warsabers.ru;
Печатная плата: Крэйл;
Программирование: Крэйл, Илья Тагунов;
Алгоритмика: Нотиэль;
Сборка: Крэйл, Дабро, Ильмаяр, Оками, Хьёрдис, Саша Занделова. Для звуковых и NeoCore плат с середины 2017 года используется заводская сборка;
Текст статьи: Нотиэль;
Менеджмент проекта: Нотиэль.

Search

Tags
3d печать klnfc led nfc starwars uart usb wifi антураж артефакт без корпуса браслет в корпусе ведьмак взлом вибро видео волшебство время все проекты гарри поттер грибы дверь дерево детектор для дома дорожка древа жезлы жесты замок заряжается звездные войны звук значки игроку игротехника ик как в сеттинге камни кинжал китайцы код колбы косплей кристаллы лазер лайтсабер люстра мастеру медальон механика музыкальный движок на батарейках носимое обзор образование освещение от аккумулятора от сети отзывы отладка перчатка пилюли портрет проводная связь промышленное пульт радиация радио речь решения роботы свет светлячок светодиоды станок статьи стационарное стимпанк телефон терминал толкин удобные приборы универсальное устройства игрока фантастика флейта фоллаут девайс цветы часы чуять друг друга экран