Arduino vs STM32

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

Для меня подобная точка зрения выглядит странно. Потому что Ардуино (как сами платы, так и сопутствующее окружение в виде среды программирования и библиотек) — это не более чем инструмент. Хорошо подходящий для одних задач, и совсем не подходящий для других. И лично я ценю Ардуино за крайне низкий порог вхождения в тему программирования микроконтроллеров и, как следствие, за рекордно малое время от начала разработки до получения готового продукта (как любят выражаться наши западные партнёры — «time to market»). Я сам — тому отличный пример (см. заметки по теме «MIDI баян»).

И недавно мне на глаза попалась статья «Что такое Ардуино«, а точнее раздел «Хейтеры платформы». И могу сказать, что подписываюсь под каждым словом. И желаю «профессионалам» от микроконтроллеров поумерить свой снобизм, ибо не такие уж вы на самом деле профессионалы, раз не видите очевидных достоинств и преимуществ у того, что критикуете.

Рис. 1 КДПВ

Без усилий сэкономил 97 байт

Попробовал я установить для Ардуины «ядро» GyverCore. Установилось и заработало.

И оказалось, что я не зря попробовал: при компиляции с новым ядром прошивка MIDI-баяна оставляет свободным 307 байт ОЗУ. Стандартное ядро оставляло 214 байт. По ардуинным меркам такая экономия — это совсем не мелочь.

Так что рекомендую.

Рис. 1

Про пайку

Я тут, в основном для тренировки, запаял контактные гребёнки на спец-макетку для ардуины-нано (см. рис. 1).

Рис. 1

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

Придётся браться за напильник.

И раз такие дела, то я уж сразу на будущее закупил по десятку вот таких жал. Шириной 2.4 и 1.6. Они медные, так что с самого начала понятно, что будут гореть. Но зато дешевые. Типа, если результат такой же, то зачем платить больше?

Рис. 2

Я не тормоз

Баян «Рубин 5» мне купили в 1980 году, когда я поступил в 1 класс музыкальной школы. Я на нём отучился до 1985, после чего эпизодически играл примерно до 1993. Потом этот баян хранился без движения 30 лет. И вот я его взялся переделывать в MIDI-баян.

И только сейчас я обратил внимание на то, что клавиатура кривая (см. рис. 1). Расстояние между кнопками 1 и 2 рядов больше, чем расстояние между 2 и 3 рядами (см. красные линии на рис. 1). И как следствие, «диагонали» (см. зеленую линию на рис. 1) неровные. 44 года мне понадобилось на то, чтобы обратить на это внимание.

Нет, я не тормоз.

Рис. 1

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

Платы переданы в производство

Теперь только ждать. Мне не очень повезло, и приходится ждать ещё 2-3 недели. Но зато на мне заработает не левый посредник-китаец, а вполне конкретный земляк, делающий нужное и полезное дело за вполне приемлемые деньги. (Не то что многие конторы в России, которые заряжают за одну плату, как за чугунный мост.)

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

По этой теме мне остаётся только заниматься восстановлением беглости и координации рук. Всё-таки я не играл примерно с 1993 года. Но тут есть какая-то надежда. Опыт показал, что после примерно 3 часов занятий при игре гаммы в руке начинает появляться правильное ощущение «двигается как по рельсам», когда голове уже не нужно задумываться о том, куда становятся пальцы. Т.е. мышечная память не ушла совсем, она просто глубоко закопана сейчас. Конечно, было бы неплохо играть со звуком, да под метроном. Но для этого нужно получить готовые платы, запаять все детали, и установить всё хотя бы в правый полукорпус для начала. А перед установкой — проверить правильность работы в «разложенном на столе» виде. Надо мне, пожалуй, временно переключиться с баянной темы на что-то другое. А то тошно просто так, ничего не делая, ждать. Например, фотографии из последней поездки надо обработать.

Рис. 1

Платы разведены и подготовлены для передачи на изготовление

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

Во-вторых, пришлось подкрутить в нужную сторону параметры переходных отверстий.

Надеюсь, в обозримом и не сильно далёком будущем эти платы у меня будут лежать на столе.

Рис. 1

Больше знаний — больше печали…

…или как там у них правильно говорится.

В общем, посмотрел я на днях интересное видео на тему ударных инструментов через MIDI (см. ниже).

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

И я заодно понял, почему у меня получалась какая-то фигня, когда я пытался экспериментировать со звуками щёток по барабану: во время экспериментов параметр «velocity» был настроен на максимум. На практике такая настройка означает, что щёткой по барабану лупят, вместо того, чтобы щёткой барабан гладить.

Печаль.

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

Переделал все печатные платы

Проверка показала, что платы, разработанные ранее, неточные по размерам. Пришлось поменять подход и всё-таки использовать CAD (Компас 3D Home).

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

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

Рис. 1

Ограничители потока воздуха

Я уже писал, что для того, чтобы ощущения от игры на безголосом баяне были похожи на «настоящие», нужно ограничивать поток воздуха через клапаны. Те ограничители, которые я сделал в прошлый раз, работали неидеально. Потому что прилегание фанеры к металлической деке было неплотным и неравномерным, и некоторые ноты подсасывали воздух через щели.

Алексей, мастер, который делал капитальный ремонт моего баяна, посоветовал мне купить уплотнители. Я купил, приклеил, и в целом остался доволен. И басы, и выборка, и аккорды в левой руке теперь работают правдоподобно и одинаково по всему диапазону.

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

Рис. 1