collapse

* Posts Recentes

Alguém arranja motores? por almamater
[11 de Dezembro de 2024, 16:07]


Sistema a LASER que será também capaz de matar moscas por jm_araujo
[11 de Dezembro de 2024, 12:35]


Nevadent - Não carrega por almamater
[22 de Novembro de 2024, 21:36]


Classmate Leap T304 não liga por almamater
[19 de Novembro de 2024, 07:13]


+ LASERs por dropes
[18 de Novembro de 2024, 21:50]


Dúvida com fonte de alimentação comutada por filjoa
[28 de Outubro de 2024, 21:57]


Motoserra Stihl 120C por dropes
[26 de Outubro de 2024, 19:01]


Shelly em jeito de watchdog por SerraCabo
[24 de Outubro de 2024, 19:24]


Meu novo robô por josecarlos
[06 de Outubro de 2024, 13:33]


Sirene NOVA maluca por dropes
[01 de Outubro de 2024, 18:26]

Autor Tópico: Arduino Drumkit  (Lida 100854 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Arduino Drumkit
« em: 24 de Julho de 2009, 04:30 »
bem, projectos musicais são a minha perdição, e à dias desafiei-me a concretizar este:

http://www.spikenzielabs.com/SpikenzieLabs/DrumKitKit.html

para quem não o conhece, é um minishield que se acopla directamente nos conversores analógico-digital e já trás os zenners e resistências necessários para usar 6 elementos piezoeléctricos (como aconselham os tutoriais :D)

passei uma tarde a tentar engendrar como pôr este mesmo circuito, em dimensões também reduzidas, numa pcb de pistas. O problema é que na versão da Spikenzie Labs, todas as ligações de ground estão nas costas da placa, a frente é só para os piezos.

Aqui está a minha versão:
http://picasaweb.google.pt/tiagocustodio1/TroniquicesAlgoMais#
(no álbum há mais fotos ;))

deixo aqui o código que desenvolvi para o arduino fazer a leitura dos 6 piezos e comunicar os resultados por midi:
Código: [Seleccione]
short nota[6] = {32, 34, 36, 37, 39, 41};
short valor[6] = {0, 0, 0, 0, 0, 0};
long tempo[6] = {0, 0, 0, 0, 0, 0};

short canal_bateria = 9;
short threshold = 10;
short debounce = 75;
short offset = 20;
short pratos = 4;

short i = 0;

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

void loop() {
    valor[i] = (analogRead(i)/8);
    if ((valor[i] > threshold) && (millis() - tempo[i] >= debounce)){
      noteOff(canal_bateria, nota[i]);
      noteOn(canal_bateria, nota[i], valor[i] + offset);
      tempo[i] = millis();
    }
  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.print(cmd, BYTE);
  Serial.print(data1, BYTE);
  Serial.print(data2, BYTE);
}

E o vídeo da coisa em funcionamento:



Bem, do que precisei para fazer isto tudo?

  • uma pcb, usei uma já com pistas de cobre, custou-me 5€ uma enorme;
  • 6 resistências de 2Mohms, há quem use de 1MOhms, custam 2 ou 3 cêntimos cada;
  • 6 díodos zenner de 5.1V, 400mW, acho que custaram 15 cêntimos cada;
  • 20 pinos de breadboard, podem usar apenas 8 ou 7, custou-me uns 30 cêntimos;
  • fio, ou aparas de quando se cortam as patas dos componentes depois de os soldar.
para os pratos, usei:
  • para a superfície, cartão de maquete, tinha aqui um resto em casa, recomendo tapetes de rato;
  • tampas de latas de biscoito, dão bons suportes! a melhor parte é esvaziá-las;
  • piezos, um amigo meu arranjou-me uns poucos, não sei o preço deles;
  • fios para ligar os piezos ao circuito, usei uns tirados de umas caixas de computador, que já trazem um conector de 2 pinos;
  • fita isoladora, ou fita cola, para colar o piezo e o papel de maquete à tampa.

Aqui está um esquema melhor que o anterior, acho que é mais fácil de perceber ;)
Atenção que é suposto usar díodos zenner em vez dos que estão no esquema..
« Última modificação: 06 de Agosto de 2009, 01:23 por tcustodio »
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re:Arduino Drumkit
« Responder #1 em: 24 de Julho de 2009, 04:33 »
disse e repito.. ficou com um ar mt agradável.. ;)

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re:Arduino Drumkit
« Responder #2 em: 24 de Julho de 2009, 08:53 »
Muito bem.
Isso envia comandos MIDI que podem ser usados por Software em tempo real? Tipo Ableton Live?

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.378
    • Tiago Rodrigues
Re:Arduino Drumkit
« Responder #3 em: 24 de Julho de 2009, 11:02 »
Muitos parabéns, está com óptimo aspecto! Quero um vídeo contigo a tocar umas músicas :)

Próximo passo, controlar guitar hero.

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Re:Arduino Drumkit
« Responder #4 em: 24 de Julho de 2009, 11:08 »
Isso envia comandos MIDI que podem ser usados por Software em tempo real? Tipo Ableton Live?

Sim, posso usar em tudo, por acaso é o que tou a pensar usar pró vídeo, com uns samples reais, ou então o software do Korg M1, dá menos trabalho a configurar, e é um sintetizador em condições :D

Próximo passo, controlar guitar hero.

Tipo isto?

http://slapyak.wordpress.com/guitar-hero-midi-controller/

Já tenho a mira alinhada ;)
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.378
    • Tiago Rodrigues
Re:Arduino Drumkit
« Responder #5 em: 24 de Julho de 2009, 11:11 »
Tens também aqui uma boa fonte de inspiração:
http://lusorobotica.com/index.php/topic,153.0.html

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.034
Re:Arduino Drumkit
« Responder #6 em: 24 de Julho de 2009, 11:36 »
nao percebi uma coisa.

O que está por debaixo das resistencias?

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Re:Arduino Drumkit
« Responder #7 em: 24 de Julho de 2009, 11:40 »
nao percebi uma coisa.

O que está por debaixo das resistencias?

são os díodos zener, aqueles encapsulados em vidro, que estão ao lado das resistências no drumkit kit original
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re:Arduino Drumkit
« Responder #8 em: 24 de Julho de 2009, 13:08 »
olha, pelos vistos não sou o único maluquinho por música por aqui :P

Já tinha visto um projecto idêntico e achei fabuloso ;)

Só tenho uma duvida, os fios que usaste são unifilares ou multifilares? parecem unifilares, e se forem, aconselho a mudar :P

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re:Arduino Drumkit
« Responder #9 em: 24 de Julho de 2009, 13:31 »
Coincidencia do caraças, ainda ontem à noite estive a ver coisas na net sobre isto. Vou hoje comprar os piezos.
A minha ideia era mesmo ligar ao Ableton.

Não estou a par é das ligações dos piezos com as resistências e os zeners. Nao me conseguias arranjar um esquema disso? Valores recomendados para resistencias e zeners?

Em relação ao código, li um bocado na diagonal, nao percebi o porquê da utilização de um "offset". É para dar mais "boost" à cena?

Outra duvida que tenho é a seguinte: ao mandares comandos MIDI pela porta série, o Ableton vai logo reconhecer que existe um "controlador MIDI" ligado ao PC? Neste caso, o arduino ligado ao PC.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Arduino Drumkit
« Responder #10 em: 24 de Julho de 2009, 14:03 »
Parece realmente muito bom mas um video e uma melhor explicação da construção dessa placa era bom :)

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Re:Arduino Drumkit
« Responder #11 em: 24 de Julho de 2009, 19:29 »
Só tenho uma duvida, os fios que usaste são unifilares ou multifilares? parecem unifilares, e se forem, aconselho a mudar :P
não tinha aqui multifilares, mas já arranjei uns metros de cabo de áudio, é só descarnar :D Faço um novo e ofereço este a quem o quiser :D
Não estou a par é das ligações dos piezos com as resistências e os zeners. Nao me conseguias arranjar um esquema disso? Valores recomendados para resistencias e zeners?
já ali meti um esquema das ligações. Eu aprendi as ligações a olhar para o drumkit kit original, penso que seja mais fácil ver pelo original!
Os zeners são de 5.1V, e as resistências são de 1Mohm, eu só tinha de 2.2Mohms, mas resulta na mesma.

PS: eu deixei ali um esquema que acabei às 6 da manhã, mas o TigPT alterou-me o post pra centrar as imagens, e deve ter apagado alguma letra por engano e o esquema deixou de aparecer, mas já corrigi ;) (TigPT, à terceira vez, invado Alenquer.) ~~
Em relação ao código, li um bocado na diagonal, nao percebi o porquê da utilização de um "offset". É para dar mais "boost" à cena?
sim, na prática é só para me poupar o trabalho de ter que bater fortemente nos pratos, é mesmo só um boost.
Outra duvida que tenho é a seguinte: ao mandares comandos MIDI pela porta série, o Ableton vai logo reconhecer que existe um "controlador MIDI" ligado ao PC? Neste caso, o arduino ligado ao PC.
Não, eu usei um software que já tinha encontrado no início destas andanças:
http://www.memeteam.net/2007/s2midi/
usas isso e usas também o midi yoke, ou outro que te crie ligações midi virtuais:
http://www.midiox.com/myoke.htm
Não recomendo o uso do "Serial MIDI" da Spikenzie Labs, pois dá muita latência na devolução dos dados (mas permite dados nos dois sentidos, do computador para o arduino, enquanto que o S2MIDI não permite)

Uma das minhas ambições era usar o V-USB para simular um dispositivo midi
http://www.obdev.at/products/vusb/index.html
Mas ainda não tenho experiência suficiente para isso (tenho que ir levlar ;D)
Parece realmente muito bom mas um video e uma melhor explicação da construção dessa placa era bom :)
Não tenho câmera em condições para isso, muito menos com capacidade para focar coisas de perto (tinha uma Sony analógica ligada à placa de tv, mas morreu :'( conseguia gravar a 800x600, tinha autofocus, era linda, espetacular... e era quase tão velha como eu ;D)
E tenho um péssimo hábito. Começo a fazer as coisas e largo tudo o resto, não páro pra fazer nada, portanto documentar as coisas é algo difícil para mim :-X (por acaso tenho fotos dos pratos por fazer porque lembrei-me de tirar uma foto pra mostrar ao pessoal ;D)
« Última modificação: 24 de Julho de 2009, 19:46 por tcustodio »
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.378
    • Tiago Rodrigues
Re:Arduino Drumkit
« Responder #12 em: 24 de Julho de 2009, 20:12 »
Desculpa :D

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Arduino Drumkit
« Responder #13 em: 24 de Julho de 2009, 20:41 »
De certeza que a imagem com as ligações foram corrigidas? é que eu vejo as mesmas imagens que antes.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.378
    • Tiago Rodrigues
Re:Arduino Drumkit
« Responder #14 em: 24 de Julho de 2009, 20:45 »
De certeza que a imagem com as ligações foram corrigidas? é que eu vejo as mesmas imagens que antes.

Tens é o link para o álbum onde estão mais imagens.