Страница 24 из 56

Re: MIDI контроллер

Добавлено: Пн окт 03, 2011 00:06:56
Avarges
Хочу вам всё же сказать, что приподносите вы техническую информацию в несколько нелицеприятной форме.

Что касается нового устройства, то оттуда MIDI 5DIN выход убран за бесполезностью, так что будет исключительно компьютерная USB вещь.

Re: MIDI контроллер

Добавлено: Пн окт 03, 2011 20:11:20
Avarges
Дизайн-проект нового устройства:
Изображение

Добыл все детали, осталось в принципе плату сделать, потом прошивкой хорошенько заняться. Исходники на этот раз собираюсь выложить сразу, очень часто спрашивают именно их. Плохо, что кнопка всего одна (на самом энкодере).

Мне нравится вот такая картинка из интернета, красиво. Разумеется для такого класса (небольшого контроллера).
Изображение

А может в самом деле таких же мелких кнопочек наставить на саму плату, железячку правда сверлить без станка намучаешься.

Re: MIDI контроллер

Добавлено: Пн окт 10, 2011 20:04:07
Avarges
Миди-контоллер доделан. В итоге 10 переменников, 4 кнопки, 1 энкодер, дисплей - вот схема:

Изображение

Подключение кнопок через мультиплексор:
Изображение

Подключение ЖКИ:
Изображение

Подключение энкодера:
Изображение

Прошивка, с которой все эти кнопки и крутилки работают уже есть, но пока на LCD выводится всякая ерунда. И кнопки, подключенные как показано к мультиплексору работают наоборот. Также есть бутлоадер (не через сусекс, а через V-USB), так что дописывать и обновлять прошивку легко.

Попробовал в Virtual DJ энкодер как jog wheel использовать (для скрэтча), работает 8)

Re: MIDI контроллер

Добавлено: Ср окт 12, 2011 15:48:08
Avarges
Прошивка рабочая, без бутлоадера, но влезает не только в атмегу8, но и атмегу48. Без изменений в схеме атмегу48 можно использовать. LCD должен быть подключен.

Изображение
Информация на дисплее:
1 - номер контрола на устройстве 0..9,A..C
2 - значение контрола от 0 до 127
3 - направление движения энкодера (2-влево, 1-вправо)
4 - значение от кнопки энкодера (00-отпущена или 7F-нажата)
5,6,7 - значение 13 основных контроллов высотой столбика
5,7 - переменники
6 - 3 кнопки

Значения фьюзов в программаторе uniprof:
Изображение
(галочка означает - логическая единица (по даташиту: unprogrammed), без галочки - ноль (по даташиту: programmed) )

Позже будут исходники, там предусмотрена работа без LCD, также будет версия прошивки с бутлоадером под атмегу8.

Re: MIDI контроллер

Добавлено: Ср окт 12, 2011 19:46:03
swaike
Avarges
как понимаю, по данной схеме можно подключить 5 CD4051BCN и будет 25 переменников, 15 кнопaк? A есть разница между CD4051 и CD4051BCN?

Re: MIDI контроллер

Добавлено: Ср окт 12, 2011 19:58:28
zvyagaaa
Avarges
Сильно круто. Ждем исходников.

Re: MIDI контроллер

Добавлено: Ср окт 12, 2011 21:12:20
Avarges
swaike писал(а):Avarges
как понимаю, по данной схеме можно подключить 5 CD4051BCN и будет 25 переменников, 15 кнопaк?
Конечно можно 5 мультиплексоров добавить. В итоге, можно на атмегу48 или атмегу8 подключить 48 контролов на АЦП, причём из них сколько хочется кнопок и остальное на переменники. Я удивился, почему об этом не пишут, но потом почитал тему - у khomych была такая идея. Обработка кнопок, подключенных на другие ноги менее удобна, а на АЦП получается универсально. Исходники малость поправить под 48 контролов.
A есть разница между CD4051 и CD4051BCN?
Никакой. Также подходят других производителей аналоги: КР1561КП2, HEF4051, 74HC4051. BCN в моём случае означает, что корпус PDIP16, они есть и в СМД корпусах.

PS. В качестве пищи для ума: никто не пробовал ставить второй каскад мультиплексоров и этим расширять количество кнопок/крутилок до бесконечности, а по сути это можно. 4051 чуть-чуть шумит, но не сильно.

Re: MIDI контроллер

Добавлено: Чт окт 13, 2011 21:42:07
spongebob
Avarges писал(а):PS. В качестве пищи для ума: никто не пробовал ставить второй каскад мультиплексоров и этим расширять количество кнопок/крутилок до бесконечности, а по сути это можно. 4051 чуть-чуть шумит, но не сильно.
зачем 4051 для кнопок? это мультиплексор всё таки, его для аналога нада юзать. кондёры на питание не забыли? что бы не шумел.
74hc165 - по трём проводам каскадируем много-много штук (у меня 8 было - 64 кнопки)

Re: MIDI контроллер

Добавлено: Чт окт 13, 2011 23:37:02
Avarges
4051 вполне можно для кнопок, у меня оставалось 3 свободных ножки, вот и посадил туда кнопки. И программа одним циклом опроса АЦП всё решает, не приходится накручивать. 74HC165 из модуля DIN это от мидибоксеров, нормальное решение тоже, особенно для крупных контроллеров. Но я делал на минимуме корпусов (2 корпуса в схеме). Керамический кондер около мультиплексора забыл, правда. Остальные два есть (С1, С4).

Исходники будут наверное завтра и кондёр дорисую завтра.

В качестве пищи для ума: на атмеге8 в DIP корпусе шесть ножек-выходов АЦП, на смд-варианте атмеги8 выходов АЦП уже восемь.

Что-то хочется хорошее добавить в контроллер, может меню, что-то ещё, чтоб дисплей лучше задействовать. Есть у кого мысли, идеи?

Re: MIDI контроллер

Добавлено: Пт окт 14, 2011 22:58:25
Avarges
Выкладываю исходники, о которых у меня постоянно спрашивали. Приклеил.

Так выглядит устройство: перекрасил корпус, нанёс надписи.
Изображение

Добавил резистор C1 по spongebob'y:
Изображение

Re: MIDI контроллер

Добавлено: Вс окт 16, 2011 10:46:25
Avarges
Рекомендую вот это переписать:

Код: Выделить всё

      char buffer[16];
      char *str;

                  // Формируется строка вида CC# X [VAL] X-номер контролла, VAL-значение
                  str = "CC# ";
                  LCDGotoXY(0,0);
                  LCDstring(str,4);
                              
                  lci = channel+mux_n+0x30;
                  if (lci > 0x39) lci += 7;
                  LCDGotoXY(4,0);
                  LCDsendChar(lci);
                      
                  str = " [";
                  LCDGotoXY(5,0);
                  LCDstring(str,2);
                  
                  LCDGotoXY(7,0);
                  myitoa(En, buffer);
                  LCDstring(buffer,3);
                      
                  lci = strlen(buffer);
                      
                  str = "]  ";
                  LCDGotoXY(lci+7,0);
                  LCDstring(str,4-lci);
Я не разобрался почему в си не работает вот так:
str[4]=lci;
и почему не работает вот так:
StrCat(str,buffer); или так:
str = str+buffer;
Поэтому написал тупо влоб.

Re: MIDI контроллер

Добавлено: Вс окт 16, 2011 11:35:45
spongebob
Avarges
Всё забываю спросить, а как в системе определяется данный девайс?
Какие драйвера для него нужны?
Просто виртуальный ком-порт + драйвер ямаха или роланд?

Re: MIDI контроллер

Добавлено: Вс окт 16, 2011 11:43:51
Avarges
Определяется, как "DJ CJ MIDI" в категории "Звуковые, видео и игровые устройства" (Windows 7)
Драйвер не нужен, Windows сама ставит HID драйвер.

Re: MIDI контроллер

Добавлено: Вс окт 16, 2011 14:10:04
spongebob
как миди устройство его видно во всяких тракторах и виртуал диджеях?

Re: MIDI контроллер

Добавлено: Пн окт 17, 2011 11:21:28
Avarges
Конечно видно, это стандартное миди-устройство в системе. Сам проверял в Virtual DJ, Cubase, FL Studio. Остальные программы не ставил.
Иначе зачем бы оно было надо, если с прогами не работало?

Re: MIDI контроллер

Добавлено: Пн окт 17, 2011 11:26:24
spongebob
А на дескриптор USB можно взглянуть? :)
У меня в планах есть проект один, который на уже готовом мидибоксе не реализовать, 12 канальный микшер - больше 100 переменников и немного кнопок. Вот хотел на МК с аппаратным USB реализовать.

Re: MIDI контроллер

Добавлено: Пн окт 17, 2011 15:44:06
кирилл555
решил создать миди контроллер на 33 кнопки, 17 переменных резисторов, 2 джога - энкодера.выглядит примерно так:
12.png
помогите плиизз составить схему, прошивку потом сам найду сейчас схема оч нужна. буду очень и очень благодарен за ответы!!!

Re: MIDI контроллер

Добавлено: Ср окт 19, 2011 12:15:15
Avarges
spongebob писал(а):А на дескриптор USB можно взглянуть? :)
Конечно можно, я выложил исходники несколькими сообщениями ранее.

кирилл555 в вашем случае возможно лучше всего собирать вот этот вариант: http://www.ucapps.de/midibox64.html (до 64 кнопок, до 64 переменников) но легко не будет :)

Re: MIDI контроллер

Добавлено: Пт окт 21, 2011 21:08:48
кирилл555
а можно сделать, чтобы на дисплей выводилась информация из виртуала? допустим количество бпм и.т.д.

Re: MIDI контроллер

Добавлено: Сб окт 22, 2011 10:56:38
Avarges
Здесь вопрос в том, отдаёт ли Virtual DJ по МИДИ эту информацию или нет.