MIDI контроллер

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
schrab
Родился
Сообщения: 1
Зарегистрирован: Пн мар 19, 2012 09:15:24

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

Сообщение schrab »

Приветствую всех.
Собрал версию 3.0 на atmega8 - USB, дисплей и энкодер работают стабильно, мультиплексор - нет. Пробовал три разных атмеги, мультиплексоры 561кп2, cd4051, заведомо рабочую плату AIN от midibox - результат всегда один: на экране 5 столбиков заполнено, 3 пустых и дальше опять заполнены. Midi-данные с энкодера (PD0 PD1) и кнопки (PB5) посылаются. На мультплексоры/резисторы/заземление входов PC0-PC5 никакой реакции.
Если кто поделится рабочей прошивкой для версии 3.1 atmega8 - буду очень признателен. В моем случае нужно 16 кнопок, 2 энкодера и 1 потенциометр. В исходниках разобратсья увы не удалось.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Здравствуйте коты! Не мог написать ранее, так как не было совсем времени.
Вообщем то что я задумал наконец обрело реальное воплощение))
Устройство содержит:
1 энкодер (на практике ставить можно сколь угодно душе, но задержка увеличивается)
64 независимые кнопки (одновременно нажимать можно сколь угодно штук)
и 56 (в СМД варианте атмеги) и 40 (в ДИПе) переменников.

Код был полностью переписан (от старого кода остались лишь названия двух переменных :))) ) Старался сделать минимум затрат ресурсов, вроде получилось не плохо).
Не выкладываю схему и прошивку так как устройство хоть и было собрано, но тестировалось всего 2 дня. Во время тестирования редко, но проскакивали какие то наводки, дающие ложные сигналы. Я на 95% уверен, что это из-за качества сборки (по всей коробке у меня херова паутина проводов намотана, я удивляюсь как он спутниковое ТВ ещё не ловит :)) ). Переделывать не хочу. Энкодер срабатывает хреновенько (как и в оригинальном проекте). Собрал бы на SMT32, но нет микрушки пока и программировать не понятно как там. Если и соберу этот проект на нормальной плате, то только без энкодера.
Жалко только корпус, так старательно делал, аж самому понравился)).
Вообщем если кто захочет собрать этот проект (естественно на свой страх и риск), то пишите, вышлю прошивку и схему (только нарисовать её ещё надо, собирал по ходу). Не выкладываю сюда, чтоб не вводить никого в заблуждение. Если надумаю сделать нормальный вариант, то при удачных результатах выложу схему с прошивой.
Вот вам пример того, как не стоит собирать сложные устройства :))) :
И собственно корпус, может кому пригодится идея)

Бываю тут редко, дел последнее время много, так что ответить сразу не могу..
Вложения
16042012448.jpg
(216.69 КБ) 976 скачиваний
16042012444.jpg
(206.08 КБ) 855 скачиваний
Аватара пользователя
liv6125
Встал на лапы
Сообщения: 115
Зарегистрирован: Сб май 02, 2009 22:25:22
Откуда: Орловская область г. Ливны
Контактная информация:

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

Сообщение liv6125 »

мм не плохо получилось. а из чего сделан корпус? ДВП,ДСП или еще что то...? :)
spongebob
Грызет канифоль
Сообщения: 289
Зарегистрирован: Пт мар 20, 2009 12:25:47
Откуда: Ivanovo
Контактная информация:

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

Сообщение spongebob »

на каждый мультиплексор, регистр и прочий обвес требующий питание - обязательно нужно вешать конденсатор (керамика на 0.1мкф, например).
все неиспользуемые ноги мультиплексоров - на землю.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Фанера 1см (вроде фонера, но мож как то по другому называется). Бока из черенка от лопаты :)) вдоль разрезал, углы состыковал. Щели все термоклеем. Потом шлифуем крупной и мелкой наждачкой и лаком "красное дерево" покрывается. Так он блестит ещё здорово, но на фотке почему то не видно)
Аватара пользователя
arcost
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср янв 11, 2012 03:07:17
Откуда: Приднестровье, Рыбница
Контактная информация:

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

Сообщение arcost »

Классно!!!! вышли пожалуйста прошивку и схему. kosteckiia@mail.ru
Аватара пользователя
headshotbacs
Вымогатель припоя
Сообщения: 641
Зарегистрирован: Пт ноя 28, 2008 20:34:39
Откуда: Краматорск

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

Сообщение headshotbacs »

Хочу собрать схему на базе Atmega16 с выходом на USB порт, так как нету LPT порта. Если есть варианты попроще - подскажите, а если нет - где взять прошивку atmega?
Аватара пользователя
liv6125
Встал на лапы
Сообщения: 115
Зарегистрирован: Сб май 02, 2009 22:25:22
Откуда: Орловская область г. Ливны
Контактная информация:

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

Сообщение liv6125 »

headshotbacs писал(а):Хочу собрать схему на базе Atmega16 с выходом на USB порт, так как нету LPT порта. Если есть варианты попроще - подскажите, а если нет - где взять прошивку atmega?

Здравствуй есть тут в теме на первых страницах на базе Atmega16 с выходом на USB порт. Там присутствуют 4 мультиплексора. в середине темы ищи есть под 8 мультиплексоров. с энкодерами пока нет ни одного проекта. :)
Аватара пользователя
tjnitro
Открыл глаза
Сообщения: 61
Зарегистрирован: Сб янв 07, 2012 19:42:08

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

Сообщение tjnitro »

Да, вдохновляюще! Схему и исходники обязательно кидаем - интересно же посмотреть! =) Сылка на мыло мое у вас в личке будет.
Вопрос_1. Исходники таким же образом, как и оригинальные ставить?
Вопрос_2. Что понимается под "нормальным вариантом"? :)))
Ну и наконец, огромный респект и благодарности! :music: :music: :music:
Теперь вот буду с нетерпением лета ждать, чтобы с удовольствием сделать :solder: <- ЭТО :))
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

:sleep: headshotbac Натыкать не проблема, только толку от них нет. Вы только представте себе что я для достижения своей цели потратил пару месяцев и не делаю до конца. Всё только из за тупости энкодера. Так что советую делать проекь на этой МК для кнопок и переменников. Конечно ради интереса можно энкодер поставить (требует он не многого), но вот проскоки на скорости даже средней вам гарантированы даже с моей прошивкой, у которой энкодер занимает лишь 14 строк кода (вместе с отправкой сообщения).
Ответ 1. Постарался не пудрить мозг с файлами прошивки, поэтому всё просто. В прежние исходники кидаем файл Main и всё. Дальше всё как раньше)
Ответ 2. Ну тоесть нормальная печатка, а не куча хренова с проводами по всему периметру :)

Ну и наконец: Всегда пожалуйста :)

Файлы скинул (к сожалению печатки нет, т.к. собирал всё на ходу и на "весу" многое). Если возникнут вопросы обращайтесь. Отвечу по мере возможности :)
Аватара пользователя
arcost
Открыл глаза
Сообщения: 54
Зарегистрирован: Ср янв 11, 2012 03:07:17
Откуда: Приднестровье, Рыбница
Контактная информация:

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

Сообщение arcost »

isx Спасибо
bolddot
Родился
Сообщения: 1
Зарегистрирован: Чт май 10, 2012 18:32:05

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

Сообщение bolddot »

Здравствуйте, помогите прошить контроллер atmega16 в AVR Studio 5. Хочу задействовать 8 кнопок и 8 переменных резисторов. Кнопки пустить на PORTA а регуляторы на PORTB. В первой прошивки устройства DJ CJ Controller (CVAVR) я немного разобрался с регуляторами, а вот как узнать нажата кнопка или нет, не получается.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Что значит как узнать нажата или нет? Если вы это делаете для того чтоб команды не посылались многократно, то можно ввести ещё один массив, к примеру если для кнопок у вас Button[8] , то можно ввести ещё ButtonOld[8], здесь и будет запоминаться предыдущее состояние и сравниваться с новым значением..
ExTiger
Родился
Сообщения: 2
Зарегистрирован: Вс май 13, 2012 20:57:44

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

Сообщение ExTiger »

Доброго дня !
Не подскажете ли, что забыл добавить\удалить\отредактировать\настроить для компиляции исходных файлов в третьей версии MIDI контроллера.
Выдает следующие сообщения при использовании автогенерируемого makefile в AVR-Studio

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

rm -rf vv.o  vv.elf dep/* vv.hex vv.eep vv.lss vv.map
Build succeeded with 0 Warnings...
avr-gcc -I"C:\atmel\vv\usbdrv"  -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99            -DF_CPU=12000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT vv.o -MF dep/vv.o.d  -c  ../vv.c
../vv.c: In function 'freeRam':
../vv.c:420: warning: function returns address of local variable
../vv.c: In function 'main':
../vv.c:546: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:572: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:576: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:614: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:623: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:627: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:633: warning: pointer targets in passing argument 1 of 'LCDstring' differ in signedness
../vv.c:458: warning: unused variable 'ledcnt'
../vv.c:457: warning: 'canter' may be used uninitialized in this function
avr-gcc -mmcu=atmega8 -Wl,-Map=vv.map vv.o     -o vv.elf
vv.o: In function `usbFunctionDescriptor':
C:\atmel\vv\default/../vv.c:216: undefined reference to `usbMsgPtr'
C:\atmel\vv\default/../vv.c:216: undefined reference to `usbMsgPtr'
C:\atmel\vv\default/../vv.c:219: undefined reference to `usbMsgPtr'
C:\atmel\vv\default/../vv.c:219: undefined reference to `usbMsgPtr'
vv.o: In function `ReadoutEEPROM':
C:\atmel\vv\default/../vv.c:279: undefined reference to `usbPoll'
C:\atmel\vv\default/../vv.c:279: undefined reference to `usbTxStatus1'
C:\atmel\vv\default/../vv.c:280: undefined reference to `usbSetInterrupt'
C:\atmel\vv\default/../vv.c:281: undefined reference to `usbPoll'
C:\atmel\vv\default/../vv.c:281: undefined reference to `usbTxStatus1'
vv.o: In function `LCDdef8':
C:\atmel\vv\default/../vv.c:410: undefined reference to `LCDsendCommand'
C:\atmel\vv\default/../vv.c:411: undefined reference to `LCDsendChar'
vv.o: In function `main':
C:\atmel\vv\default/../vv.c:465: undefined reference to `usbInit'
C:\atmel\vv\default/../vv.c:481: undefined reference to `LCDinit'
C:\atmel\vv\default/../vv.c:487: undefined reference to `LCDcursorOFF'
C:\atmel\vv\default/../vv.c:490: undefined reference to `LCDclr'
C:\atmel\vv\default/../vv.c:495: undefined reference to `usbPoll'
C:\atmel\vv\default/../vv.c:514: undefined reference to `usbTxStatus1'
C:\atmel\vv\default/../vv.c:542: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:546: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:570: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:572: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:574: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:576: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:613: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:614: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:618: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:619: undefined reference to `LCDsendChar'
C:\atmel\vv\default/../vv.c:622: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:623: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:625: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:627: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:632: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:633: undefined reference to `LCDstring'
C:\atmel\vv\default/../vv.c:637: undefined reference to `LCDGotoXY'
C:\atmel\vv\default/../vv.c:638: undefined reference to `LCDsendChar'
C:\atmel\vv\default/../vv.c:661: undefined reference to `usbSetInterrupt'
make: *** [vv.elf] Error 1
Build failed with 36 errors and 10 warnings...


при использовании 'родного' makefile

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

Build started 13.5.2012 at 21:03:51
make: *** No rule to make target `usbconfig.h', needed by `usbdrv.o'.  Stop.
Build failed with 1 errors and 0 warnings...


Заранее благодарен за помощь
ExTiger
Родился
Сообщения: 2
Зарегистрирован: Вс май 13, 2012 20:57:44

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

Сообщение ExTiger »

Разобрался сам. :)
Достаточно было кликнуть правой кнопкой мыши на "Sources Files" в AVR Studio и добавить все нужные файлы. Все откомпилировалось (Что весьма радует и теперь не является препятствием для переписывания логики под себя :) )
Очестратор
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Чт апр 19, 2012 12:08:44
Откуда: г.Киселевск

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

Сообщение Очестратор »

Ух еле дочитал, но так и не нашел ответа на свой вопрос - а что, если сделать кнопки сенсорными? Как это будет в плане удобства? Про значительное усложнение схемы я знаю, просто не могу найти нормальных кнопок, чтобы и дешевые и легко нажимались, и крепились на панель. Тактовые самое то, но на 3-мм дюралевую панельку их проблематично крепить и они мелкие. С сенсорами вроде попроще в этом плане. Вывести наружу пластинку+болтик на изоляторе несложно. Что плохо, не будет обратной связи, щелчка при нажатии. Или он не нужен?

PS. Тракторный контроллер делаю.
Аватара пользователя
liv6125
Встал на лапы
Сообщения: 115
Зарегистрирован: Сб май 02, 2009 22:25:22
Откуда: Орловская область г. Ливны
Контактная информация:

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

Сообщение liv6125 »

Всем привет :) жаль нет фотика показать свой аппарат. Мидик заточен под трактор возможно и под другие dj проги
но есть минусы кнопки у меня от usb клавиатуры работают и пока что не активны 2 jog блина
Аватара пользователя
Needboss
Родился
Сообщения: 11
Зарегистрирован: Сб янв 28, 2012 15:51:35
Откуда: Воронеж
Контактная информация:

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

Сообщение Needboss »

День добрый, а никто не делал Миди контроллер используя вместо кнопок тачскрин???
Пошла вода в дом!
Аватара пользователя
tjnitro
Открыл глаза
Сообщения: 61
Зарегистрирован: Сб янв 07, 2012 19:42:08

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

Сообщение tjnitro »

Ох, как же хочется заняться наконец этим контроллером :)) Жаль времени нет, сессия уже начинается и нас гоняют.... Зачеты, зачеты, зачеты...
Я пока только чуть-чуть в коде разбирался. На макетке для прошлой прошивки запускал, одну кнопку переделал, чтобы она посылала сообщения Note On/Off. Ведь изначально в тему контроллеров полез, чтобы потом на его основе usb миди клаву сделать из старенького игрушечного электронного пианино) Так что это уже небольшой прогресс: теперь нажатие на эту кнопку секвенсор (FLstudio например) распознает как ноту и воспроизводит. УРААА!!! Надеюсь через месяцок (когда время будет) дальше разбираться.
Так что еще раз спасибо isx вам БОЛЬШОЕ! Ваш код без комментов конечно, но на много понятнее оригинала.... По крайней мере для меня :))) :music:
Needboss. Вы имели ввиду тач экран с отображением кнопок?
Тут такой вопрос: а нужно ли? Просто такие проги делают, на сколько мне известно... Для планшетов всяких там) Да и я не уверен, что на тачскрине особо удобно чем-то управлять... Удобнее все же в живую так сказать, чувствуя свою власть над железом :roll: Но вам виднее)
Для интереса я бы и сам, будь по опытнее, поинтересовался о такой возможности. Было бы круто)) Я не спец, но думаю, что такая задумка возможна. Но вот один микроконтроллер уже точно ее не потянет.... Если конечно он не СУПЕРПУПЕРМЕГАКЛАСНЫЙ мк :lol: Там уже наверное надо будет объединять несколько: один на работу с usb и прием команд, второй для работы с тачскрином и отсылкой команд на первый. Как-то так)
Аватара пользователя
Needboss
Родился
Сообщения: 11
Зарегистрирован: Сб янв 28, 2012 15:51:35
Откуда: Воронеж
Контактная информация:

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

Сообщение Needboss »

Зачем, без вывода на экран, сделать под тач цветную подложку например с нарисованными 8мью пэдами, подсветить и получится неплохой контроллер, причем возможно что даже будет измеряться сила нажатия от площади прикосновения, единственно нажимать можно будет тока одну область... Amega 168 или 328 думаю легко потянет этот девайс, написал бы кто прошивку, я бы потестировал...

Ниже прикрепляю пример.
Вложения
touch_psto.pdf
(363.57 КБ) 2972 скачивания
Пошла вода в дом!
Ответить

Вернуться в «Интеграция с ПК»