Запаял плату микроконтроллера

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

Саму плату RP2040-Zero я как всегда посадил в панельку. Потому что перепрошивать её предстоит много-много раз, и таскать к компьютеру микроконтроллер гораздо проще, чем весь разобранный баян.

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

Следующий шаг — монтаж аккумуляторного блока в сам баян. Там в составе этого блока будут 2 банки 18650, модуль зарядки (с защитой) и два бустера на 5 В и 3.3 В.

Рис. 1

Приехали платы для 2-й версии MIDI-баяна

Одна плата — это плата микроконтроллера, вторая — плата приёмника радиосигнала (будет актуальна, когда я напишу прошивку, поддерживающую радиоканал).

Заказывал на pcbwave.com. Качество отличное.

Заказывал я по 5 штук. Там это минимальный заказ. А прислали 12 плат микроконтроллера, и 11 плат радиоприёмника (см. рис. 1).

В общем, если кому надо готовые платы для 2-й версии миди-баяна — обращайтесь. Уступлю по той же цене, по которой они мне достались (плюс расходы на пересылку). Мой почтовый адрес — в QR-коде на главной странице tesanoff.klah.ru.

Правда, эти платы неидеальны. Выяснился довольно неприятный момент.

Дело в том, что часть компонентов рассчитана на питание от 3.3 В, а другая часть — от 5 В. Поэтому для согласования логических уровней я решил использовать микросхемы TXS0108E. Но на этапе производственных испытаний выяснилось, что эти преобразователи не работают как надо для согласования шины I2C, на которой у меня висят внешняя EEPROM память и OLED экран. Так что придётся SCL/SDA линии тащить к 5-вольтовому экрану от 3-вольтового микроконтроллера. А на плату в соответствующем месте лепить сопли запаивать перемычки.

Так что для согласования I2C шины преобразователи TXS0108E не годятся (надо будет поискать другое решение). На остальных же линиях они отлично работают.

Рис. 1

To whom, как говорится, it may concern

Подтверждена работоспособность схемы второй версии MIDI-баяна, основанного на плате RP2040-Zero.

В данном случае, это параллельный проект MIDI-гармони. Разработка ведётся здесь. При адаптации проекта для гармони были убраны некоторые функции, специфичные именно для баяна, и была добавлена обработка специфики гармони.

Версия, основанная на Arduino Nano дальше развиваться не будет, и будет заморожена.

Текущий функционал прошивки пока не включает в себя работу с радиоканалом и с SD флеш-картами. Пока это просто перенос функционала из Arduino Nano в RP2040-Zero.

Рис. 1

Уже могу сказать, что разница между этими микроконтроллерами колоссальная. Если в Arduino Nano одно полное чтение состояния всех клавиш занимало 2 мс, то в RP2040 это занимает уже 0.11 мс. Т.е. клавиатуры опрашиваются примерно 8700 раз в секунду.

P.S. Забыл добавить, что схема платы микроконтроллера (см. рис. 1) совершенно одинаковая для баяна и гармони. Различия между ними только в прошивке и в платах датчиков клавиатур.

Надо же было так затупить

Есть в MIDI команде «note on» параметр «velocity». Используется он в тех клавиатурах, которые умеют различать то, что в народе называют «сила нажатия на клавиши». Это актуально при игре на инструментах типа фортепиано, где звук зависит от того, как нажата клавиша. И придуман этот параметр был в первую очередь применительно к фортепиано.

И в моей голове почему-то закрепилось словосочетание «сила нажатия». И почему-то проигнорировалось само название параметра «velocity». Почему-то я решил, что измерять надо именно силу нажатия. А надо мерять именно скорость.

Ну просто потому, что в случае того же фортепиано именно от скорости зависит громкость. Т.е. энергия, передаваемая молоточком струне, определяется именно скоростью, и больше ничем (см. рис. 1).

Надо же было так затупить.

Рис. 1

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

650 мА

Именно столько потребляет текущая версия баяна.

Разобрало меня любопытство, пришлось спаять пару разъемов и кусок провода с разрывом, чтобы измерить потребление.

Цифровой мультиметр, кстати, с задачей измерения тока не справился. Видимо, он вносит слишком много помех по питанию — экранчик в баяне не завёлся. А старинный стрелочный — справился.

Рис. 1

Подготовка к внедрению автономного питания

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

Но поскольку MIDI баян v2 будет отвязан от проводов (за счет радиоканала для MIDI-команд и аккумуляторов 18650 для питания), выключатель необходим.

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

Рис. 1
Читать далее «Подготовка к внедрению автономного питания»

В копилку знаний

Датчик давления, установленный в баяне, должен управлять не «громкостью» (MIDI команда СС 7), а «экспрессией» (MIDI команда CC 11).

«Экспрессия» более правильно отрабатывает резкую остановку меха: звук пропадает, как и положено, а эхо (от эффекта «ревербрация») остаётся.

Возможно, есть ещё какие-то правильные эффекты от использования «экспрессии», но для перехода от CC 7 к CC 11 вполне достаточно и этого.

Дело понемногу продвигается

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

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

Партия баса в левой руке серьёзно отличается от «стандартного» баянного аккомпанемента, к которому я привык. Играть её приходится на выборке, иначе пропадёт половина красоты.

Собственную скорость разучивания я сейчас оцениваю примерно как 3-4 из 10, где 10 — это тот уровень, который у меня был по окончанию музыкальной школы. Всё-таки 39 лет перерыва сказываются. 🙂 Ладно хоть методику разучивания в меня вбили так, что это знание держится до сих пор.

Рис. 1

Платы 2-й версии баяна в пути

Разведённая ранее плата микроконтроллера была заказана на pcbwave.com и сейчас едет ко мне.

Очень надеюсь, что приедет в течение ближайших 2 недель.

Рис. 1

Выключатели

Закупил сегодня 2 варианта выключателей (см. рис. 1). Установка планируется в верхней части (верх — когда баян находится в рабочем положении). Клавиша/кнопка будет снаружи, а контакты — внутри герметичного объёма.

С точки зрения внешнего вида, мне больше нравится вариант с чёрной клавишей. Но с точки зрения удобства и надёжности герметизации более перспективно выглядит «красная кнопка».

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

Рис. 1