MIDI - Саксофон - пробую сделать

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

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#21

Сообщение konsys » 16.04.2021{, 18:11}

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


vhody25.jpg
Теперь я правильно указал входы и выходы? да и вообще весь блок?

Вот что получилось из этого скетча
СпойлерПоказать


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);
}
}
74HC4051_(Code_-_Basic).ubi
(36.87 КБ) 25 скачиваний
Прошу посмотреть и поправить если есть ошибки

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#22

Сообщение konsys » 23.04.2021{, 20:07}

Вопрос:
на мониторе порта такая картина
в столбик бегут нули, нажимаю кнопку соответствующую 1 бегут единицы
двум бегут двойки

Как сделать так, что бы цифры не бежали
чтобы
при нажатии 1 в мониторе порта появилась одна единица в строчке
при нажатии 2 в другой строчке появилась 2

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#23

Сообщение edyapd » 23.04.2021{, 20:09}

Подозреваю, что у вас идёт постоянная отправка в СОМ-порт. Сделайте отправку по изменению. Или по условию.

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#24

Сообщение konsys » 23.04.2021{, 20:12}

edyapd писал(а):
23.04.2021{, 20:09}
Подозреваю, что у вас идёт постоянная отправка в СОМ-порт. Сделайте отправку по изменению. Или по условию.
получилось спасибо

Отправлено спустя 1 час 36 минут 12 секунд:
есть серия коротких имульсов после RTrig
как разделить импульсы по входам следующего блока?
первый импульс на первых вход
второй импульс на второй вход
третий на третий четвертый опять на первый и т д

dsfbuy
Сержант
Сообщения: 171
Зарегистрирован: 03.11.2018{, 12:40}
Репутация: 21
Откуда: Братск
Имя: Виктор

MIDI - Саксофон - пробую сделать

#25

Сообщение dsfbuy » 23.04.2021{, 22:41}

konsys писал(а):
23.04.2021{, 21:48}
как разделить импульсы по входам следующего блока?
Так.
1.png

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#26

Сообщение konsys » 23.04.2021{, 23:27}

dsfbuy писал(а):
23.04.2021{, 22:41}
konsys писал(а):
23.04.2021{, 21:48}
как разделить импульсы по входам следующего блока?
Так.1.png
Спасибо - работает

Но не решает моей задачи
не корректно сформулировал

задача такая
есть блок с тремя входыми
1) включение входа 3
2) выключение входа 3
3) вход с сигналом

на вход 3 подается сигнал последовательности цифр от 0 до 255 разной длительности
надо как то исхитриться и в момент смены цифр - например 7 на 45 затем на 58
подать сигнал на 2) чтобы выключить 7 и тут же подать сигнал на 1) что бы включить 45,
затем при смене с 45 на 58 подать сигнал на 2) что бы выключить 45 и подать сигнал на 1) что бы включить 58


PS
когда я пробую решить данную задачу, (используя блок - детектор изменения числа) то сталкиваюсь с такой проблемой
7 успевает смениться на 45 и подается сигнал на выключение но не 7 а уже 45

PSS
Наверное должна произойти смена чисел - но изменения не должны попасть на вход 3,
а вот отключение должно сработать, затем изменения попадают на вход 3 и идет включение

Может сигнал должен раздвоиться и на одной из линий идти с задержкой на вод 3, а управление на отключение с опережающего сигнала...
Блин я запутался

Как это реализовать не могу придумать

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#27

Сообщение edyapd » 24.04.2021{, 04:49}

Будет проще понять, если вы нарисуете схему с входами и напишите, где и в какой момент, что должно быть. Наверняка всё решается очень просто.

Отправлено спустя 41 минуту 28 секунд:
Если вы подразумеваете этот блок
изображение_2021-04-24_092613.png
изображение_2021-04-24_092613.png (11.35 КБ) 487 просмотров
То возможно вы не правильно понимаете его работу. Он может принимать несколько нот.
К примеру, вы нажали на одну клавишу и пошла нота До. Не отпуская нажали на вторую и пошла Ля. Опять не отпуская нажали третью и пошла Соль. После этого вы отпустили Ля. И именно она должна прекратить звучание, а До и Соль остаются, до тех пор, пока вы их не отпустите.

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#28

Сообщение konsys » 24.04.2021{, 09:46}

edyapd писал(а):
24.04.2021{, 05:31}
Будет проще понять, если вы нарисуете схему с входами и напишите, где и в какой момент, что должно быть. Наверняка всё решается очень просто.
Он может принимать несколько нот.
К примеру, вы нажали на одну клавишу и пошла нота До. Не отпуская нажали на вторую и пошла Ля. Опять не отпуская нажали третью и пошла Соль. После этого вы отпустили Ля. И именно она должна прекратить звучание, а До и Соль остаются, до тех пор, пока вы их не отпустите.
Вы абсолютно правильно поняли и задачу, и с каким блоком имею дело.
Проблема в том, что инструмент одноголосный и две ноты одновременно звучать не должны.
А у меня сейчас - все ноты, которые я отправляю в миди - звучат постоянно - не отключаются.
Надо, что бы при смене ноты - старая переставала звучать, а новая начинала.

edyapd писал(а):
24.04.2021{, 05:31}
Изображение
Он может принимать несколько нот.
Как сделать, что бы он принимал только одну ноту.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#29

Сообщение edyapd » 24.04.2021{, 11:40}

Попробуйте так
изображение_2021-04-24_154040.png

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#30

Сообщение konsys » 24.04.2021{, 12:07}

edyapd писал(а):
24.04.2021{, 11:40}
Попробуйте так

изображение_2021-04-24_154040.png
у меня такая схема
010.jpg
Начал строить - не пойму
note - это линия по которой идут ноты на вход миди NOTE
что такое note_new и note_change
а Volume у меня вообще константа

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#31

Сообщение edyapd » 24.04.2021{, 12:19}

Будет проще, если вы будете выкладывать сразу проект, а не кусочек картинки из него.
И желательно делать комментарии на входами.

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#32

Сообщение konsys » 24.04.2021{, 12:44}

edyapd писал(а):
24.04.2021{, 12:19}
Будет проще, если вы будете выкладывать сразу проект, а не кусочек картинки из него.
И желательно делать комментарии на входами.
012.jpg
код
poluchenie not-Leonardo.flp
(685.25 КБ) 25 скачиваний
что передается в миди
013.jpg
013.jpg (127.2 КБ) 458 просмотров
видим что нота отключается сразу после включения

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#33

Сообщение edyapd » 24.04.2021{, 15:42}

А если так?
poluchenie not-Leonardo_1.flp
(647.28 КБ) 24 скачивания

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#34

Сообщение konsys » 24.04.2021{, 16:07}

edyapd писал(а):
24.04.2021{, 15:42}
А если так?

poluchenie not-Leonardo_1.flp
Р А Б О Т А Е Т

Дорогой Вы мой человек.
это фантастика
15.jpg
15.jpg (131.61 КБ) 449 просмотров
подключил программу миди инструментов - работает как надо
Послушал в наушниках - красота
И задержка такая же как и на софтовой клавиатуре.
Очень доволен

Скажите, что Вы поменяли?
Неужели только расположение блоков?

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#35

Сообщение edyapd » 24.04.2021{, 16:23}

Нажмите на эту иконку при вашем расположении блоков и при том, что я передвинул. Цифры означают последовательность выполнения.
изображение_2021-04-24_202302.png
изображение_2021-04-24_202302.png (2.22 КБ) 447 просмотров

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#36

Сообщение konsys » 24.04.2021{, 16:57}

edyapd писал(а):
24.04.2021{, 16:23}
Та плата, что новой (второй) создали и в ней идет обмен переменными и есть задержка основного сигнала для входа NOTE?

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

MIDI - Саксофон - пробую сделать

#37

Сообщение edyapd » 24.04.2021{, 18:05}

Я бы не не сказал, что это задержка. Это скорее упорядочивание кода. Не всегда на одной плате можно за счёт сдвига модулей создать тот порядок, который хочется. Но, перенос на другую плату уже на 100% гарантирует вам, что код будет выполняться после того, как он выполнится на предыдущей. Поэтому, я всегда стараюсь разбить код по платам, если вдруг на одной плате есть возможность выполнения кода не в той последовательности, в которой требуется.

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#38

Сообщение konsys » 26.04.2021{, 22:52}

poluchenie not-Leonardo_1-s-280-001.flp
(1.38 МБ) 24 скачивания
Приветствую
столкнулся с проблемой
создаю код датчика давления и запускаю на UNO - для изменения уровня звука
работает как мне надо

но стоит этот код поместит в код с мультиплексором миди
миди - перестает реагировать на уровень звука

Кроме того
к плате подключаю датчик bmp280 по I2C- и акрдуино леонардо перестает определяться в компе

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

MIDI - Саксофон - пробую сделать

#39

Сообщение kulibinsvv » 27.04.2021{, 07:41}

konsys, у вас переменная note_change один раз устанавливается в TRUE и нигде не устанавливается в FALSE.
Наверно вы предполагали следующее:
СпойлерПоказать
Безымянный.png
Безымянный.png (8.65 КБ) 372 просмотра
Чтобы добавить инверсию boolean входу/выходу необходимо щелкнуть правой кнопкой мыши на выводе и в появившемся меню выбрать пункт "Инвертировать".

Отправлено спустя 48 минут 17 секунд:
Переменная podstroyka имеет явно завышенное значение, надо бы уточнить.

Отправлено спустя 1 минуту 19 секунд:
Единица измерения Паскаль.

Отправлено спустя 7 минут 3 секунды:
konsys писал(а):
26.04.2021{, 22:52}
подключаю датчик bmp280 по I2C- и акрдуино леонардо перестает определяться в компе
Покажите схему подключения.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

konsys
Сержант
Сообщения: 103
Зарегистрирован: 13.07.2017{, 23:21}
Репутация: 0
Контактная информация:

MIDI - Саксофон - пробую сделать

#40

Сообщение konsys » 27.04.2021{, 10:01}

kulibinsvv писал(а):
27.04.2021{, 08:38}
Переменная podstroyka имеет явно завышенное значение, надо бы уточнить.
может и так
но работает как надо, значит из блока датчика выходит не совсем в паскалях значение, да и перед вычитанием я умножаю на 10
чтобы чувствительность повысить
СпойлерПоказать
в первом столбце - значение после вычислений, во второом - переменная podstroyka, в третьем значение от 0 до 127 - уровень звука
первая картинка - в покое
вторая - с большим давлением
третья - с отрицательным
016.jpg
на уно датчик подключаю так
WhatsApp Image 2021-04-27 at 09.48.59 (1).jpeg
на уно sda/scl - А4/А5
на леонардо sda/scl -16/17
WhatsApp Image 2021-04-27 at 09.48.59.jpeg

Ответить

Вернуться в «Помогите, а то я "нимагу"»