Приветствую специалисты в FLProg и Гуру
давно у меня была мечта собрать миди саксофон так как на настоящем играть - соседи ругаются.
Кнопок будет не 8, а 24.. то есть 3 мультиплексора
смысл вот в чем
1) 3К - это цифровой вход ардуино (выход 8-канального мультиплексора 74HC4051)
к мультиплексору будут подключены кнопки (таких мультиплексоров будет 3
2) далее от входа модуль где определяется какая кнопка нажата (точнее какая комбинация кнопок нажата)
3) далее блок из в котором в зависимости от комбинации, 1 (один) подается на определенный выход
далее к единице на каждом выходе прибавляется своя цифра согласно номеру выхода, то есть у каждого выхода появляется свой номер
и этот номер отправляется в миди (номер соответствует НОТЕ)
Как мультиплексор описать не представляю
MIDI - Саксофон - пробую сделать
Добавлено: 15.04.2021{, 06:21}
edyapd
konsys, похоже, что в FLProg ошибка. Нельзя подключать больше чем один выход ко входу. Можно один выход к нескольким входам, но к одному входу, только один выход. Так что проект у вас работать не будет.
konsys, похоже, что в FLProg ошибка. Нельзя подключать больше чем один выход ко входу. Можно один выход к нескольким входам, но к одному входу, только один выход. Так что проект у вас работать не будет.
но программа соединила и не показала ошибку.
а если ошибка, то надо делать под каждый выход свою миди ноту?
Если вы попробуете сделать это со стандартными блоками, то у вас такое не получится. Такое возможно только с пользовательскими.
И посмотрев код, который сгенерировала программа, вы увидите, что там присутствует только самый первый блок, который и подключается к пользовательскому.
Я не вникал в проект. Это же надо знать, как вы себе это представляете. Не вижу как вы выбираете, с какого входа 74HC4051 читать.
Вот именно это меня больше всего и интересует.
Посмотрел кучу роликов - и видел как при программировании описывают вход мультиплексора в ардуино как количество входов мультиплексора и на какой вход ардуино подается выход мультиплексора.
Я цифровой вход К3 обозначил как подключенный выход мультиплексора.
Но мне кажется я что-то сделал не правильно.
И надо как то обозначить подключения мультиплексора, а вот как не знаю.
MIDI - Саксофон - пробую сделать
Добавлено: 15.04.2021{, 16:09}
edyapd
Для этого вам надо почитать, как работает данная микросхема. Сложного там ничего нет.
Я вам уже предлагал разобраться в проекте миди-баяна, это практически ваша задача, баян почти что духовой инструмент. Заметьте, что никто не использует мультиплексоры. Кажущаяся простота использования мультиплексора ведёт к неоправданному усложнению кода.
, вы бы посмотрели, для начала, какие проекты уже реализованы другими людьми.
именно этим я и занимаюсь.
Я изучал те материалы, что дали ВЫ - около двух суток
Простите, но у меня создалось впечатление, что меня изысканно послали нахер
Ибо Вы дали очень много сырого материала по теме и по объему равного этому форуму.
Честно говоря, я возненавидел Баян.
void loop() {
updateMux1();
for(int i = 0; i < 8; i ++) {
if(i == 7) {
Serial.println(Mux1_State);
} else {
Serial.print(Mux1_State);
Serial.print(",");
}
}
}
void updateMux1 () {
for (int i = 0; i < 8; i++){
digitalWrite(pin_Out_S0, HIGH && (i & B00000001));
digitalWrite(pin_Out_S1, HIGH && (i & B00000010));
digitalWrite(pin_Out_S2, HIGH && (i & B00000100));
Mux1_State = analogRead(pin_In_Mux1);
}
}
Как теперь этот код реализовать в FLProg ?
MIDI - Саксофон - пробую сделать
Добавлено: 16.04.2021{, 08:10}
kulibinsvv
konsys, Давайте попробуем разобраться с клавиатурой.
Для начала надо определиться сколько и каких клавиш у нас будет.
Я посмотрел на апликатуры саксофона и понял приблизительно следующее (вы меня поправите, если что не так):
6 основных клапанов, которые задают нотный ряд, 3 для правой руки и 3 для левой;
4 модификатора для правой руки и 8 - для левой;
5 октавных клапанов.
В этом нужно разобраться, чтобы правильно реагировать на нажатие той или иной клавиши.
Но мне кажется сначала надо разобраться с работой мультиплексора
А чего с ней разбираться? Перебирайте адреса на S0-S2 и читайте данные с Z.
У меня вот вопрос, вы будете обрабатывать воспроизведение звуков на МК или в компьютере?
Если в компьютере, то проще залить скетч, который вы привели для примера и не мучиться.
вы имеете ввиду, что данный скетч можно как-то залить в FLProg?
FLProg это всего лишь визуальная среда (оболочка). Потом вы получаете на выходе подобный код. И уже из Ардуино заливаете его в микроконтроллер. Если не хотите отдельно устанавливать Ардуино, то можете в FLProg создать любой блок и вызвать компилирование. Уже в появившемся окне Ардуино всё удалить и вставить свой код. Его и прошить.
Но тут важно понимать, какие данные ждёт компьютер по СОМ-порту. Если они не будут соответствовать ожидаемым, то ничего и не получится.
использовать датчик давления как регулятор громкости
подключение микрофона по другому каналу для получения модуляции
подключение потенциометра для изменения высоты тона
MIDI - Саксофон - пробую сделать
Добавлено: 16.04.2021{, 16:55}
edyapd
С микрофоном не совсем понятно.
Датчик давления читается точно так же с аналогового входа, как и потенциометр.
Тут главное понять, что программа на компьютере будет ожидать от данных с СОМ-порта. В каком виде их туда подавать.