MIDI контроллер
Re: MIDI контроллер
Приветствую всех.
Собрал версию 3.0 на atmega8 - USB, дисплей и энкодер работают стабильно, мультиплексор - нет. Пробовал три разных атмеги, мультиплексоры 561кп2, cd4051, заведомо рабочую плату AIN от midibox - результат всегда один: на экране 5 столбиков заполнено, 3 пустых и дальше опять заполнены. Midi-данные с энкодера (PD0 PD1) и кнопки (PB5) посылаются. На мультплексоры/резисторы/заземление входов PC0-PC5 никакой реакции.
Если кто поделится рабочей прошивкой для версии 3.1 atmega8 - буду очень признателен. В моем случае нужно 16 кнопок, 2 энкодера и 1 потенциометр. В исходниках разобратсья увы не удалось.
Собрал версию 3.0 на atmega8 - USB, дисплей и энкодер работают стабильно, мультиплексор - нет. Пробовал три разных атмеги, мультиплексоры 561кп2, cd4051, заведомо рабочую плату AIN от midibox - результат всегда один: на экране 5 столбиков заполнено, 3 пустых и дальше опять заполнены. Midi-данные с энкодера (PD0 PD1) и кнопки (PB5) посылаются. На мультплексоры/резисторы/заземление входов PC0-PC5 никакой реакции.
Если кто поделится рабочей прошивкой для версии 3.1 atmega8 - буду очень признателен. В моем случае нужно 16 кнопок, 2 энкодера и 1 потенциометр. В исходниках разобратсья увы не удалось.
Re: MIDI контроллер
Здравствуйте коты! Не мог написать ранее, так как не было совсем времени.
Вообщем то что я задумал наконец обрело реальное воплощение))
Устройство содержит:
1 энкодер (на практике ставить можно сколь угодно душе, но задержка увеличивается)
64 независимые кнопки (одновременно нажимать можно сколь угодно штук)
и 56 (в СМД варианте атмеги) и 40 (в ДИПе) переменников.
Код был полностью переписан (от старого кода остались лишь названия двух переменных
) Старался сделать минимум затрат ресурсов, вроде получилось не плохо).
Не выкладываю схему и прошивку так как устройство хоть и было собрано, но тестировалось всего 2 дня. Во время тестирования редко, но проскакивали какие то наводки, дающие ложные сигналы. Я на 95% уверен, что это из-за качества сборки (по всей коробке у меня херова паутина проводов намотана, я удивляюсь как он спутниковое ТВ ещё не ловит
). Переделывать не хочу. Энкодер срабатывает хреновенько (как и в оригинальном проекте). Собрал бы на SMT32, но нет микрушки пока и программировать не понятно как там. Если и соберу этот проект на нормальной плате, то только без энкодера.
Жалко только корпус, так старательно делал, аж самому понравился)).
Вообщем если кто захочет собрать этот проект (естественно на свой страх и риск), то пишите, вышлю прошивку и схему (только нарисовать её ещё надо, собирал по ходу). Не выкладываю сюда, чтоб не вводить никого в заблуждение. Если надумаю сделать нормальный вариант, то при удачных результатах выложу схему с прошивой.
Вот вам пример того, как не стоит собирать сложные устройства
:
И собственно корпус, может кому пригодится идея)
Бываю тут редко, дел последнее время много, так что ответить сразу не могу..
Вообщем то что я задумал наконец обрело реальное воплощение))
Устройство содержит:
1 энкодер (на практике ставить можно сколь угодно душе, но задержка увеличивается)
64 независимые кнопки (одновременно нажимать можно сколь угодно штук)
и 56 (в СМД варианте атмеги) и 40 (в ДИПе) переменников.
Код был полностью переписан (от старого кода остались лишь названия двух переменных
Не выкладываю схему и прошивку так как устройство хоть и было собрано, но тестировалось всего 2 дня. Во время тестирования редко, но проскакивали какие то наводки, дающие ложные сигналы. Я на 95% уверен, что это из-за качества сборки (по всей коробке у меня херова паутина проводов намотана, я удивляюсь как он спутниковое ТВ ещё не ловит
Жалко только корпус, так старательно делал, аж самому понравился)).
Вообщем если кто захочет собрать этот проект (естественно на свой страх и риск), то пишите, вышлю прошивку и схему (только нарисовать её ещё надо, собирал по ходу). Не выкладываю сюда, чтоб не вводить никого в заблуждение. Если надумаю сделать нормальный вариант, то при удачных результатах выложу схему с прошивой.
Вот вам пример того, как не стоит собирать сложные устройства
И собственно корпус, может кому пригодится идея)
Бываю тут редко, дел последнее время много, так что ответить сразу не могу..
- Вложения
-
- 16042012448.jpg
- (216.69 КБ) 976 скачиваний
-
- 16042012444.jpg
- (206.08 КБ) 855 скачиваний
- liv6125
- Встал на лапы
- Сообщения: 115
- Зарегистрирован: Сб май 02, 2009 22:25:22
- Откуда: Орловская область г. Ливны
- Контактная информация:
Re: MIDI контроллер
мм не плохо получилось. а из чего сделан корпус? ДВП,ДСП или еще что то...? 
-
spongebob
- Грызет канифоль
- Сообщения: 289
- Зарегистрирован: Пт мар 20, 2009 12:25:47
- Откуда: Ivanovo
- Контактная информация:
Re: MIDI контроллер
на каждый мультиплексор, регистр и прочий обвес требующий питание - обязательно нужно вешать конденсатор (керамика на 0.1мкф, например).
все неиспользуемые ноги мультиплексоров - на землю.
все неиспользуемые ноги мультиплексоров - на землю.
Re: MIDI контроллер
Фанера 1см (вроде фонера, но мож как то по другому называется). Бока из черенка от лопаты
вдоль разрезал, углы состыковал. Щели все термоклеем. Потом шлифуем крупной и мелкой наждачкой и лаком "красное дерево" покрывается. Так он блестит ещё здорово, но на фотке почему то не видно)
- arcost
- Открыл глаза
- Сообщения: 54
- Зарегистрирован: Ср янв 11, 2012 03:07:17
- Откуда: Приднестровье, Рыбница
- Контактная информация:
Re: MIDI контроллер
Классно!!!! вышли пожалуйста прошивку и схему. kosteckiia@mail.ru
- headshotbacs
- Вымогатель припоя
- Сообщения: 641
- Зарегистрирован: Пт ноя 28, 2008 20:34:39
- Откуда: Краматорск
Re: MIDI контроллер
Хочу собрать схему на базе Atmega16 с выходом на USB порт, так как нету LPT порта. Если есть варианты попроще - подскажите, а если нет - где взять прошивку atmega?
- liv6125
- Встал на лапы
- Сообщения: 115
- Зарегистрирован: Сб май 02, 2009 22:25:22
- Откуда: Орловская область г. Ливны
- Контактная информация:
Re: MIDI контроллер
headshotbacs писал(а):Хочу собрать схему на базе Atmega16 с выходом на USB порт, так как нету LPT порта. Если есть варианты попроще - подскажите, а если нет - где взять прошивку atmega?
Здравствуй есть тут в теме на первых страницах на базе Atmega16 с выходом на USB порт. Там присутствуют 4 мультиплексора. в середине темы ищи есть под 8 мультиплексоров. с энкодерами пока нет ни одного проекта.
Re: MIDI контроллер
Да, вдохновляюще! Схему и исходники обязательно кидаем - интересно же посмотреть! =) Сылка на мыло мое у вас в личке будет.
Вопрос_1. Исходники таким же образом, как и оригинальные ставить?
Вопрос_2. Что понимается под "нормальным вариантом"?
Ну и наконец, огромный респект и благодарности!
Теперь вот буду с нетерпением лета ждать, чтобы с удовольствием сделать
<- ЭТО 
Вопрос_1. Исходники таким же образом, как и оригинальные ставить?
Вопрос_2. Что понимается под "нормальным вариантом"?
Ну и наконец, огромный респект и благодарности!
Теперь вот буду с нетерпением лета ждать, чтобы с удовольствием сделать
<- ЭТО Re: MIDI контроллер
headshotbac Натыкать не проблема, только толку от них нет. Вы только представте себе что я для достижения своей цели потратил пару месяцев и не делаю до конца. Всё только из за тупости энкодера. Так что советую делать проекь на этой МК для кнопок и переменников. Конечно ради интереса можно энкодер поставить (требует он не многого), но вот проскоки на скорости даже средней вам гарантированы даже с моей прошивкой, у которой энкодер занимает лишь 14 строк кода (вместе с отправкой сообщения).Ответ 1. Постарался не пудрить мозг с файлами прошивки, поэтому всё просто. В прежние исходники кидаем файл Main и всё. Дальше всё как раньше)
Ответ 2. Ну тоесть нормальная печатка, а не куча хренова с проводами по всему периметру
Ну и наконец: Всегда пожалуйста
Файлы скинул (к сожалению печатки нет, т.к. собирал всё на ходу и на "весу" многое). Если возникнут вопросы обращайтесь. Отвечу по мере возможности
- arcost
- Открыл глаза
- Сообщения: 54
- Зарегистрирован: Ср янв 11, 2012 03:07:17
- Откуда: Приднестровье, Рыбница
- Контактная информация:
Re: MIDI контроллер
isx Спасибо
Re: MIDI контроллер
Здравствуйте, помогите прошить контроллер atmega16 в AVR Studio 5. Хочу задействовать 8 кнопок и 8 переменных резисторов. Кнопки пустить на PORTA а регуляторы на PORTB. В первой прошивки устройства DJ CJ Controller (CVAVR) я немного разобрался с регуляторами, а вот как узнать нажата кнопка или нет, не получается.
Re: MIDI контроллер
Что значит как узнать нажата или нет? Если вы это делаете для того чтоб команды не посылались многократно, то можно ввести ещё один массив, к примеру если для кнопок у вас Button[8] , то можно ввести ещё ButtonOld[8], здесь и будет запоминаться предыдущее состояние и сравниваться с новым значением..
Re: MIDI контроллер
Доброго дня !
Не подскажете ли, что забыл добавить\удалить\отредактировать\настроить для компиляции исходных файлов в третьей версии MIDI контроллера.
Выдает следующие сообщения при использовании автогенерируемого makefile в AVR-Studio
при использовании 'родного' makefile
Заранее благодарен за помощь
Не подскажете ли, что забыл добавить\удалить\отредактировать\настроить для компиляции исходных файлов в третьей версии 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...
Заранее благодарен за помощь
Re: MIDI контроллер
Разобрался сам. 
Достаточно было кликнуть правой кнопкой мыши на "Sources Files" в AVR Studio и добавить все нужные файлы. Все откомпилировалось (Что весьма радует и теперь не является препятствием для переписывания логики под себя
)
Достаточно было кликнуть правой кнопкой мыши на "Sources Files" в AVR Studio и добавить все нужные файлы. Все откомпилировалось (Что весьма радует и теперь не является препятствием для переписывания логики под себя
-
Очестратор
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Чт апр 19, 2012 12:08:44
- Откуда: г.Киселевск
Re: MIDI контроллер
Ух еле дочитал, но так и не нашел ответа на свой вопрос - а что, если сделать кнопки сенсорными? Как это будет в плане удобства? Про значительное усложнение схемы я знаю, просто не могу найти нормальных кнопок, чтобы и дешевые и легко нажимались, и крепились на панель. Тактовые самое то, но на 3-мм дюралевую панельку их проблематично крепить и они мелкие. С сенсорами вроде попроще в этом плане. Вывести наружу пластинку+болтик на изоляторе несложно. Что плохо, не будет обратной связи, щелчка при нажатии. Или он не нужен?
PS. Тракторный контроллер делаю.
PS. Тракторный контроллер делаю.
- liv6125
- Встал на лапы
- Сообщения: 115
- Зарегистрирован: Сб май 02, 2009 22:25:22
- Откуда: Орловская область г. Ливны
- Контактная информация:
Re: MIDI контроллер
Всем привет
жаль нет фотика показать свой аппарат. Мидик заточен под трактор возможно и под другие dj проги
но есть минусы кнопки у меня от usb клавиатуры работают и пока что не активны 2 jog блина
но есть минусы кнопки у меня от usb клавиатуры работают и пока что не активны 2 jog блина
- Needboss
- Родился
- Сообщения: 11
- Зарегистрирован: Сб янв 28, 2012 15:51:35
- Откуда: Воронеж
- Контактная информация:
Re: MIDI контроллер
День добрый, а никто не делал Миди контроллер используя вместо кнопок тачскрин???
Пошла вода в дом!
Re: MIDI контроллер
Ох, как же хочется заняться наконец этим контроллером
Жаль времени нет, сессия уже начинается и нас гоняют.... Зачеты, зачеты, зачеты...
Я пока только чуть-чуть в коде разбирался. На макетке для прошлой прошивки запускал, одну кнопку переделал, чтобы она посылала сообщения Note On/Off. Ведь изначально в тему контроллеров полез, чтобы потом на его основе usb миди клаву сделать из старенького игрушечного электронного пианино) Так что это уже небольшой прогресс: теперь нажатие на эту кнопку секвенсор (FLstudio например) распознает как ноту и воспроизводит. УРААА!!! Надеюсь через месяцок (когда время будет) дальше разбираться.
Так что еще раз спасибо isx вам БОЛЬШОЕ! Ваш код без комментов конечно, но на много понятнее оригинала.... По крайней мере для меня
Needboss. Вы имели ввиду тач экран с отображением кнопок?
Тут такой вопрос: а нужно ли? Просто такие проги делают, на сколько мне известно... Для планшетов всяких там) Да и я не уверен, что на тачскрине особо удобно чем-то управлять... Удобнее все же в живую так сказать, чувствуя свою власть над железом
Но вам виднее)
Для интереса я бы и сам, будь по опытнее, поинтересовался о такой возможности. Было бы круто)) Я не спец, но думаю, что такая задумка возможна. Но вот один микроконтроллер уже точно ее не потянет.... Если конечно он не СУПЕРПУПЕРМЕГАКЛАСНЫЙ мк
Там уже наверное надо будет объединять несколько: один на работу с usb и прием команд, второй для работы с тачскрином и отсылкой команд на первый. Как-то так)
Я пока только чуть-чуть в коде разбирался. На макетке для прошлой прошивки запускал, одну кнопку переделал, чтобы она посылала сообщения Note On/Off. Ведь изначально в тему контроллеров полез, чтобы потом на его основе usb миди клаву сделать из старенького игрушечного электронного пианино) Так что это уже небольшой прогресс: теперь нажатие на эту кнопку секвенсор (FLstudio например) распознает как ноту и воспроизводит. УРААА!!! Надеюсь через месяцок (когда время будет) дальше разбираться.
Так что еще раз спасибо isx вам БОЛЬШОЕ! Ваш код без комментов конечно, но на много понятнее оригинала.... По крайней мере для меня
Needboss. Вы имели ввиду тач экран с отображением кнопок?
Тут такой вопрос: а нужно ли? Просто такие проги делают, на сколько мне известно... Для планшетов всяких там) Да и я не уверен, что на тачскрине особо удобно чем-то управлять... Удобнее все же в живую так сказать, чувствуя свою власть над железом
Для интереса я бы и сам, будь по опытнее, поинтересовался о такой возможности. Было бы круто)) Я не спец, но думаю, что такая задумка возможна. Но вот один микроконтроллер уже точно ее не потянет.... Если конечно он не СУПЕРПУПЕРМЕГАКЛАСНЫЙ мк
- Needboss
- Родился
- Сообщения: 11
- Зарегистрирован: Сб янв 28, 2012 15:51:35
- Откуда: Воронеж
- Контактная информация:
Re: MIDI контроллер
Зачем, без вывода на экран, сделать под тач цветную подложку например с нарисованными 8мью пэдами, подсветить и получится неплохой контроллер, причем возможно что даже будет измеряться сила нажатия от площади прикосновения, единственно нажимать можно будет тока одну область... Amega 168 или 328 думаю легко потянет этот девайс, написал бы кто прошивку, я бы потестировал...
Ниже прикрепляю пример.
Ниже прикрепляю пример.
- Вложения
-
- touch_psto.pdf
- (363.57 КБ) 2972 скачивания
Пошла вода в дом!