No site Mundo Projetado há um código que simplifica e facilita bastante o processo de tocar uma música com Arduino.
Figura 01 - Diagrama para teste |
O que você precisa fazer é colocar as notas, em ordem, da musica que você deseja tocar na variável musica que fica no início do programa. E, no fim da variável, escrever “Fim”. As notas disponíveis são: Do, Re, Mi, Fa, Sol, La, Si, Do#, Re#, Fa#, Sol# e La#. Não use acentos para escrever as notas e escreva a primeira letra maiúscula e a segunda minuscula. E caso exista uma pausa entre as notas, basta escrever “Pausa”.
Exemplo: se a música possui as notas Dó, Ré#, Mi, uma pausa e a nota Fa nessa ordem, eu devo escrever: char* musica[] = {“Do”,”Re#”,”Mi”, “Pausa”, “Fa”, “Fim”};
Logo depois defina, também em ordem, o tempo – em ms – de cada nota e da pausa na variável duracao. O tempo segue a ordem respectiva da variável música: o primeiro numero é a duração da primeira nota, o segundo nº da segunda nota e por aí vai. E o tempo também define a duração da pausa.
Pegando o mesmo exemplo anterior, a variável poderia ficar assim: int duracao[] = {200, 300, 400, 100, 300};
Observe que a pausa foi de 100ms. Feito isso, resta apenas configurar o pino do buzzer: char buz = 2;
Agora é só criar sua melodia e fazer o teste. Se você quiser ouvir a marcha imperial que tem na programação, comente a linha “tocar(musica,duracao);” e descomente a linha “tocar(starwars,dur);”.
Arquivo do código fonte - Musica com Arduino está disponível em: 21_01_03_Musica_com_Arduino_SRG (PDF)
© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 21/02/2021
Nenhum comentário:
Postar um comentário