MIDI - Саксофон - пробую сделать
MIDI - Саксофон - пробую сделать
Приветствую специалисты в FLProg и Гуру
давно у меня была мечта собрать миди саксофон так как на настоящем играть - соседи ругаются.
Кнопок будет не 8, а 24.. то есть 3 мультиплексора Вот что пока придумал смысл вот в чем
1) 3К - это цифровой вход ардуино (выход 8-канального мультиплексора 74HC4051)
к мультиплексору будут подключены кнопки (таких мультиплексоров будет 3
2) далее от входа модуль где определяется какая кнопка нажата (точнее какая комбинация кнопок нажата)
3) далее блок из в котором в зависимости от комбинации, 1 (один) подается на определенный выход далее к единице на каждом выходе прибавляется своя цифра согласно номеру выхода, то есть у каждого выхода появляется свой номер
и этот номер отправляется в миди (номер соответствует НОТЕ)
Как мультиплексор описать не представляю
давно у меня была мечта собрать миди саксофон так как на настоящем играть - соседи ругаются.
Кнопок будет не 8, а 24.. то есть 3 мультиплексора Вот что пока придумал смысл вот в чем
1) 3К - это цифровой вход ардуино (выход 8-канального мультиплексора 74HC4051)
к мультиплексору будут подключены кнопки (таких мультиплексоров будет 3
2) далее от входа модуль где определяется какая кнопка нажата (точнее какая комбинация кнопок нажата)
3) далее блок из в котором в зависимости от комбинации, 1 (один) подается на определенный выход далее к единице на каждом выходе прибавляется своя цифра согласно номеру выхода, то есть у каждого выхода появляется свой номер
и этот номер отправляется в миди (номер соответствует НОТЕ)
Как мультиплексор описать не представляю
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось konsys 15 апр 2021, 22:50, всего редактировалось 3 раза.
MIDI - Саксофон - пробую сделать
[ref]konsys[/ref], похоже, что в FLProg ошибка. Нельзя подключать больше чем один выход ко входу. Можно один выход к нескольким входам, но к одному входу, только один выход. Так что проект у вас работать не будет.
- Rovki
- Полковник
- Сообщения: 5777
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 73 раза
- Поблагодарили: 230 раз
- Контактная информация:
MIDI - Саксофон - пробую сделать
Использовать нужно запись бита в переменную инт 

Электронщик до мозга костей и не только
MIDI - Саксофон - пробую сделать
edyapd писал(а): 15 апр 2021, 06:21 [ref]konsys[/ref], похоже, что в FLProg ошибка. Нельзя подключать больше чем один выход ко входу. Можно один выход к нескольким входам, но к одному входу, только один выход. Так что проект у вас работать не будет.
но программа соединила и не показала ошибку.
а если ошибка, то надо делать под каждый выход свою миди ноту?
Отправлено спустя 29 секунд:
фраза вроде понятная, но не пойму куда ее применить
MIDI - Саксофон - пробую сделать
Если вы попробуете сделать это со стандартными блоками, то у вас такое не получится. Такое возможно только с пользовательскими.
И посмотрев код, который сгенерировала программа, вы увидите, что там присутствует только самый первый блок, который и подключается к пользовательскому.
Я не знаю, как работает этот пользовательский блок, так что сказать ничего не могу. Возможно надо просто каким-то образом изменить алгоритм работы.
MIDI - Саксофон - пробую сделать
Хорошо - с финишной частью кода буду много думать,
Скажите а первая часть кода
меня интересует часть
кнопки - мультиплексор 74HC4051 - вход ардуино - демультиплексор программный
Эта часть правильно сделана?
MIDI - Саксофон - пробую сделать
Я не вникал в проект. Это же надо знать, как вы себе это представляете. Не вижу как вы выбираете, с какого входа 74HC4051 читать.
MIDI - Саксофон - пробую сделать
Вот именно это меня больше всего и интересует.edyapd писал(а): 15 апр 2021, 15:04 Я не вникал в проект. Это же надо знать, как вы себе это представляете. Не вижу как вы выбираете, с какого входа 74HC4051 читать.
Посмотрел кучу роликов - и видел как при программировании описывают вход мультиплексора в ардуино как количество входов мультиплексора и на какой вход ардуино подается выход мультиплексора.
Я цифровой вход К3 обозначил как подключенный выход мультиплексора.
Но мне кажется я что-то сделал не правильно.
И надо как то обозначить подключения мультиплексора, а вот как не знаю.
MIDI - Саксофон - пробую сделать
Для этого вам надо почитать, как работает данная микросхема. Сложного там ничего нет.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
MIDI - Саксофон - пробую сделать
[ref]konsys[/ref], вы бы посмотрели, для начала, какие проекты уже реализованы другими людьми.
MIDI - USB клавиатура на Arduino Nano
USB MIDI- клавиатура на arduino mega
MIDI клавиатура на базе Roland K-25M
MIDI браслет для управления синтезаторами (в основном — для органично звучащего вибрато)
Я вам уже предлагал разобраться в проекте миди-баяна, это практически ваша задача, баян почти что духовой инструмент. Заметьте, что никто не использует мультиплексоры. Кажущаяся простота использования мультиплексора ведёт к неоправданному усложнению кода.
MIDI - USB клавиатура на Arduino Nano
USB MIDI- клавиатура на arduino mega
MIDI клавиатура на базе Roland K-25M
MIDI браслет для управления синтезаторами (в основном — для органично звучащего вибрато)
Я вам уже предлагал разобраться в проекте миди-баяна, это практически ваша задача, баян почти что духовой инструмент. Заметьте, что никто не использует мультиплексоры. Кажущаяся простота использования мультиплексора ведёт к неоправданному усложнению кода.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
MIDI - Саксофон - пробую сделать
именно этим я и занимаюсь.kulibinsvv писал(а): 15 апр 2021, 17:20 , вы бы посмотрели, для начала, какие проекты уже реализованы другими людьми.
Я изучал те материалы, что дали ВЫ - около двух суток
Простите, но у меня создалось впечатление, что меня изысканно послали нахер
Ибо Вы дали очень много сырого материала по теме и по объему равного этому форуму.
Честно говоря, я возненавидел Баян.
Немного не соглашусьkulibinsvv писал(а): 15 апр 2021, 17:20 Заметьте, что никто не использует мультиплексоры. Кажущаяся простота использования мультиплексора ведёт к неоправданному усложнению кода.
ибо спецы в МИДИ именно мультиплексоры и используют
https://www.youtube.com/watch?v=BLB0lqGwQD4 https://www.youtube.com/watch?v=D_1-I57oGSg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
MIDI - Саксофон - пробую сделать
Посмотрел ваш проект. Исправил ту часть которая формирует код ноты. За считывание клавиш ничего сказать не могу - схемы нет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
MIDI - Саксофон - пробую сделать
Большое спасибо - так намного красивей и код чищеkulibinsvv писал(а): 15 апр 2021, 18:00 Посмотрел ваш проект. Исправил ту часть которая формирует код ноты. За считывание клавиш ничего сказать не могу - схемы нет.
Отправлено спустя 54 минуты 55 секунд:
Отправлено спустя 3 часа 19 минут 45 секунд:
Нашел код работы мультиплексора 74HC4051
у меня S0=2 S1=3 S2=4 Z=10
в коде S0=8 S1=9 S2=10 Z=А0
[spoiler]
int pin_Out_S0 = 8;
int pin_Out_S1 = 9;
int pin_Out_S2 = 10;
int pin_In_Mux1 = A0;
int Mux1_State[8] = {0};
void setup() {
pinMode(pin_Out_S0, OUTPUT);
pinMode(pin_Out_S1, OUTPUT);
pinMode(pin_Out_S2, OUTPUT);
//pinMode(pin_In_Mux1, INPUT);
Serial.begin(9600);
}
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);
}
}
[/spoiler]
Как теперь этот код реализовать в FLProg ?
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
MIDI - Саксофон - пробую сделать
[ref]konsys[/ref], Давайте попробуем разобраться с клавиатурой.
Для начала надо определиться сколько и каких клавиш у нас будет.
Я посмотрел на апликатуры саксофона и понял приблизительно следующее (вы меня поправите, если что не так):
6 основных клапанов, которые задают нотный ряд, 3 для правой руки и 3 для левой;
4 модификатора для правой руки и 8 - для левой;
5 октавных клапанов.
В этом нужно разобраться, чтобы правильно реагировать на нажатие той или иной клавиши.
Для начала надо определиться сколько и каких клавиш у нас будет.
Я посмотрел на апликатуры саксофона и понял приблизительно следующее (вы меня поправите, если что не так):
6 основных клапанов, которые задают нотный ряд, 3 для правой руки и 3 для левой;
4 модификатора для правой руки и 8 - для левой;
5 октавных клапанов.
В этом нужно разобраться, чтобы правильно реагировать на нажатие той или иной клавиши.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
MIDI - Саксофон - пробую сделать
Давайте разберемся.kulibinsvv писал(а): 16 апр 2021, 08:10 [ref]konsys[/ref], Давайте попробуем разобраться с клавиатурой.
По клапанам Вы близки к тому что я хочу. всего 24 клапана
октавных ТРИ
октавы переключаются комбинациями
22 = первая
22+23 = вторая
23 = третья
22+24 = -1
24 = -2
Но мне кажется сначала надо разобраться с работой мультиплексора, а далее по аналогии их можно наращивать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
А чего с ней разбираться? Перебирайте адреса на S0-S2 и читайте данные с Z.konsys писал(а): 16 апр 2021, 10:20 Но мне кажется сначала надо разобраться с работой мультиплексора
У меня вот вопрос, вы будете обрабатывать воспроизведение звуков на МК или в компьютере?
Если в компьютере, то проще залить скетч, который вы привели для примера и не мучиться.
MIDI - Саксофон - пробую сделать
Если бы я понял как это составить из блоков FLProg я бы так и сделалedyapd писал(а): 16 апр 2021, 11:54 А чего с ней разбираться? Перебирайте адреса на S0-S2 и читайте данные с Z.
Я попробую предложить свой вариант, но не думаю что он будет верным.
на первых порах в компьютере.edyapd писал(а): 16 апр 2021, 11:54 У меня вот вопрос, вы будете обрабатывать воспроизведение звуков на МК или в компьютере?
может и проще, но что мне делать с остальным функционалом?edyapd писал(а): 16 апр 2021, 11:54 Если в компьютере, то проще залить скетч, который вы привели для примера и не мучиться.
или вы имеете ввиду, что данный скетч можно как-то залить в FLProg?
MIDI - Саксофон - пробую сделать
С каким конкретно?
FLProg это всего лишь визуальная среда (оболочка). Потом вы получаете на выходе подобный код. И уже из Ардуино заливаете его в микроконтроллер. Если не хотите отдельно устанавливать Ардуино, то можете в FLProg создать любой блок и вызвать компилирование. Уже в появившемся окне Ардуино всё удалить и вставить свой код. Его и прошить.
Но тут важно понимать, какие данные ждёт компьютер по СОМ-порту. Если они не будут соответствовать ожидаемым, то ничего и не получится.
Не ошибается тот, кто ничего не делает.konsys писал(а): 16 апр 2021, 12:03 Я попробую предложить свой вариант, но не думаю что он будет верным.
MIDI - Саксофон - пробую сделать
использовать датчик давления как регулятор громкости
подключение микрофона по другому каналу для получения модуляции
подключение потенциометра для изменения высоты тона
MIDI - Саксофон - пробую сделать
С микрофоном не совсем понятно.
Датчик давления читается точно так же с аналогового входа, как и потенциометр.
Тут главное понять, что программа на компьютере будет ожидать от данных с СОМ-порта. В каком виде их туда подавать.
Датчик давления читается точно так же с аналогового входа, как и потенциометр.
Тут главное понять, что программа на компьютере будет ожидать от данных с СОМ-порта. В каком виде их туда подавать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость