LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: Raul em 02 de Março de 2010, 22:46

Título: Usar arduino para criar musica(usando um buzzer)
Enviado por: Raul em 02 de Março de 2010, 22:46
Boa Noite a todos.
Acho que quem devia ter o direito de fazer este tópico é o Senhor Microbyte, sem ajuda dele não teria as bases.
Vou colocar a perguntas que lhe fiz e as respectivas respostas.

Citação de: Raul
   
Citar
Eu queria fazer um projecto que tivesse tocasse a musica de anos, como o teu que toca a musica de natal, se é possível me arranjares o site onde obtiveste o teu para eu procurar a musica de anos sff



Bem, eu usei a biblioteca Tone.
http://code.google.com/p/arduino-tone/ (http://code.google.com/p/arduino-tone/)
Do lado direito tens links para páginas que têm os códigos de músicas conhecidas, de certeza k encontras a música dos anos.

Citação de: Raul

   
Citar
E que tipo de buzzer me aconselhas a comprar?



Eu usei um "Piezzo" (ou "piezzo element") e penso que é para esses componentes k a biblioteca foi feita, pelo que é o que deves usar.

[color=]Citação de: Raul[/color]
Citar
Mais uma pergunta se existe algum problema tocar musica e trabalhar com leds ( com delays) se altera o ritmo da musica?

Desde que não coloques delays(), podes fazer tudo.
Se vais ligar os LEDs no circuito da música, deves querer pô-los a piscar ao som da música. Eu cheguei a fazer isso, depois de veres o código, tiras facilmente a função que executa a cada nova nota da música e é uma questão de meteres um contador a incrementar (até X combinações de LEDs diferentes).

Por exemplo, imagina que querias alternar entre 2 LEDs ao som da música:
crias um contador como variável global:
int counter = 0;

e na tal função que é executada a cada nova nota na música, incrementas esse valor, mas como só tens 2 combinações diferentes, metes um "reset":
counter++;
if(counter > 2) counter = 1;

Assim o teu contador vai apenas tomar o valor 1 e 2.
Depois na main, metes as condições para as combinações (vais ter 2 aqui):
switch(counter){
  case 1 : digitalWrite(led1, HIGH); digitalWrite(led2, LOW); break;
  case 2 : digitalWrite(led1, LOW); digitalWrite(led2, HIGH); break;
}


Acho que percebeste a ideia. Agora é uma questão de fazeres as combinações que queres...

Só uma curiosidade. A própria função digitalWrite() provoca um atraso (cerca de 4 useg). Não é muito quando se executa meia dúzia de vezes, pelo que não te deve dar grandes dores de cabeça. Mas se executasses muitas, és capaz de notar um atraso na música.


Tenho a agradecer ao MicroByte.
Mais tarde irei colocar o circuito e o meu projecto.
Título: Re: Usar arduino para criar musica(usando um buzzer)
Enviado por: microbyte em 02 de Março de 2010, 22:59
Quero ver uma disco completa. Música e luzes ;)

Força nisso... Mete aí as dúvidas que fores tendo, nós vamos ajudando.
Título: Re: Usar arduino para criar musica(usando um buzzer)
Enviado por: tcustodio em 02 de Março de 2010, 23:46
Era o que iria alertar, a função delay() paraliza-te o arduino durante X tempo, logo não poderias executar mais nada enquanto tocavas a música.
Por uma questão de conveniência, usaria as novas funções Tone que já vêm no IDE do arduino, versão 18, mas não sei se são bloqueantes ou não (se podes executar mais alguma coisa enquanto cada nota toca),
Já usei a biblioteca Tone que o microbyte te indicou e pareceu-me ser fácil de usar também.
Quanto ao buzzer, tenta procurar um que funcione entre os 4V e os 20V (se não encontrares os valores discriminados não te preocupes, deve dar na mesma ;)) digo isto porque tenho uns que só dão até 1.5V

Boa sorte ;)
Título: Re: Usar arduino para criar musica(usando um buzzer)
Enviado por: RicardoSantos em 18 de Maio de 2010, 05:59
É possivel fazer isto usando este BUZZER - PC MOUNT 12MM 2.048KHZ certo?
Título: Re: Usar arduino para criar musica(usando um buzzer)
Enviado por: microbyte em 18 de Maio de 2010, 09:53
É possivel fazer isto usando este BUZZER - PC MOUNT 12MM 2.048KHZ certo?
Respondo-te com um quote:
Quanto ao buzzer, tenta procurar um que funcione entre os 4V e os 20V (se não encontrares os valores discriminados não te preocupes, deve dar na mesma ;)) digo isto porque tenho uns que só dão até 1.5V

As dimensões não interessam, tens é de ver as especificações.
Título: Re: Usar arduino para criar musica(usando um buzzer)
Enviado por: RicardoSantos em 19 de Maio de 2010, 03:28
Sei eu sei eu só meti aquelas indicações porque eram as que estava na loja...
O que queria dizer era que tava a falar do buzzer que está à venda na loja LusoRobótica...

E sim o buzzer funciona =)
Título: Re: Usar arduino para criar musica(usando um buzzer)
Enviado por: Jay_OR em 11 de Julho de 2010, 23:55
Espero não estar a dizer nenhuma asneira, mas eu usei o buzzer de um nokia 3330, e liguei-o no arduino e consegui ouvir sem problemas o programa CIRC-06 que esta no ARDX-EG-SPAR-WEB (http://www.sparkfun.com/tutorial/AIK/ARDX-EG-SPAR-WEB.pdf).

Por isso quem quiser um buzzer baratinho, basta abrir ai um telemóvel velho que tenha por casa.
(Já que aproveitei o mesmo 3330 para tirar o LCD para também ligar ao arduino xD)