Самодельный MIDI Controller

General Dead. я решил собрать контроллер по вашей схеме. Так как до ближайшего радио магазине 150км. и моя "MEGA" еще в пути,
своял схему в Протеусе. Возникло несколько вопросов:
1. В реале кварц надо кондерами об вешать или как у вас, без них можно?
2. В Эмуляторе (Протеусе) вроде все работает, например я кручу первый резистор (там пять разных положений), на терминале Пять разных пакетов данных, все нормально. Но если я второй резистор кручу то там такие же данные как на первом, и так на любом из восьми... Не понятно как определяется каким резистором я сейчас кручу, если данные от всех резисторов одинаковые?
Накачал кучу литературы, изучаю. Голова новой информацией забита. Извини если вопросы Ламерские.
 
ЭЭмм....я тему эту чет не вкурил... :blink:
Вообщем захотел я сделать себе контроллер...
Вообщем я мало че в этом понимаю....вернее со стороны железа - ничего... ;)
Итак....
Хочу играть на EZdrummer'е через кучу пьезодатчиков самодельных (думаю сделать), этих "пэдов"
будет следовательно....

1) Рабочий центр
2) Рабочий край
3) Рабочий Обод
4) Том 1
5) Том 2 (Не стану мучаться с краем)
6) Том 3
7) Бас бочка (или даже 2 :rolleyes: )
8) Хэт
9) Крэш 1
10) Крэш 2
11) Райд
12) Райд Бэлл
+ педаль для хэта которая бы переключала ноту EZdrummer'а, тама есть призакрытий хэт и.т.д.

ну вообщем.....теперь мне нужен контроллер наверное .... вернее будет нужен... :)
С чего мне начать, как вкурить (кстати - Велосити в силе ;) ), друматог не предлагать....воть


:rolleyes:
 
2 Lenich

http://www.edrum.info/

Здесь смотрел ? Вообще Драм контроллер весч офигенная .. когда-нибудь тоже буду делать .. сейчас есть африканский барабан :) чуть поиграл на нем - соседи снизу стучать начинают ..
 
<div class='quotetop'>Цитата(*TESTLAB* @ Jan 30 2007, 08:07 PM) [snapback]402485[/snapback]</div>
Микросхема с гейм порта запитывается ?
[/b]
Да запитывается с Геймпорта, просто я забыл в схеме указать, по умолчанию в Протеусе непоказываются шины питания. Я думаю ты разберешься что куда подключить.



<div class='quotetop'>Цитата(ToTo2zz @ Jan 31 2007, 08:16 PM) [snapback]403016[/snapback]</div>
General Dead. я решил собрать контроллер по вашей схеме. Так как до ближайшего радио магазине 150км. и моя "MEGA" еще в пути,
своял схему в Протеусе. Возникло несколько вопросов:
1. В реале кварц надо кондерами об вешать или как у вас, без них можно?
2. В Эмуляторе (Протеусе) вроде все работает, например я кручу первый резистор (там пять разных положений), на терминале Пять разных пакетов данных, все нормально. Но если я второй резистор кручу то там такие же данные как на первом, и так на любом из восьми... Не понятно как определяется каким резистором я сейчас кручу, если данные от всех резисторов одинаковые?
Накачал кучу литературы, изучаю. Голова новой информацией забита. Извини если вопросы Ламерские.
[/b]
1. У меня кондеры стоят, для 16Мгц лучше поставить хотя можешь попробовать и без них, я думаю вопрос не принципиальный, кондеры всегда можно допаять.
СОВЕТ!!! Собирайте схему на макетной плате, в случае апгрейта проще перепаять несколько проводов и запять микруху чем переделывать плату.

2. У меня в Протеусе все нормально работает и крутя каждый резистор получаем разные пакеты. Ты скорее всего забыл подключить к Атмеге файл Midi Control.eep (файл нужно сначала переконвертировать из eep в bin так как Протеус eep не понимает). Чтобы подключить открой
свойства Амеги и в "Advanced Properties" выбери "Initial content of EEPROM и укажи путь к файлу Midi control.BIN, затем зайди в закладку Протеуса "Debug" и нажми "Reset Persistent Model Data", затем ОК.

Для справки Терминал в Протеусе не имеет скорости передачи\приема как у стандартного МИДИ интерфейса (самое близкое значение 38400 вто время как у МИДИ 31250) поэтому будет показывать неправильно принятую информацию.
 
<div class='quotetop'>Цитата(General Dead @ Feb 2 2007, 09:11 PM) [snapback]403976[/snapback]</div>
2. У меня в Протеусе все нормально работает и крутя каждый резистор получаем разные пакеты. Ты скорее всего забыл подключить к Атмеге файл Midi Control.eep (файл нужно сначала переконвертировать из eep в bin так как Протеус eep не понимает). Чтобы подключить открой
свойства Амеги и в "Advanced Properties" выбери "Initial content of EEPROM и укажи путь к файлу Midi control.BIN, затем зайди в закладку Протеуса "Debug" и нажми "Reset Persistent Model Data", затем ОК.
[/b]
Точно! Midi Control.eep не подключил. Правда я не знаю чем *.eep конвертировать, я тупо в HEX редакторе набрал эти 16 байт и сохранил как *.bin И теперь все пашет!!! Супер.

<div class='quotetop'>Цитата(General Dead @ Feb 2 2007, 09:11 PM) [snapback]403976[/snapback]</div>
Для справки Терминал в Протеусе не имеет скорости передачи\приема как у стандартного МИДИ интерфейса (самое близкое значение 38400 вто время как у МИДИ 31250) поэтому будет показывать неправильно принятую информацию.
[/b]
С Терминалом в Протеусе сразу понял что не пролезет, я вначале у тебя в исходнике константу поменял (благо она там в комментариях написана), Но потом подумал: "а чо это такой крутой терминал и работает только на стандартных скоростях?" Взял включил опцию "Edit All properties as text" и вписал {BAUDRATE=31250} и вот оно счастье... Только теперь эту опцию выключать не надо, а то опять стандартные значения будут.
Но на этом мои извращения еще только начались... Прочитал что в Протеусе есть компонент COM порта, воткнул, подключил, взял DATA кабель от сотика, Один конец в COM - второй (один проводок) в MIDI.... Супер эмуляция началась! Вот теперь думаю Если найти компонент параллельного порта и в параллельный порт резисторы воткнуть???... :rolleyes: Боже, как меня с Абсента раскумарило... :blink:
Нет, с параллельным портом я конечно прогнал, ничего не получится.
 
<div class='quotetop'>Цитата(ToTo2zz @ Feb 3 2007, 04:51 PM) [snapback]404241[/snapback]</div>
Точно! Midi Control.eep не подключил. Правда я не знаю чем *.eep конвертировать, я тупо в HEX редакторе набрал эти 16 байт и сохранил как *.bin И теперь все пашет!!! Супер.
С Терминалом в Протеусе сразу понял что не пролезет, я вначале у тебя в исходнике константу поменял (благо она там в комментариях написана), Но потом подумал: "а чо это такой крутой терминал и работает только на стандартных скоростях?" Взял включил опцию "Edit All properties as text" и вписал {BAUDRATE=31250} и вот оно счастье... Только теперь эту опцию выключать не надо, а то опять стандартные значения будут.
Но на этом мои извращения еще только начались... Прочитал что в Протеусе есть компонент COM порта, воткнул, подключил, взял DATA кабель от сотика, Один конец в COM - второй (один проводок) в MIDI.... Супер эмуляция началась! Вот теперь думаю Если найти компонент параллельного порта и в параллельный порт резисторы воткнуть???... :rolleyes: Боже, как меня с Абсента раскумарило... :blink:
Нет, с параллельным портом я конечно прогнал, ничего не получится.
[/b]
преобразовать EEP в BIN можно просто открыв файл eep в HEX editore и сохранив его в BIN или если есть прога WinHex там жмешь Ctrl+R и вылазит окошко конвертации в какой угодно формат bin, Intel hex, Motorola hex.....

Круто ты поизвращался с Протеусом, я сам хотел помучать но руки не дошли. А зачем тебе с параллельным портом играться?

Кстати в Протеусе есть еще IDE винчестер и flash Карты RSMMC.
 
Сколько примерно будут стоить моторизированные фейды ?
Сегодня из магазина 'чип и дип' пришло письмо, где мне сказали что они не могут заказать их, цен тоже не знают :unsure: .. неужели самому придется делать ? :unsure:
 
<div class='quotetop'>Цитата(*TESTLAB* @ Feb 7 2007, 05:24 PM) [snapback]405971[/snapback]</div>
Сколько примерно будут стоить моторизированные фейды ?
Сегодня из магазина 'чип и дип' пришло письмо, где мне сказали что они не могут заказать их, цен тоже не знают :unsure: .. неужели самому придется делать ? :unsure:
[/b]
я думаю цена немаленькая, особенно на оптические. я тут энкодеры купить немогу, а про моторизированные фэйдеры даже не заикаюсь.
 
<div class='quotetop'>Цитата(General Dead @ Feb 8 2007, 06:12 PM) [snapback]406440[/snapback]</div>
я тут энкодеры купить немогу, а про моторизированные фэйдеры даже не заикаюсь.
[/b]
Энкодеры заказать легко .. на том же http://www.chip-dip.ru/ .. они там от 40 рублей за штуку .. там же на эти энкодеры можно найти пластиковые крутилки.. выбор их правда не большой ..
 
Альтернативных вариантов ненашел .. если самому делать то с чего взять пример ?
Я в даташите кроме ремешка с двигателем ничего не увидел :unsure:
где стоит тач-сенсор .. как он вообще работает .. короче темный лес ..
Есть штук 20 червяков от старых 5.25 FDD, но покрутил .. думаю не подойдут ..
я в растерянности :unsure:
Смысл устройства наполовину пропадает :(
 
Я для себя думал сделать на энкодерах как в мышке на скроле стоят, т.е крутить колесико и никаких моторчиков, на дисплее отображать значение громкости (например) и можно полоску из светодиодов сделать типа как на Korg OASYS. или как вариант не мучится и купить Berhinger BCF-2000 правда там фэйдеры не чуствительные к нажатию.
 
со скроллами тоже прикольно .. и главное проще :)
только датчики наверно должны быть оптическими .. я на работе разбирал несколько мышек .. у механиченских скроллов слишком .. как это сказать .. слишком "высокая дискретность" .. насколько плавную регулировку они обеспечат .. хз ..
Или взять те же "резисторообразные" энкодеры :) и поставить их понормальному .. ведь есть же микшеры где канальные фейдеры осеаого типа .. у того же берингера например :)
про бцф две тыщи .. (BCF2000) купить конечно можно. но денег лиших покачто нет ..
 
Вот я думаю не плохой вариант! Берем джойстик от Sony Play Station. Там два два двухосевых контроллера, при этом если чуть чуть надавить к центру(с любым наклоном оси) то срабатывает кнопочка! Работает очень плавно, одним плацем легко управляется. Джойстики у любого приставочника есть (они ломаются быстро) А резюки там классные, плюс стильная насадка, ни чего придумывать не надо. Я вот еще думаю у соседа пидали от ПиСишного руля забрать, Один фиг он руль уже раздолбал.
А пидальки можно пристроить к контроллеру. И еще интересно, Точпад от ноутбука можно туда же прикрутить? и как (по проще)?
 
ToTo2zz Спасибо за идею с Sony. насчет тачпада, я его не разбирал но видел тачпад на фотке синта Yamaha AN1x, там кроме тач панельки еще плата со спец контроллером который преобразует сигнал давления на тачпад в код или аналоговый сигнал. Как прикрутить незнаю по изложенной выше причине.

<div class='quotetop'>Цитата(*TESTLAB* @ Feb 9 2007, 03:54 PM) [snapback]406955[/snapback]</div>
со скроллами тоже прикольно .. и главное проще :)
только датчики наверно должны быть оптическими .. я на работе разбирал несколько мышек .. у механиченских скроллов слишком .. как это сказать .. слишком "высокая дискретность" .. насколько плавную регулировку они обеспечат .. хз ..
Или взять те же "резисторообразные" энкодеры :) и поставить их понормальному .. ведь есть же микшеры где канальные фейдеры осеаого типа .. у того же берингера например :)
про бцф две тыщи .. (BCF2000) купить конечно можно. но денег лиших покачто нет ..
[/b]
дискретность можно регулировать программно, главное заиметь эти энкодеры приемлемой конструкции в нужном количестве.
 
В выходные спаял на ужасном обгрызке макетной платы адаптер геймпорт-миди, с оптроном CNY17-3 работает нормально, с другими были глюки - то номер канала менялся, то параметр ..
А про SONYвский джойстик :) один разобрал .. ху контроллер там хороший (на вид) его покачто не проверял =)
 
<div class='quotetop'>Цитата(*TESTLAB* @ Feb 12 2007, 09:42 AM) [snapback]407920[/snapback]</div>
В выходные спаял на ужасном обгрызке макетной платы адаптер геймпорт-миди, с оптроном CNY17-3 работает нормально, с другими были глюки - то номер канала менялся, то параметр ..
А про SONYвский джойстик :) один разобрал .. ху контроллер там хороший (на вид) его покачто не проверял =)
[/b]
А с какими оптронами были глюки? Может нужно было подобрать резистор? Насчет джойстика, это конечно хорошо, но нужно встраивать алгоритм калибровки джойстика чтоб в среднем положении передавалась ровно половина диапазона, хотя можно подключить проверить и так как есть, поставить подстроечный резистор\два в плечо потенциометра.
 
<div class='quotetop'>Цитата(General Dead @ Feb 13 2007, 10:43 PM) [snapback]408662[/snapback]</div>
А с какими оптронами были глюки? Может нужно было подобрать резистор? Насчет джойстика, это конечно хорошо, но нужно встраивать алгоритм калибровки джойстика чтоб в среднем положении передавалась ровно половина диапазона, хотя можно подключить проверить и так как есть, поставить подстроечный резистор\два в плечо потенциометра.
[/b]
Типы оптронов точно непомню .. я тебе в каком-то письме их перечислял ..
с сонивскими XY-ми делать наверно ничего не буду .. в их применении пока-что нет сильной нужды.. может потом пригодятся ..
 
Как подключить энкодеры ?
Их надо через какие-нить триггеры включать ?
В протеусе реально сделать модель энкодера ?
 
<div class='quotetop'>Цитата(General Dead @ Feb 13 2007, 07:43 PM) [snapback]408662[/snapback]</div>
Насчет джойстика, это конечно хорошо, но нужно встраивать алгоритм калибровки джойстика чтоб в среднем положении передавалась ровно половина диапазона, хотя можно подключить проверить и так как есть, поставить подстроечный резистор\два в плечо потенциометра.
[/b]

Я думаю что при точности оцифровки 8bit калибровка не понадобиться... или один раз при отладке константу поправки найти и все. Я полез померить номинал резюков и мне показалось что центр это вообще НОЛЬ, короче их выпаивать надо, на схеме не понятно. Энкодеры это что, просто контакты???
 
<div class='quotetop'>Цитата(*TESTLAB* @ Feb 14 2007, 08:44 AM) [snapback]408827[/snapback]</div>
Как подключить энкодеры ?
Их надо через какие-нить триггеры включать ?
В протеусе реально сделать модель энкодера ?
[/b]
Энкодеры это грубо говоря два переключателя отстоящие друг от друга на 90 градусов и когда крутишь энкодер то сначала замыкается одни контакт а потом другой и в зависимости от чередования контактов вычисляется направление вращения и количество точек.
Модель энкодеоа самая примитивная это два выключателя которые коммутируются вручную, если есть редактор в протеусе можно самому модель сделать.
подключать можно к обычным входам микроконтроллера.

<div class='quotetop'>Цитата(ToTo2zz @ Feb 14 2007, 07:09 PM) [snapback]409139[/snapback]</div>
Я думаю что при точности оцифровки 8bit калибровка не понадобиться... или один раз при отладке константу поправки найти и все. Я полез померить номинал резюков и мне показалось что центр это вообще НОЛЬ, короче их выпаивать надо, на схеме не понятно. Энкодеры это что, просто контакты???
[/b]
возможно и так, тем более 8 бит потом преобразуется в 7 бит.
 
<div class='quotetop'>Цитата(General Dead @ Feb 14 2007, 10:20 PM) [snapback]409146[/snapback]</div>
Энкодеры это грубо говоря два переключателя отстоящие друг от друга на 90 градусов и когда крутишь энкодер то сначала замыкается одни контакт а потом другой и в зависимости от чередования контактов вычисляется направление вращения и количество точек.
[/b]

А есть схема подключения энкодеров к атмеге ?
Как можно аппаратно подавить дребезг ?
 
Да, энкодеры не так просты как кажуться на первый взгля. И направление движения, и дребезг, и измерение времени между отпусканием первого и замыканием второго контакта (скорость вращения), и все это придется решать программой. Кстати о скоросити... я тут щас мышкой покрутил и заметил что у мышки скорость не стчитается, всега постоянная. Хотя могу и ошибаться, ведь я еще только теоретик... Свою МЕГУ жду...
 
<div class='quotetop'>Цитата(ToTo2zz @ Feb 15 2007, 06:20 PM) [snapback]409549[/snapback]</div>
Да, энкодеры не так просты как кажуться на первый взгля. И направление движения, и дребезг, и измерение времени между отпусканием первого и замыканием второго контакта (скорость вращения), и все это придется решать программой. Кстати о скоросити... я тут щас мышкой покрутил и заметил что у мышки скорость не стчитается, всега постоянная. Хотя могу и ошибаться, ведь я еще только теоретик... Свою МЕГУ жду...
[/b]
У меня мышка от microsoft в ней и скорость тоже учитывается, только в ней наверное оптический энкодер т.к щелчков при скроллировании нет.
Вообще для МИДИ контроллера скорость переключения ненужна, нужно количество этих переключений

Если интересно могу выложить файл проекта для Протеуса+прошивка МИДИ контроллера что с LCD, там работают крутилки, кнопки и на индикаторе высвечивается значение. Проект в стадии разработки, глюков нет но не все функции реализованы.
 
<div class='quotetop'>Цитата(General Dead @ Feb 15 2007, 10:21 PM) [snapback]409570[/snapback]</div>
Если интересно могу выложить файл проекта для Протеуса+прошивка МИДИ контроллера что с LCD, там работают крутилки, кнопки и на индикаторе высвечивается значение. Проект в стадии разработки, глюков нет но не все функции реализованы.
[/b]

Интересно посмотреть :)
 
Вот файл для Протеуса 6.95 и прошивка в Hex для программы и в bin\eep для памяти EEPROM, файл один и тот же но в разных форматах eep\bin.
 
Запустил файл проекта .. все работает, только lcd показывает непонятные символы .. причины две - либо версия протеуса не та .. либо комп слабый P3 1Ghz :( при симуляции загрузка 100% .. но по терминалу видно что команды посылаются .. :)
 
<div class='quotetop'>Цитата(*TESTLAB* @ Feb 20 2007, 07:19 PM) [snapback]411766[/snapback]</div>
Запустил файл проекта .. все работает, только lcd показывает непонятные символы .. причины две - либо версия протеуса не та .. либо комп слабый P3 1Ghz :( при симуляции загрузка 100% .. но по терминалу видно что команды посылаются .. :)
[/b]
а ты подключал файл для EEPROM с расширением bin? Хотя названия прошиты в основной программе, нажимай только кнопки с надписями. Комп слабый но для этой схемы покатит.
Провероь частоту выставленную для симуляции, должно быть 16МГц. Какая у тебя версия протеуса? У меня 6.9sp5
 
Протеус 6.9 sp 4 сегодня утром попробовал ещё раз запустить .. работает :) незнаю почему вчера ему не работалось ..
Думал про энкодеры .. если поставить везде оптические, то с дребезгом бороться не придется .. они стоят 500 рублей :( (Bourns) .. дороговато .. но зато рабочий цикл очень большой .. придется из старых мышек оптопар навыдергивать .. только как их сделать потом в виде осевых крутилок нет мыслей .. и под рукой подходящего ничего нет :(
Привезли LCD индикатор WH1602A-NGG-CT .. скоро буду его интегрировать :) скорее всего в праздники :)
 
<div class='quotetop'>Цитата(*TESTLAB* @ Feb 21 2007, 05:54 AM) [snapback]411918[/snapback]</div>
Протеус 6.9 sp 4 сегодня утром попробовал ещё раз запустить .. работает :) незнаю почему вчера ему не работалось ..
Думал про энкодеры .. если поставить везде оптические, то с дребезгом бороться не придется .. они стоят 500 рублей :( (Bourns) .. дороговато .. но зато рабочий цикл очень большой .. придется из старых мышек оптопар навыдергивать .. только как их сделать потом в виде осевых крутилок нет мыслей .. и под рукой подходящего ничего нет :(
Привезли LCD индикатор WH1602A-NGG-CT .. скоро буду его интегрировать :) скорее всего в праздники :)
[/b]
Дребезг энкодеров не такая принципиальная вещь ( в оптических тоже есть но поменьше чем в механических), главное их заиметь в достаточном количестве и в нормальном корпусе как в переменном резисторе, поэтому мышки отдыхают.
ЗЫ Наверное тебе в будующем понадобится микруха флэш-памяти 24C32 (можно и 24C64, микрухи недорогие около 0.5$), я ппланирую пресеты сохранять в нее потому что встроенной EEPROM атмеги нехватает, счас используется только три пресета
 

Сейчас просматривают