OLÁ PESSOAL, ESTOU COM UM PROJETE DE BATERIA ELETRONICA, E O ARDUINO SERÁ ULTILIZADO COMO MÓDULO.. 

ESTOU DIFICULDADES EM FAZER A PROGRAMAÇÃO, PARA ATIVAR OS PIEZOS NO ARDUINO, E POR FIM ATRANSMITIR O SINAL MIDI PARA O PC EM UM VST EZDRUM.

ME ENTENDERAM O QUE EU QUIS DIZER? 

ME AJUDEM POR FAVOR... 

Exibições: 3475

As respostas para este tópico estão encerradas.

Respostas a este tópico

Alguem pode me ajudar?

por favor...

Boa noite jovem!

Estou nessa mesma empreitada!!!

Já fiz alguma coisa e vou te passar até amanhã via e-mail os links do material que já tenho!

Então eu aguardo ansioso o seu email...

2 cabeças pensam melhor que uma..

Obrigado, por sua atenção... Deus te abençoe...

ALGUEM PODE AJUDAR??? POR FAVOOORRR!!

Olha jovem:

1. O meu arduino eu mesmo fiz e é um duemilenove (ATMega 328p)

2. Tenho alguns links aqui que tenho seguido:

a) Esse cara (http://www.youtube.com/watch?v=jjvy_jzGlAQ) mmigdal fez um protótipo muito interessante. Aqui o código basico dele (http://codetidy.com/1760/) e dois tutoriais baseados em seu trabalho (http://blimp12.blogspot.com.br/2012/01/arduino-air-drums-part-1.html e http://blimp12.blogspot.com.br/2012/01/arduino-air-drums-part-2.html)

Com eles descobri o http://code.google.com/p/s2midi/ que funciona muito bem com latência mínima.

b) Desse cara (http://blog.georgmill.de/2011/03/22/e-drumset-selbst-gebaut/) vem o código que eu uso. Tem bastante resource dele aqui: http://sourceforge.net/projects/yaamidrum/files/

c) E esse aqui fez tudo o que eu queria fazer: http://drummaster.digitalcave.ca/. Excelente trabalho!

Até amanhã te mando detalhes do meu projeto!

Abraço e que a paz de Cristo esteja contigo!!

Muito obrigado por sua ajuda.. 

eu usei software porta midi ( S2MIDI, MIDI YOKE, LOOPBE1 ) , alterei os valores até chegar ao mínimo de latência.. mas, ainda não foi o que eu esperava..

me indicaram usar um cabo midi usb, já comprei, só estou esperando chegar para fazer os testes, e creio que vai dar certo.. 

Quero ver o seu projeto, quando o meu estiver pronto eu mostro tbm..

obrigado por compartilhas os seus conhecimentos..

Jesus te abençoe

Abraços!!!

Thiago, 

Para a trasmissão serial x midi eu uso o S2midi e o MidiYoke ( http://www.midiox.com/ ) 

Ontem testei um código que deu mais resultados mas precisa de ajustes ainda. Vou estudar mais e desenvolver meu proprio codigo, vai ser o jeito.

testei esse:


short nota[6] = {36, 38, 42, 49, 50, 51};
short valor[6] = {0, 0, 0, 0, 0, 0};
long tempo[6] = {0, 0, 0, 0, 0, 0};
int a[10] = {0,0,0,0,0,0,0,0,0,0};
long maior = 1;
long menor = 1;

short canal_bateria = 0;
short threshold = 10;
short debounce = 750;
short offset = 1;
short pratos = 5;
short fimdoloop = 9;
short i = 0;
short H = 0;

void setup() {
Serial.begin(115200);
}

void loop() {
do //faça enquanto H não chegar até 9
{
a[H] = (analogRead(i));
if (a[H]>maior) maior = a[H]; // a variavel "maior" começa com valor 1, logo o seu numero só poderá aumentar
H++;
} while (H < 9);

// for(int H=0;H<9;H++) //outros testes
// a[H] = (analogRead(i)/8);
// if (a[H]>maior) maior = a[H];

{
valor[i]=maior/8; //pega o maior valor possivel entre 10 valores do piezo


if ((valor[i] > threshold) && (millis() - tempo[i] >= debounce)){ // toca a nota off e depopis a on
{
noteOn(canal_bateria+0x80, nota[i],0);
noteOn(canal_bateria, nota[i], valor[i] + offset);
}
}
if (H == fimdoloop) H = 0; //recomeça de novo
maior = 1;
i++;
if (i == pratos) i = 0;

}
}
void noteOn(byte channel, byte note, byte velocity) {
midiMsg(channel+0x90, note, velocity);
}

void midiMsg(byte cmd, byte data1, byte data2) {
Serial.write(cmd);
Serial.write(data1);
Serial.write(data2);
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço