Что касается нового устройства, то оттуда MIDI 5DIN выход убран за бесполезностью, так что будет исключительно компьютерная USB вещь.
MIDI контроллер
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Хочу вам всё же сказать, что приподносите вы техническую информацию в несколько нелицеприятной форме.
Что касается нового устройства, то оттуда MIDI 5DIN выход убран за бесполезностью, так что будет исключительно компьютерная USB вещь.
Что касается нового устройства, то оттуда MIDI 5DIN выход убран за бесполезностью, так что будет исключительно компьютерная USB вещь.
- Реклама
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Дизайн-проект нового устройства:

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

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

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

А может в самом деле таких же мелких кнопочек наставить на саму плату, железячку правда сверлить без станка намучаешься.
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Миди-контоллер доделан. В итоге 10 переменников, 4 кнопки, 1 энкодер, дисплей - вот схема:

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

Подключение ЖКИ:

Подключение энкодера:

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

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

Подключение ЖКИ:

Подключение энкодера:

Прошивка, с которой все эти кнопки и крутилки работают уже есть, но пока на LCD выводится всякая ерунда. И кнопки, подключенные как показано к мультиплексору работают наоборот. Также есть бутлоадер (не через сусекс, а через V-USB), так что дописывать и обновлять прошивку легко.
Попробовал в Virtual DJ энкодер как jog wheel использовать (для скрэтча), работает
Последний раз редактировалось Avarges Пт окт 14, 2011 22:48:03, всего редактировалось 1 раз.
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Прошивка рабочая, без бутлоадера, но влезает не только в атмегу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.

Информация на дисплее:
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.
- Вложения
-
- djcj3.zip
- прошивка Atmega8/Atmega48/LCD
- (4.71 КБ) 326 скачиваний
- Сообщения: 1
- Зарегистрирован: Сб фев 12, 2011 12:16:14
Avarges
как понимаю, по данной схеме можно подключить 5 CD4051BCN и будет 25 переменников, 15 кнопaк? A есть разница между CD4051 и CD4051BCN?
как понимаю, по данной схеме можно подключить 5 CD4051BCN и будет 25 переменников, 15 кнопaк? A есть разница между CD4051 и CD4051BCN?
- Реклама
Avarges
Сильно круто. Ждем исходников.
Сильно круто. Ждем исходников.
теплый ламповый кот
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Конечно можно 5 мультиплексоров добавить. В итоге, можно на атмегу48 или атмегу8 подключить 48 контролов на АЦП, причём из них сколько хочется кнопок и остальное на переменники. Я удивился, почему об этом не пишут, но потом почитал тему - у khomych была такая идея. Обработка кнопок, подключенных на другие ноги менее удобна, а на АЦП получается универсально. Исходники малость поправить под 48 контролов.swaike писал(а):Avarges
как понимаю, по данной схеме можно подключить 5 CD4051BCN и будет 25 переменников, 15 кнопaк?
Никакой. Также подходят других производителей аналоги: КР1561КП2, HEF4051, 74HC4051. BCN в моём случае означает, что корпус PDIP16, они есть и в СМД корпусах.A есть разница между CD4051 и CD4051BCN?
PS. В качестве пищи для ума: никто не пробовал ставить второй каскад мультиплексоров и этим расширять количество кнопок/крутилок до бесконечности, а по сути это можно. 4051 чуть-чуть шумит, но не сильно.
зачем 4051 для кнопок? это мультиплексор всё таки, его для аналога нада юзать. кондёры на питание не забыли? что бы не шумел.Avarges писал(а):PS. В качестве пищи для ума: никто не пробовал ставить второй каскад мультиплексоров и этим расширять количество кнопок/крутилок до бесконечности, а по сути это можно. 4051 чуть-чуть шумит, но не сильно.
74hc165 - по трём проводам каскадируем много-много штук (у меня 8 было - 64 кнопки)
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
4051 вполне можно для кнопок, у меня оставалось 3 свободных ножки, вот и посадил туда кнопки. И программа одним циклом опроса АЦП всё решает, не приходится накручивать. 74HC165 из модуля DIN это от мидибоксеров, нормальное решение тоже, особенно для крупных контроллеров. Но я делал на минимуме корпусов (2 корпуса в схеме). Керамический кондер около мультиплексора забыл, правда. Остальные два есть (С1, С4).
Исходники будут наверное завтра и кондёр дорисую завтра.
В качестве пищи для ума: на атмеге8 в DIP корпусе шесть ножек-выходов АЦП, на смд-варианте атмеги8 выходов АЦП уже восемь.
Что-то хочется хорошее добавить в контроллер, может меню, что-то ещё, чтоб дисплей лучше задействовать. Есть у кого мысли, идеи?
Исходники будут наверное завтра и кондёр дорисую завтра.
В качестве пищи для ума: на атмеге8 в DIP корпусе шесть ножек-выходов АЦП, на смд-варианте атмеги8 выходов АЦП уже восемь.
Что-то хочется хорошее добавить в контроллер, может меню, что-то ещё, чтоб дисплей лучше задействовать. Есть у кого мысли, идеи?
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Выкладываю исходники, о которых у меня постоянно спрашивали. Приклеил.
Так выглядит устройство: перекрасил корпус, нанёс надписи.

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

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

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

- Вложения
-
- 14102011-sources-djcjmidi3.zip
- (13.97 КБ) 369 скачиваний
Последний раз редактировалось Avarges Вс окт 16, 2011 11:31:56, всего редактировалось 1 раз.
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Рекомендую вот это переписать:
Я не разобрался почему в си не работает вот так:
str[4]=lci;
и почему не работает вот так:
StrCat(str,buffer); или так:
str = str+buffer;
Поэтому написал тупо влоб.
Код: Выделить всё
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;
Поэтому написал тупо влоб.
Avarges
Всё забываю спросить, а как в системе определяется данный девайс?
Какие драйвера для него нужны?
Просто виртуальный ком-порт + драйвер ямаха или роланд?
Всё забываю спросить, а как в системе определяется данный девайс?
Какие драйвера для него нужны?
Просто виртуальный ком-порт + драйвер ямаха или роланд?
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Определяется, как "DJ CJ MIDI" в категории "Звуковые, видео и игровые устройства" (Windows 7)
Драйвер не нужен, Windows сама ставит HID драйвер.
Драйвер не нужен, Windows сама ставит HID драйвер.
как миди устройство его видно во всяких тракторах и виртуал диджеях?
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Конечно видно, это стандартное миди-устройство в системе. Сам проверял в Virtual DJ, Cubase, FL Studio. Остальные программы не ставил.
Иначе зачем бы оно было надо, если с прогами не работало?
Иначе зачем бы оно было надо, если с прогами не работало?
А на дескриптор USB можно взглянуть? 
У меня в планах есть проект один, который на уже готовом мидибоксе не реализовать, 12 канальный микшер - больше 100 переменников и немного кнопок. Вот хотел на МК с аппаратным USB реализовать.
У меня в планах есть проект один, который на уже готовом мидибоксе не реализовать, 12 канальный микшер - больше 100 переменников и немного кнопок. Вот хотел на МК с аппаратным USB реализовать.
- Сообщения: 101
- Зарегистрирован: Вс сен 18, 2011 17:31:19
решил создать миди контроллер на 33 кнопки, 17 переменных резисторов, 2 джога - энкодера.выглядит примерно так: помогите плиизз составить схему, прошивку потом сам найду сейчас схема оч нужна. буду очень и очень благодарен за ответы!!!
[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x20.gif[/img][/url]
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Конечно можно, я выложил исходники несколькими сообщениями ранее.spongebob писал(а):А на дескриптор USB можно взглянуть?
кирилл555 в вашем случае возможно лучше всего собирать вот этот вариант: http://www.ucapps.de/midibox64.html (до 64 кнопок, до 64 переменников) но легко не будет
- Сообщения: 101
- Зарегистрирован: Вс сен 18, 2011 17:31:19
а можно сделать, чтобы на дисплей выводилась информация из виртуала? допустим количество бпм и.т.д.
[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x20.gif[/img][/url]
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
Здесь вопрос в том, отдаёт ли Virtual DJ по МИДИ эту информацию или нет.


