Накропал какой-то интерфейс к линейке светодиодов через сдвиговый регистр

Сейчас класс поддерживает 2 режима работы каждого светодиода: непрерывный и мигающий. На видео одна кнопка перебирает светодиоды с одного конца линейки (сначала включает непрерывный режим, а потом выключает), а вторая кнопка перебирает светодиоды с другого конца, включая и выключая мигающий режим.

Думаю, что пользоваться будет удобно.

Подумаю, может ещё что-нибудь можно накорябать, пока детали едут. Интересно же.

Это просто счастье какое-то

Пока основная часть деталей ко мне ещё едет. Но в наборе была одна микросхема 74HC595 и 10 светодиодов с резисторами 220 Ом. Это значит, что уже можно заняться написанием и отладкой блока светодиодной индикации.

Я подумал, что раз уж я хочу делать управляющую панель, то наверняка захочу, чтобы состояния некоторых кнопок показывались светодиодами. В частности, есть пока не до конца сформировавшаяся идея, что неплохо бы сделать клавиши переключения «регистров» (т.е. в моём случае это будут MIDI-каналы для правой, левой басовой и левой готово-выборной клавиатур). Чтобы они выглядели максимально похоже на клавиши регистров настоящего баяна. Похоже, это вполне можно сделать, если использовать сенсорные кнопки; в наборе как раз есть 3 штуки на пробу. Так вот, будет удобно и правильно, если включенный регистр будет подсвечиваться светодиодом. Ну то есть понадобится управлять как минимум 10-ю светодиодами. Угадайте как? Через сдвиговый регистр, ясен пень.

Вот, собрал на макетке «стенд». Буду играться.

Программирование для Ардуино, как оказалось, это чистый восторг. 32к ОЗУ для программы, 2к ОЗУ для данных. Непосредственная работа с железом. Красота. Чувствую себя как в 1990 году, когда я программировал для ЭВМ СМ-1420, СМ-1300 и немножко для СМ-1700. Старое-доброе программирование в условиях ограниченных ресурсов.

Кстати, по вычислительной мощности вот эта вот п$#дюлина на рис. 1 скорее всего превосходит ту самую СМ-1300. Возможно, в разы.

Рис. 1

Готовлю рабочее место

Сегодня я на своём многострадальном сервере развернул gitlab (см. рис. 1).

Чую, писать придётся много, а экспериментировать ещё больше. Колхозные методы управления версиями хоть и работают (именно ими я пользовался в 90-е), но нормальный git всё-таки лучше.

Эх и «толстая» же это система, эта ваша gitlab. Я в какой-то момент даже подумал, что моему серверу перестанет хватать 3 Гб ОЗУ. Но нет, вроде пока хватает. Если что — сделаю swap побольше. 🙂

Рис. 1

Приехала ко мне Ардуинка

Точнее, набор GiverKIT.

И первое, что я с ней сделал, это измерил, какая же всё-таки задержка сделана в оригинальной прошивке MIDI баяна:

// Задержка на 2500 счётов
for (volatile int a=0;a<2000;a++);

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

Интересно. Есть теперь, с чем поиграться.

«Мама, я снова программист!» 🙂

Рис. 1

P.S. А баян мой уехал ремонтироваться. Аж в Новосибирск. Пересылка — 3500 р. в один конец.

MIDI баян

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

  1. Окончательно решено, что баян будет на 100% электронным. Т.е. по сути он будет переделан в довольно продвинутую MIDI клавиатуру. «Аналоговая» часть (т.е. резонаторы с голосами) удаляется и больше использоваться не будет. Собственно, я её уже удалил и сложил в углу. Чтобы не отправлять СДЭКом лишний вес (см. следующий пункт).
  2. Для получения полноценного электронного баяна необходимо, чтобы была возможность управлять громкостью с помощью штатного меха. Т.е. для того, чтобы инструмент звучал, в нём должно быть давление воздуха, как в настоящем баяне. Величина этого давления будет измеряться спец-датчиком, и громкость звучания будет пропорциональна этому самому давлению. Всё как в жизни. Но для этого нужно чтобы внутренний объём инструмента был герметичен. А для этого нужно баян отправить на восстановительные работы специальному мастеру. Я уже с ним договорился; поскольку мне нужен ремонт по сокращенной программе, мой баян будет обслужен в обход штатной очереди (ждать которую обычно приходится 10 месяцев). Повезло мне, что и говорить.
  3. В качестве датчиков нажатия клавиш будут использоваться датчики Холла OH137 совместно с неодимовыми магнитами диаметром 4 мм и толщиной 2 мм. Я проверил, такой магнит должен нормально проходить через самое маленькое клапанное окно (самые высокие звуки левой выборной клавиатуры). Магниты и датчики уже заказаны. К слову говоря, с потребляемым током я в прошлый раз немножко (всего на порядок) ошибся. Потребляемый ток будет порядка 0.4А.
  4. Поскольку мне нужно читать состояние 107 клапанов, и кроме того я очень хочу сделать управление MIDI системой с помощью дополнительных физических кнопок (а не с помощью музыкальной клавиатуры), единственный вариант обеспечить ввод всех необходимых данных — это использовать входные сдвиговые регистры 74HC165. Мне их будет нужно аж 19 штук. Заказаны, едут.
  5. Предвидится очень много работы по переработке исходной прошивки для Ардуино. Будет совершенно другой код для чтения состояния клавиш (клапанов) и управляющих кнопок. Сами платы Arduino nano и всё необходимое для отладки аппаратной части ко мне уже едет в составе набора GiverKIT START.
  6. В качестве MIDI синтезатора я присмотрел ATEMP MIDI HW Synth. 16 MIDI каналов, 8 пресетов, и весьма хороший набор органных звуков. (Да, я собираюсь делать вид, что играю на органе Hammond.) Окончательно я еще не решил, но 95% вероятность, что куплю именно это. В качестве усилителя пока будет босяцкий вариант: активные компьютерные колонки; у меня как раз есть неиспользуемый комплект. (Но основной режим вывода звука будет «в наушники» непосредственно с синтезатора.)

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

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

Рис. 1

«Волга» — это диагноз

Когда я в начале 2000-х купил свой первый автомобиль, владельцы различных авто между собой общались на форуме www.auto.ru. Там для каждой марки был свой раздел. И тогда было модно всячески издеваться над водителями «Волг». В основном за то, что они ведут себя на дороге как мудаки (едут между рядами, не пользуются поворотниками, подрезают, и т.п.). Такое было тогда народное творчество, в общем.

С тех пор автопарк в стране поменялся до неузнаваемости, старые машины, в том числе «Волги» становятся редкостью.

Но иногда они возвращаются (см. рис. 1).

Рис. 1

Изголовье для кровати — 3

Ну как изголовье… Вот конкретно сегодня я сделал изножье (см. рис. 1).

Эта панель — простейшая по конструкции: прямоугольник из фанеры вешается на стену на самодельных подвесах. Если испорчу в процессе обивки, то всё что я потеряю — это кусок фанеры; не жалко. Но не испортил.

Технологию, слава ютубу, изобретать не пришлось: взял из этого видео.

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

Рис. 1
Читать далее «Изголовье для кровати — 3»

Про MIDI-баян

По следам прошлой заметки.

Изучил я соответствующую тему на форуме. При ближайшем рассмотрении выяснилось несколько вещей:

  1. Тема давнишняя, на форуме зарегистрироваться не получается (т.к. не пускает зависающая капча). Т.е. до тамошних людей не достучаться. Да и сообщений в теме не было давно.
  2. Официальный сайт проекта был по адресу www.openmidi.ru, но похоже сайт протух и его там сейчас нет. А ведь туда выкладывались обновления для прошивок.
  3. Гитхаб живой, но там, судя по всему, лежит только самая первая версия прошивки. В самой теме на форуме имеются более новые версии, прикрепленные к сообщениям.
  4. В теме на форуме я вроде бы нашел более-менее свежую прошивку, которую, видимо, и придётся взять за основу.

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

Перерабатывать надо будет по таким основным направлениям:

  • Текущий способ чтения датчиков клавиатуры годится только для т.н. «готового» баяна. Там на левую клаву физически можно подключить максимум 24 датчика. Для «готового» больше и не надо, а вот для выборки надо 52 датчика слева. Т.е. «матрично-построчное» чтение датчиков здесь уже не годится, надо будет переделывать на сдвиговые регистры типа 74HC165. И переписывать соотвествующую часть прошивки. И надо будет нагородить датчик положения переключателя режима левой клавы.
  • И это даже хорошо, потому что заодно можно будет напихать сдвиговых регистров и для работы с аппаратными кнопками управления, которые в базовой прошивке не предусмотрены. А панель с выделенными кнопками управления — гораздо удобнее, чем спец-режимы на основной «музыкальной» клаве.
  • И раз пошла такая пьянка, и раз уж всё равно придётся городить собственный огород, то может быть прикручу и какие-нибудь индикаторы. Или простейшие светодиоды, или может даже LCD.
  • Нужно будет абсолютно полностью разобраться во всей прошивке, иначе не получится доделать то, что там не успел доделать автор. И не получится потом добавлять то, что я захочу уже сам.

То есть прежде чем даже смотреть в сторону собственно баяна, нужно построить и отладить прототип электронной начинки. Т.е. немножко попаять и множко попрограммировать. Вообще, вся идея выглядит вполне реализуемой, и оттого весьма интересной. Берусь. Для старта у меня сейчас вообще ничего ардуиновского нет, поэтому лучшим вариантом вижу покупку набора GyverKIT START. Там, конечно, дофига ненужного в данный момент, но зато есть основное, что нужно для старта.

Рис. 1 КДПВ

А потреблять этот самый MIDI-баян будет примерно 4А при 5В питания. Дофига, однако. Как-никак, не меньше 107 датчиков Холла туда придётся вкорячить.

Фигвам?

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

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

Так что не знаю, где там собрался открываться Desport «на месте Decathlon». Думаю, что фигнам, а не дешевый магазин спортивного снаряжения и одежды.

Рис. 1

Из лексикона самодельщиков

Давно заметил, что многие ремесленники, тусящие на Ютубе, часто используют своеобразный жаргон (см. рис. 1).

Звучит дико. Примерно как «у вас в сумке дырка и через неё весь шопинг уже вывалился».

Рис. 1