collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Usar arduino para criar musica(usando um buzzer)  (Lida 10081 vezes)

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

Offline Raul

  • Mini Robot
  • *
  • Mensagens: 185
Usar arduino para criar musica(usando um buzzer)
« 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/
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.

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Usar arduino para criar musica(usando um buzzer)
« Responder #1 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.

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Re: Usar arduino para criar musica(usando um buzzer)
« Responder #2 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 ;)
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline RicardoSantos

  • Mini Robot
  • *
  • Mensagens: 65
Re: Usar arduino para criar musica(usando um buzzer)
« Responder #3 em: 18 de Maio de 2010, 05:59 »
É possivel fazer isto usando este BUZZER - PC MOUNT 12MM 2.048KHZ certo?

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Usar arduino para criar musica(usando um buzzer)
« Responder #4 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.

Offline RicardoSantos

  • Mini Robot
  • *
  • Mensagens: 65
Re: Usar arduino para criar musica(usando um buzzer)
« Responder #5 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 =)

Offline Jay_OR

  • Mini Robot
  • *
  • Mensagens: 28
  • UA-TM & UBI-TSI
Re: Usar arduino para criar musica(usando um buzzer)
« Responder #6 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.

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)