• Welcome to LusoRobótica - Robótica em Português.
 

Modificação de um teclado MIDI

Started by diogo0880, 01 de July de 2011, 20:36

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

diogo0880

Quote from: senso on 29 de July de 2011, 00:34
Algo entre 5k e 100K é o tipico que tenho visto, mas eu até agora só usei potenciómetros de 10K.

Os de 10K dão um sinal preciso e sem saltos ao arduino?

senso

Sim dão, mas tambem, um teclado não assim nada de muito mau em termos de ruido.
Avr fanboy

tcustodio

Quote from: diogo0880 on 29 de July de 2011, 00:33
E em relação a porta MIDI para entrada do sinal do teclado, como a conectaria ao arduino para que este o encaminha-se para o pc via USB? Seria pelo Pino Digital 1 (TX) certo?
Os pinos 0 e 1 do Arduino são usados para ele comunicar apenas com o computador. Para receberes os dados do teclado, precisas de outra porta série, neste caso, uma por software, dado que o Arduino só tem uma em hardware e já está a ser usada.
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

diogo0880

Quote from: senso on 29 de July de 2011, 00:56
Sim dão, mas tambem, um teclado não assim nada de muito mau em termos de ruido.

Desculpa senso, não percebi o que disseste  :-\

Quote from: tcustodio on 29 de July de 2011, 01:00
Os pinos 0 e 1 do Arduino são usados para ele comunicar apenas com o computador. Para receberes os dados do teclado, precisas de outra porta série, neste caso, uma por software, dado que o Arduino só tem uma em hardware e já está a ser usada.

Então como ligaria a porta MIDI, com sinal vindo do teclado, ao arduino? :o

diogo0880

Estou a pensar em mandar vir o arduino amanha e percisava de saber, o mais rápido possivel, se tenho mesmo de comprar o shield midi ou se há outra alternativa (tou um pouco confuso acerca disso :-\)

Obrigado por toda a ajuda prestada até agora  :D

senso

O shield midi é simplesmente uma placa com tomadas midi, nem mais, nem menos.
Avr fanboy

diogo0880

Quote from: senso on 29 de July de 2011, 21:23
O shield midi é simplesmente uma placa com tomadas midi, nem mais, nem menos.

Então como farias para conectar o teclado ao arduino para que este, por sua vez, enviasse o sinal do teclado para o pc (via USB)?
Estou um bocado a toa com isto :-X

senso

Soldas um fio ao midi out do teclado, metes esse fio no pino digital 1 se não me engano que é RX do Arduino, e depois o Tx serve para enviares dados por serial para o pc.
Avr fanboy

Sérgio_Sena

A maneira mais simples é pôr o Arduino a receber o MIDI do Teclado, juntar-lhe a informação dos botões e potenciómetros (MIDI MERGE), e pôr o Arduino a enviar MIDI.

A mesma porta série pode ser usada, não é necessário emular por software, visto o RX receber o MIDI do Teclado e o TX enviar MIDI para cima.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

diogo0880

Quote from: senso on 29 de July de 2011, 21:39
Soldas um fio ao midi out do teclado, metes esse fio no pino digital 1 se não me engano que é RX do Arduino, e depois o Tx serve para enviares dados por serial para o pc.

Eu quando falei disso a pouco disse TX mas enganei-me ;D
Então preciso do TX para enviar os dados para o PC? Não pode ser via USB?

Sérgio_Sena

Quote from: senso on 29 de July de 2011, 21:39
Soldas um fio ao midi out do teclado, metes esse fio no pino digital 1 se não me engano que é RX do Arduino, e depois o Tx serve para enviares dados por serial para o pc.

O melhor é usar um circuito óptico para isolar os sinais...  isso depois em palco com as flutuações de rede e terra, pode dar granel. Assim mantém tudo isolado galvânicamente, evita problemas.

Há até umas fontes de alimentação DC/DC isoladas que 5Vin/5Vout, 1W, que são ideias para isso. Costumo usar umas da RECOM que são fantásticas, só tem que ter cuidado para não fazer curto na saida e não passar da potência indicada.

Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Quote from: diogo0880 on 29 de July de 2011, 21:42
Quote from: senso on 29 de July de 2011, 21:39
Soldas um fio ao midi out do teclado, metes esse fio no pino digital 1 se não me engano que é RX do Arduino, e depois o Tx serve para enviares dados por serial para o pc.

Eu quando falei disso a pouco disse TX mas enganei-me ;D
Então preciso do TX para enviar os dados para o PC? Não pode ser via USB?
O usb do Arduino é simplesmente uma porta serial por usb, mas os dados entram e saem pelos pinos digital 0 e 1 que estão ligados á uart do atmega.
Avr fanboy

Sérgio_Sena

Acrescentando sobre o tópico de isolamento de sinais ::

Quando fiz a minha pedaleira MIDI, para controlar a minha rack da guitarra, em vez de usar um transformador isolado tipo china/dcdc para alimentar a mesma, resolvi usar a alimentação do pré-amplificador, que disponibiliza DC para sistemas exteriores.
Grande erro.

Logo no inicio das utilizações, notei que havia esporádicamente um ZUM-ZUM de fundo que além de se ouvir no PA (extremamente massador se estiver tudo em silêncio entre músicas), me deixava o CPU da pedaleira maluco. Fazia RESETs nesses periodos, saltava a execução do código... enfim... uma maluqueira.


Fui dar cabo daquilo, até pensava que era do Firmware, filtrei a alimentação... ele foi bobines, ele foi chokes... ele foi condensadores..., melhorou mas não resolveu.
Encontrei o problema no GND, em ruido induzido e propagado.
O GND está interligado algures ao TERRA da rack, e há circulação de correntes parasíticas e EMI por todo o lado, especialmente quando há muita carga indutiva na rede AC onde a rack está ligada. Nem com as filtragens conseguia dar cabo daquilo totalmente.

Cortei a alimentação DC do cabo MIDI, liguei um transformador china a alimentar a pedaleira, e resolvi o problema. A informação é transmitida com opto-isolador, e funciona maravilha.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

diogo0880

Fogo granda confusão que isto é para mim :o
Tenho de tentar perceber por partes...

1º - A ligação como eu tinha pensado não é possivel certo? (o arduino enviar o sinal do piano por usb)

2º - Não percebi bem onde entre esse tal circuito optico :o

E, definitivamente, não percebi como hei de fazer a ligação :-\


Desculpem a "noobisse"  :-X

tcustodio

Quote from: diogo0880 on 30 de July de 2011, 01:51
1º - A ligação como eu tinha pensado não é possivel certo? (o arduino enviar o sinal do piano por usb)
sim, é possível... A porta usb do arduino é apenas um adaptador usb-porta série, ligado à porta série do ATmega328 que está no arduino (pinos 0 e 1). Como o arduino apenas vai enviar dados para o computador, e segundo as ideias aqui partilhadas, o canal TX da porta série do arduino vai servir para enviares os dados para o computador e sobra-te assim o canal RX. Com o canal RX podemos receber os dados midi do teclado.
Resumindo: Teclado -> RX -> Arduino -> TX -> USB -> Computador.
Quote
2º - Não percebi bem onde entre esse tal circuito optico :o
O optoisolador vai ''isolar electricamente'' a comunicação entre o teclado e o arduino, como já foi dito. Consiste apenas de um chipzito que compras facilmente (acho que é o 4N35) e uma resistência associada. Não tem nada de muito complicado. Se pesquisares sobre optoisoladores rapidamente perceberás como funcionam.
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.