LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado 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
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
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]
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.
-
Quero ver uma disco completa. Música e luzes ;)
Força nisso... Mete aí as dúvidas que fores tendo, nós vamos ajudando.
-
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 ;)
-
É possivel fazer isto usando este BUZZER - PC MOUNT 12MM 2.048KHZ certo?
-
É 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.
-
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 =)
-
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)