Gerando melodia com o Arduino

Gerando melodia com o Arduino

02/03/2016 Bruno Piske 1 min de leitura

Com a função tone do Arduino, é possível reproduzir qualquer melodia que desejar. Esta função tem como princípio gerar um sinal PWM no pino definido no chamado desta função.

A função tone recebe os seguintes parâmetros: tone(pino, frequência, duração);.

Quando chamada, esta função irá gerar um sinal PWM na frequência e pelo tempo definido nos parâmetros passados. A frequência é definida em hertz e o tempo em milissegundos.

Como exemplo, as notas da oitava principal na escala musical, são reproduzidas nas seguintes frequências:

(Dó) C = 261 (Ré) D = 294 (Mi) E = 329 (Fá) F = 349 (Sol) G = 391 (Lá) A = 440 (Si) B = 466

A partir destas informações, é possível construir rotinas com a sequência de notas e tempos para reprodução de qualquer melodia. Vale lembrar porém, que o Arduino é limitado a reprodução apenas de um sinal PWM de cada vez.

Abaixo segue um exemplo de como este recurso pode ser aplicado num projeto, por exemplo, reproduzir um hit ícone da cultura nerd, SUPER MARIO Bros. tema original da Nintendo:

Montagem do arduino com  o alto falante no protoboard:

Esquema Ligacao_bb

Para o alto falante, pode ser utilizado um buzzer, destes encontrados em relógios despertadores.

Fiz um pequeno vídeo mostrando o funcionamento, espero que gostem!