collapse

* Links de Robótica

* Posts Recentes

Palavras Cruzadas por Hugu
[Hoje às 00:54]


[Projecto] Bomba Airsoft por jm_araujo
[Ontem às 16:54]


Apresentação por Tech_JA
[Ontem às 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]

Autor Tópico: Detectar Bass com Arduino  (Lida 5937 vezes)

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

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Detectar Bass com Arduino
« em: 21 de Agosto de 2012, 16:15 »
Boas,

Gostava de montar um circuito onde se ligava uma saída de áudio (vinda do PC, telemóvel, MP3, etc) e que enviava um sinal para uma entrada analógica do Arduino com o nível de bass do som. Seria também interessante ter uma saída para médios e agudos do som, mas não é necessário.
Já estive à procura e encontrei isto:
http://arduino.cc/forum/index.php?topic=50021.0
Gostava de saber se essa é a melhor maneira de fazer isto.
Também encontrei outros que ligavam directamente os fios da saída áudio ao arduino, mas como este é um sinal AC, penso que pode estragar o arduino.

A minha ideia é depois controlar LEDs RGB com as saídas PWM do arduino (e com transístores para poder controlar vários com as mesmas saídas), consoante o sinal recebido.

Se me poderem dar uma ajuda, agradeço.  :)

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Detectar Bass com Arduino
« Responder #2 em: 21 de Agosto de 2012, 16:30 »
Exato, seria como o spectrum analyser mas apenas me interessa uma das barras.
O esquema que se encontra nesse tópico é apenas para o VU meter certo?

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re: Detectar Bass com Arduino
« Responder #3 em: 21 de Agosto de 2012, 16:57 »
Exato, seria como o spectrum analyser mas apenas me interessa uma das barras.
O esquema que se encontra nesse tópico é apenas para o VU meter certo?

Vou ser sincero e não fui ver, mas suponho que o esquema sirva para os dois, apenas muda a maneira como analisas o sinal :)

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.920
Re: Detectar Bass com Arduino
« Responder #4 em: 21 de Agosto de 2012, 17:17 »
Podes colocar um sinal analógico na entrada de ADC do arduino.
Para isso basta um divisor de tensão directamente no pino analógico do arduino e nessa entrada fica uma resistência em série com um condensador (1k..10K-1uF).

Como só precisas dos sinais graves, um filtro passa baixo de 2ª ordem serve perfeitamente, não é necessário um analisador de espectro de áudio.

obs: na análise do sinal, deve-se fazer várias leituras e verificar qual delas foi a mais alta, esse é o valor a aproveitar para a aplicação.
« Última modificação: 21 de Agosto de 2012, 17:27 por dropes »

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Detectar Bass com Arduino
« Responder #5 em: 21 de Agosto de 2012, 17:25 »
Podes colocar um sinal analógico na entrada de ADC do arduino.
Para isso basta um divisor de tensão directamente no pino analógico do arduino e nessa entrada fica uma resistência em série com um condensador (1k..10K-1uF).

Como só precisas dos sinais graves, um filtro passa baixo de 2ª ordem serve perfeitamente, não é necessário um analisador de espectro de áudio.
Será que podias explicar um pouco melhor? É que eu percebo pouco disto...
Seria algo deste tipo?:
http://en.wikipedia.org/wiki/Voltage_divider#Low-pass_RC_filter
Ou isto?:
http://en.wikipedia.org/wiki/Voltage_divider#Resistive_divider
e um condensador no Vout?

E não é preciso nenhum IC ou transistor?

Obrigado

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.920
Re: Detectar Bass com Arduino
« Responder #6 em: 21 de Agosto de 2012, 17:32 »
Um filtro passivo não é muito bom para filtragem de frequências, a largura de banda é demasiado grande.
Existem imensos circuitos com amp-op de 2º ordem exe: http://elektron.no.sapo.pt/filtropassabaixo.html

Só agora reparei no divisor de tensão... já coloco aqui o circuito completo
« Última modificação: 21 de Agosto de 2012, 17:36 por dropes »

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Detectar Bass com Arduino
« Responder #7 em: 21 de Agosto de 2012, 17:50 »
Estive a ver essa página e esse circuito tem uma frequência de corte de 1 kHz, que já é agudo.
Queria algo nos 100Hz.

Encontrei esta ferramenta para calcular esse tipo de circuitos:
http://sim.okawa-denshi.jp/en/OPstool.php
O circuito é parecido com esse que deste, mas não tem duas das resistências. E que IC é esse?

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.920
Re: Detectar Bass com Arduino
« Responder #8 em: 21 de Agosto de 2012, 18:02 »
Sim o circuito é esse mesmo, o IC pode ser qualquer um de baixa potência, nesse esquema a alimentação é simétrica.


link da imagem: http://img534.imageshack.us/img534/5416/pbaixo.png

O filtro que fiz foi baseado nos valores dos componentes anteriores e ficou +-1KHz, para 100Hz o condensador de 10nF passa para 100nF e o de 22nF passa para 220nF (já simulado)

A entrada de áudio é no fio verde e a saída directa para o arduino é o azul.

ps: tens multisim?
« Última modificação: 21 de Agosto de 2012, 18:06 por dropes »

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Detectar Bass com Arduino
« Responder #9 em: 21 de Agosto de 2012, 18:14 »
Sim o circuito é esse mesmo, o IC pode ser qualquer um de baixa potência, nesse esquema a alimentação é simétrica.


link da imagem: http://img534.imageshack.us/img534/5416/pbaixo.png

O filtro que fiz foi baseado nos valores dos componentes anteriores e ficou +-1KHz, para 100Hz o condensador de 10nF passa para 100nF e o de 22nF passa para 220nF (já simulado)

A entrada de áudio é no fio verde e a saída directa para o arduino é o azul.
Obrigado.
Sabes se dá para usar um LM358N (tenho um) ou um LM368N (são mais fáceis de arranjar e ontem pedi sample, para ver se eles enviam...)?
E não percebi bem esse circuito... Parece que tem 2 ou 3 entradas. :-\

ps: tens multisim?
Não, mas se for preciso posso arranjar.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.920
Re: Detectar Bass com Arduino
« Responder #10 em: 21 de Agosto de 2012, 18:22 »
O LM358 (duplo amp) funciona, em relação ao LM368 não é um amp-op, será LM386?
O LM386 também funciona, tem saída de baixa impedância e não é dos mais adequados.

O esquema foi desenhado um pouco à pressa mas posso fazer algo mais aceitável se preferires, eagle?

ps: Os instrumentos que estão no circuito são apenas de controle, gerador de funções, bode plotter e osciloscópio.
« Última modificação: 21 de Agosto de 2012, 18:26 por dropes »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.390
  • Helpdesk do sitio
Re: Detectar Bass com Arduino
« Responder #11 em: 21 de Agosto de 2012, 18:24 »
Eu tenho um esquema  no tópico que já te deram um link, é logo das primeiras imagens, é bastante simples e funciona.
Avr fanboy

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Detectar Bass com Arduino
« Responder #12 em: 21 de Agosto de 2012, 18:32 »
O LM358 (duplo amp) funciona, em relação ao LM368 não é um amp-op, será LM386?
O LM386 também funciona, tem saída de baixa impedância e não é dos mais adequados.
Sim, queria dizer LM386. Mas se o LM358 funciona e já tenho um, melhor. :)
Dá para ter dois filtros no mesmo LM358, visto ser duplo amp...?

O esquema foi desenhado um pouco à pressa mas posso fazer algo mais aceitável se preferires, eagle?
Se poderes fazer uma coisa fácil de perceber, agradeço. Eagle serve. E podes-me dizer como simulas isso? Assim se quiser fazer uma alteração para outro frequência, posso fazer isso eu próprio.

Eu tenho um esquema  no tópico que já te deram um link, é logo das primeiras imagens, é bastante simples e funciona.
Já tinha visto mas como é para um VU meter, penso que aceita desde baixas frequências até as altas. E eu queria era um low-pass filter, para detetar apenas os graves.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.390
  • Helpdesk do sitio
Re: Detectar Bass com Arduino
« Responder #13 em: 21 de Agosto de 2012, 18:40 »
O filtro passa baixo implementas em software, que tanto te fica mais barato como é mais flexivel.
E um filtro passa-baixo é tão simples como meteres uma resistencia e condensador á saida do circuito.
Avr fanboy

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.920
Re: Detectar Bass com Arduino
« Responder #14 em: 21 de Agosto de 2012, 18:45 »
O filtro passa baixo implementas em software, que tanto te fica mais barato como é mais flexivel.
E um filtro passa-baixo é tão simples como meteres uma resistencia e condensador á saida do circuito.

Não podes colocar um sinal analógico directamente no arduino sem divisor de tensão.
Estive a ver o esquema que colocaste e não é um passa banda, não consegui compreender bem o uso dos díodos.
Concordo no uso de uma resistência e condensador já que a finalidade não é de grande rigor (após ter visto agora o vídeo).
Claro que dá para fazer um filtro passa-baixo por software, existem exemplos disso para arduino?