MIDI - Саксофон - пробую сделать
MIDI - Саксофон - пробую сделать
попробовал сваять пользовательский блок,
но ума не приложу как подключить входы
Так?
Теперь я правильно указал входы и выходы? да и вообще весь блок?
Вот что получилось из этого скетча
[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] Прошу посмотреть и поправить если есть ошибки
но ума не приложу как подключить входы
Так?
Теперь я правильно указал входы и выходы? да и вообще весь блок?
Вот что получилось из этого скетча
[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] Прошу посмотреть и поправить если есть ошибки
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Вопрос:
на мониторе порта такая картина
в столбик бегут нули, нажимаю кнопку соответствующую 1 бегут единицы
двум бегут двойки
Как сделать так, что бы цифры не бежали
чтобы
при нажатии 1 в мониторе порта появилась одна единица в строчке
при нажатии 2 в другой строчке появилась 2
на мониторе порта такая картина
в столбик бегут нули, нажимаю кнопку соответствующую 1 бегут единицы
двум бегут двойки
Как сделать так, что бы цифры не бежали
чтобы
при нажатии 1 в мониторе порта появилась одна единица в строчке
при нажатии 2 в другой строчке появилась 2
MIDI - Саксофон - пробую сделать
Подозреваю, что у вас идёт постоянная отправка в СОМ-порт. Сделайте отправку по изменению. Или по условию.
MIDI - Саксофон - пробую сделать
получилось спасибоedyapd писал(а): 23 апр 2021, 20:09 Подозреваю, что у вас идёт постоянная отправка в СОМ-порт. Сделайте отправку по изменению. Или по условию.
Отправлено спустя 1 час 36 минут 12 секунд:
есть серия коротких имульсов после RTrig
как разделить импульсы по входам следующего блока?
первый импульс на первых вход
второй импульс на второй вход
третий на третий четвертый опять на первый и т д
MIDI - Саксофон - пробую сделать
Так.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Спасибо - работает
Но не решает моей задачи
не корректно сформулировал
задача такая
есть блок с тремя входыми
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, а управление на отключение с опережающего сигнала...
Блин я запутался
Как это реализовать не могу придумать
MIDI - Саксофон - пробую сделать
Будет проще понять, если вы нарисуете схему с входами и напишите, где и в какой момент, что должно быть. Наверняка всё решается очень просто.
Отправлено спустя 41 минуту 28 секунд:
Если вы подразумеваете этот блок
То возможно вы не правильно понимаете его работу. Он может принимать несколько нот.
К примеру, вы нажали на одну клавишу и пошла нота До. Не отпуская нажали на вторую и пошла Ля. Опять не отпуская нажали третью и пошла Соль. После этого вы отпустили Ля. И именно она должна прекратить звучание, а До и Соль остаются, до тех пор, пока вы их не отпустите.
Отправлено спустя 41 минуту 28 секунд:
Если вы подразумеваете этот блок
То возможно вы не правильно понимаете его работу. Он может принимать несколько нот.
К примеру, вы нажали на одну клавишу и пошла нота До. Не отпуская нажали на вторую и пошла Ля. Опять не отпуская нажали третью и пошла Соль. После этого вы отпустили Ля. И именно она должна прекратить звучание, а До и Соль остаются, до тех пор, пока вы их не отпустите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Вы абсолютно правильно поняли и задачу, и с каким блоком имею дело.edyapd писал(а): 24 апр 2021, 05:31 Будет проще понять, если вы нарисуете схему с входами и напишите, где и в какой момент, что должно быть. Наверняка всё решается очень просто.
Он может принимать несколько нот.
К примеру, вы нажали на одну клавишу и пошла нота До. Не отпуская нажали на вторую и пошла Ля. Опять не отпуская нажали третью и пошла Соль. После этого вы отпустили Ля. И именно она должна прекратить звучание, а До и Соль остаются, до тех пор, пока вы их не отпустите.
Проблема в том, что инструмент одноголосный и две ноты одновременно звучать не должны.
А у меня сейчас - все ноты, которые я отправляю в миди - звучат постоянно - не отключаются.
Надо, что бы при смене ноты - старая переставала звучать, а новая начинала.
Как сделать, что бы он принимал только одну ноту.
MIDI - Саксофон - пробую сделать
Попробуйте так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
у меня такая схема Начал строить - не пойму
note - это линия по которой идут ноты на вход миди NOTE
что такое note_new и note_change
а Volume у меня вообще константа
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Будет проще, если вы будете выкладывать сразу проект, а не кусочек картинки из него.
И желательно делать комментарии на входами.
И желательно делать комментарии на входами.
MIDI - Саксофон - пробую сделать
код что передается в миди видим что нота отключается сразу после включенияedyapd писал(а): 24 апр 2021, 12:19 Будет проще, если вы будете выкладывать сразу проект, а не кусочек картинки из него.
И желательно делать комментарии на входами.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
А если так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Р А Б О Т А Е Т
Дорогой Вы мой человек.
это фантастика подключил программу миди инструментов - работает как надо
Послушал в наушниках - красота
И задержка такая же как и на софтовой клавиатуре.
Очень доволен
Скажите, что Вы поменяли?
Неужели только расположение блоков?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Нажмите на эту иконку при вашем расположении блоков и при том, что я передвинул. Цифры означают последовательность выполнения.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MIDI - Саксофон - пробую сделать
Та плата, что новой (второй) создали и в ней идет обмен переменными и есть задержка основного сигнала для входа NOTE?
MIDI - Саксофон - пробую сделать
Я бы не не сказал, что это задержка. Это скорее упорядочивание кода. Не всегда на одной плате можно за счёт сдвига модулей создать тот порядок, который хочется. Но, перенос на другую плату уже на 100% гарантирует вам, что код будет выполняться после того, как он выполнится на предыдущей. Поэтому, я всегда стараюсь разбить код по платам, если вдруг на одной плате есть возможность выполнения кода не в той последовательности, в которой требуется.
MIDI - Саксофон - пробую сделать
столкнулся с проблемой
создаю код датчика давления и запускаю на UNO - для изменения уровня звука
работает как мне надо
но стоит этот код поместит в код с мультиплексором миди
миди - перестает реагировать на уровень звука
Кроме того
к плате подключаю датчик bmp280 по I2C- и акрдуино леонардо перестает определяться в компе
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
MIDI - Саксофон - пробую сделать
[ref]konsys[/ref], у вас переменная note_change один раз устанавливается в TRUE и нигде не устанавливается в FALSE.
Наверно вы предполагали следующее:
[spoiler] [/spoiler]
Чтобы добавить инверсию boolean входу/выходу необходимо щелкнуть правой кнопкой мыши на выводе и в появившемся меню выбрать пункт "Инвертировать".
Отправлено спустя 48 минут 17 секунд:
Переменная podstroyka имеет явно завышенное значение, надо бы уточнить.
Отправлено спустя 1 минуту 19 секунд:
Единица измерения Паскаль.
Отправлено спустя 7 минут 3 секунды:
Наверно вы предполагали следующее:
[spoiler] [/spoiler]
Чтобы добавить инверсию boolean входу/выходу необходимо щелкнуть правой кнопкой мыши на выводе и в появившемся меню выбрать пункт "Инвертировать".
Отправлено спустя 48 минут 17 секунд:
Переменная podstroyka имеет явно завышенное значение, надо бы уточнить.
Отправлено спустя 1 минуту 19 секунд:
Единица измерения Паскаль.
Отправлено спустя 7 минут 3 секунды:
Покажите схему подключения.konsys писал(а): 26 апр 2021, 22:52подключаю датчик bmp280 по I2C- и акрдуино леонардо перестает определяться в компе
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
MIDI - Саксофон - пробую сделать
может и такkulibinsvv писал(а): 27 апр 2021, 08:38 Переменная podstroyka имеет явно завышенное значение, надо бы уточнить.
но работает как надо, значит из блока датчика выходит не совсем в паскалях значение, да и перед вычитанием я умножаю на 10
чтобы чувствительность повысить
[spoiler]в первом столбце - значение после вычислений, во второом - переменная podstroyka, в третьем значение от 0 до 127 - уровень звука
первая картинка - в покое
вторая - с большим давлением
третья - с отрицательным на уно датчик подключаю так на уно sda/scl - А4/А5
на леонардо sda/scl -16/17 [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя