Настройка расхода воздуха

Раз уж я решил, что датчики будут устанавливаться на рычаги, и что клеить магниты на сами клапаны я не буду, то надо сразу сделать «заменители голосовых планок». Чтобы во время игры расход воздуха был такой же, как у нормального инструмента. Окна клапанов очень широкие, и сопротивления воздуху практически не оказывают (а голосов-то на моём баяне уже нет).

Для правой клавиатуры получилось обойтись всего одной деталью:

Рис. 1

Напротив каждого клапанного окна — отверстие диаметром 4 мм. Сначала я просверлил по 3 мм, но расход воздуха получился непривычно маленьким; я привык к большему. Рассверлил до 4 мм (увеличив площадь отверстия почти в 2 раза). Получилось очень похоже на настоящее.

Для левой клавиатуры пришлось сделать аж 3 детали:

Рис. 2

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

А вот для выборки расход всё-таки маловат.

Но наверное пока оставлю так. Сначала посмотрю, как на это всё будет реагировать датчик давления.

Следующий шаг — «трепанация».

Я нашёл, чем делать «трепанацию» левому полукорпусу

У меня есть набор от DuraGRIT для дремеля. И там есть один отрезной диск, размера которого вполне хватает, чтобы нормально прорезать эту стенку корпуса (см. рис. 1).

Т.е. надо будет соорудить нечто вроде фрезерного стола, где в роли фрезера будет жёстко закреплённый дремель с этим диском. И, двигая полукорпус, можно будет сделать ровный пропил. (Если держать дремель в руках, то ровного пропила не получится в принципе.) У меня будет только одна попытка.

Это диск даст пропил шириной где-то 1.5-2 мм. Придётся что-то подклеивать, чтобы эту щель закрыть (а потом подкрашивать в чёрное). Но у меня уже есть идеи на этот счёт.

Так что операция «трепанация» превращается в основной план по установке датчиков в левую клавиатуру.

Заодно я нашёл очень хорошее место, куда можно установить датчик положения переключателя выборной клавиатуры. И для этого даже пригодится сильный магнит 4*2 из тех, что я купил изначально. Увеличенный зазор между датчиком и магнитом в этом конкретном случае будет очень кстати.

Рис. 1

Трепанация

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

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

Для этого придётся выпилить часть корпуса примерно по красной линии, как показано на рис. 1. Т.е. эта часть корпуса будет съёмной. При этом нужно будет как-то умудриться сделать пропил как можно более тонким. С двумя вертикальными короткими пропилами и проблем не вижу: их можно будет сделать японской пилой; у неё полотно очень тонкое. Но вот как делать горизонтальный пропил — я пока не придумал.

Заодно надо будет как-то линию пропилов потом облагородить. Замаскировать её не получится (она будет слишком широкая для этого. Значит придётся либо снять фаски, либо сделать закругления, покрасить обнажившееся дерево в чёрный цвет и покрыть каким-нибудь лаком или чем-то эдаким. Может, кстати, чёрной глянцевой краской Hammerite покрашу, вроде она у меня где-то была.

На что только ни пойдёшь, чтобы установить датчики Холла в идеальное место.

За внешний вид инструмента я не переживаю. Эта сторона корпуса не на виду.

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

И, кстати, надо пока гаммы/арпеджио погонять (это можно делать и на не звучащем инструменте). А то за 34 года руки стали совсем «деревянными». И не скажешь, что когда-то я первые места на областных конкурсах занимал. Очень интересно, сколько времени займёт восстановление хоть какой-то формы.

Рис. 1

И плохая новость

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

Так что моя прекрасная плата датчиков для 1 и 2 ряда правой клавиатуры (см. рис. 1) останется до конца мая только в виде 3D модели, т.к. www.pcbnn.ru до конца мая заказы не принимает. 🙁

Печаль печальная.

А где ещё можно заказать печатные платы в 2024 году?

Рис. 1

Хорошая новость и плохая новость.

Приехал ко мне мой баян из ремонта. Хочу сказать, что это совершенно однозначно были не зря потраченные деньги. Механика приведена в прекрасное состояние. Пожалуй, лучше, чем было с завода. Компрессия — моё почтение.

И я сразу ломанулся смотреть, влезут ли датчики левой клавиатуры в пространство под плоскими рычагами (см. рис. 1).

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

Рис. 1

Датчики размещать придётся именно под рычагами. Потому что над рычагами просто нет места, если установить на место механизм с клавишами аккордов. Если в положении «выборная клавиатура» доступ к рычагам ещё есть:

Рис. 2

то в положении «готовые аккорды» толкатели выборки полностью перекрывают доступ к рычагам:

Рис. 3

Поэтому у меня есть и хорошая, и плохая новость одновременно. Хорошая: место под рычагами подходит для размещения датчиков идеально. Плохая: для того, чтобы туда установить плату с датчиками, нужно будет отпилить часть задней стенки корпуса (см. показанное красной стрелкой на рис. 2) и сделать её съёмной. Буду думать, как это сделать максимально аккуратно.

Но работу я начну не с этого.

Читать далее «Хорошая новость и плохая новость.»

Магниты поменьше

Приехали магниты, которые я заказал, когда заподозрил, что 4*2 — сильноваты (как потом и оказалось).

Эти — 3*1. В смысле, 3 мм диаметр и 1 мм толщина (на самом деле даже не 1, а 0.75). На рис.1 — все 200 штук.

Собрал я схемку с датчиком, чтобы проверить, как он будет срабатывать с таким магнитом. Ну, могу сказать, что для плотного монтажа они тоже могут оказаться сильноваты. Но уже есть надежда, что датчики не будут срабатывать от соседних магнитов. Надо было сразу брать 2*1, как в оригинальной статье. Зря я боялся, что они слабые.

Мой баян уже в Нижнем Новгороде, только пока ещё не доехал до пункта выдачи СДЭК. Может, вечером заберу, если повезёт.

Чтобы не терять драгоценное время…

…майских праздников, я рисую схемы.

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

Но схемы всё равно придётся рисовать. А управляющая панель (см. рис. 1) скорее всего уже не изменится, или изменится минимально.

EasyEDA, кстати, вызывает восторг.

Рис. 1

Сделана вся индикация на главном экране

Когда я писал про «множко попрограммировать», я, похоже, не шутил. В исходниках уже 1666 строк кода (см. рис. 1). Это, конечно, пока ещё прототип, один класс (клавиатуры и управляющие кнопки) ещё не оформлен как надо. Прошивка уже умеет воспринимать «мызыкальные» клавиши и посылать в синтезатор соответствующие команды, и умеет показывать на основном экране основные параметры своего состояния (см. видео ниже). То есть, в принципе, «голая игралка» уже есть; и если присобачить к клавиатурам баяна датчики и подключить к макетке, то можно даже играть. Теоретически.

А практически осталось дописать:

  • Настройку параметров для каждой клавиатуры (всего их четыре: правая, левый бас, левый аккорд, и выборный режим левой клавиатуры, когда нет ни баса, ни аккорда, а есть только одиночные ноты, как на правой клавиатуре). Это будет прокручиваемый список на 4 столбца и на 15 строк; первые 3 строки из этого списка показываются на главном экране.
  • Настройку системных параметров
    • включение/выключение датчика давления
    • включение/выключение режима «Running Status»
    • выбор типа подключенного синтезатора (либо «General MIDI», либо «ATemp»)

Это программа-минимум. А максимум — это ещё пара интересных режимов, как, например, подключение канала ударных инструментов для баса/аккорда; эта фишка во всех электронных баянах, что я видел, её надо сделать.

Рис. 1
Читать далее «Сделана вся индикация на главном экране»

Я у мамы UX/UI дизайнер

Дизайн «GUI» баяна* я рисую… в экселе (см. рис. 1). Для меня он оказался самым дешевым и быстродоступным средством визуализации. Чтобы понять, что и как надо будет разместить на экране.

С индикаторами я ещё не определился. Да и не дошли ещё руки до них. Довольно много времени ушло на то, чтобы окончательно понять, как работать со строками, расположенными в PROGMEM. Как всегда, оказалось, что руководства и прочие документы пишутся для того, чтобы им следовать и делать, как написано, а не для того, чтобы на них посмотреть и сделать по-своему. Ну и затупил на ровном месте пару раз (как же без этого).

Рис. 1
Читать далее «Я у мамы UX/UI дизайнер»

Готовлюсь писать «GUI»

Наша служба и опасна и трудна,
И на первый взгляд, как будто не видна.

Это как раз про написание кода, который пока не производит видимых эффектов.

Я тут переконфигурил макетку для работы с дисплеем. Теперь кнопки — это не музыкальные клавиши, а управляющие кнопки с панели управления (хорошо, что это очень легко перенастраивается в прошивке). Зато теперь у меня есть кнопки, которые можно назначить на «вверх», «вниз», «вправо», «влево» и ещё 2 кнопки, которые будут в разное время выполнять разные роли.

И заодно немного причесал ранее написанное. Оформил в полноценную нормальную ардуино-библиотеку класс, работающий со светодиодами. Вытащил в отдельные .h/.cpp файлы класс с очередью событий приложения.

И доработал класс «кнопки/клавиши», чтобы можно было для управляющих кнопок включать режим «быстрого автоповтора», как на обычной компьютерной клавиатуре. Т.е. при удерживании кнопки (но не сразу, а через 0.7 с после начала удерживания), кнопка автоматически генерирует события «нажато»/»отпущено» с частотой примерно по 20 событий в секунду. Самое то, что нужно, для настройки численных параметров с помощью стрелок.

И я немного офигел, когда увидел, что библиотека для работы с экраном сожрала аж целый килобайт с лишним ОЗУ (под буфер обмена с дисплеем). Для моих нужд мне осталось всего порядка 300 байт теперь. Ну, по идее, этого должно хватить, учитывая, что я всё-всё, что можно размещаю во флеш-памяти (см. ключевое слово PROGMEM). Экран нужен, и русские буквы на нём тоже нужны; придётся терпеть.

По плану, следующий шаг — это утащить во флэш-память кое-какие константы для клавиатурного класса. Планирую освободить в ОЗУ порядка 20 байт, может чуть больше.

Рис. 1