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...
Tags:
As respostas para este tópico estão encerradas.
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);
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por