59

USB MIDI- клавиатура на arduino mega

Дело было вечером, делать было нечего.

В общем нашел я у дочки игрушку, она даже работала, но играть на ней было практически невозможно, дело в том что при нажатии на 2 клавиши, 3 -я уже не работала, то есть взять аккорд невозможно (хотя я аккорды и не знаю, зато паять умею) а еще совершенно случайно валялись ардуики всякие. Гугл сказал можно сделать из этого всего MIDI - клавиатуру.   

Взял мегу, т.к. там точно хватит цифровых входов под каждую клавишу, клавиш получилось 37, можно было и на UNO сделать, но тогда нужен будет ставить мультиплексор, а у меня его не оказалось.

Берем Ашан паяльник... (не ну брат, у меня канэшна есть и хороший паяльник, просто он на работе, а такие у меня везде по одному валяются, на даче в машине и дома) кстати подставка сделана мной в 1989 году.

и курочим уже бывшую игрушку

пихаем туда ардуньку

далее по схеме делаем шилд, схема такая

крутилку, энкодер, не стал пока ставить, это в позже.

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

скетч... эээ, а как тут спойлер сделать? ладно не буду выкладывать, только кусками

брал отсюда и переделывал под себя http://cxem.net/arduino/arduino29.php

тут задаются ноты

#define note_2F 0x29

#define note_2Fd 0x2A 

#define note_2G 0x2B

#define note_2Gd 0x2C

#define note_2A 0x2D

#define note_2Ad 0x2E

#define note_2B 0x2F4

#define note_3C 0x30

#define note_3Cd 0x31

#define note_3D 0x32 

         .....

потом еще куча кода

а так происходит обработка событий

// Нота 2F

if (buttonState_2F == HIGH && note_2F_send_on == false) // Нажатие клавиши

{

noteOn(0x90, note_2F, 0x7F);

note_2F_send_on = true; // Команда Note On послана

note_2F_send_off = false; // Команда Note Off не послана

}

else if (buttonState_2F == HIGH && note_2F_send_on == true) // Если клавиша удерживается

{

noteOn(0x00, note_2F, 0x7F);

note_2F_send_on = true;

note_2F_send_off = false;

}

else if (buttonState_2F == LOW && note_2F_send_off == false) // Если клавишу отпустили

{

noteOn(0x90, note_2F, 0x00);

note_2F_send_on = false;

note_2F_send_off = true;

}

// Нота 2Fd

if (buttonState_2Fd == HIGH && note_2Fd_send_on == false)

{

noteOn(0x90, note_2Fd, 0x7F);

note_2Fd_send_on = true;

note_2Fd_send_off = false;

}

else if (buttonState_2Fd == HIGH && note_2Fd_send_on == true)

{

noteOn(0x00, note_2Fd, 0x7F);

note_2Fd_send_on = true;

note_2Fd_send_off = false;

}

else if (buttonState_2Fd == LOW && note_2Fd_send_off == false)

{

noteOn(0x90, note_2Fd, 0x00);

note_2Fd_send_on = false;

note_2Fd_send_off = true;

}


а так передача всего в RS-232

void noteOn(int cmd, int pitch, int velocity) {

Serial.write(cmd);

Serial.write(pitch);

Serial.write(velocity);

delay(20);

}

Далее ставим LoopMIDI и Serial MIDI Converter

Первый запускается и может висеть в трее, второй нужно запускать самостоятельно и держать открытым, или свернутым.

Ну а потом ставим что нибудь типа Pro Tools + Kontakt 5 вместе с сэмплами. Ну и вуаля, все работает

Все работает, но играть я не умею, поэтому можно разбирать :) шутка, отдам дочке может понравится, будет учиться...


З.Ы. да да, можно было и купить, стоит рублей 7, но так интересней..

5
Автор поста оценил этот комментарий

В общем нашел я у сына игрушку, она даже работала, но играть на ней было практически невозможно, дело в том что при нажатии на курок водяного пистолета 10 раз подряд с задержкой в 0.2813 секунды, происходило завоздушивание и нормально стрелять невозможно (хотя стрелять я не умею, зато я сантехник) а еще СОВЕРШЕННО СЛУЧАЙНО валялись ардуики всякие, FGPA, три пентиума 2, водосточная труба, 5 грязных носков, мешок навоза и синяя изолента. Гугл сказал можно сделать из этого пушку гауса и гидропонную установку.

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

по моему кто то не верит что ардуинки валяются просто так, без дела...

показать ответы
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
7
Автор поста оценил этот комментарий
Иллюстрация к комментарию
Автор поста оценил этот комментарий

мужик,может знаешь.Я купил нотик,а в нём вход гибридный на микрофон и наушники.Вроде.Ну в общем он один.В него реально гитару втыкнуть,чтоб комп видел её?На старом в микрофонный тыкал,а тут не знаю что делать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

точно не знаю, но если он как микрофон работает, значит и гитару можно пихать. 

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества