Músicas para Arduino

Um dos posts mais populares no Dragão é o post com a marcha imperial, música tema de Darth Vader, em estilo 8 bits  para Arduino. Esse é um projeto bem simples e só precisa de um buzzer piezo. É difícil encontrar algumas músicas para Arduino, então resolvi uma coleção de músicas para Arduino em uma mesmo lugar.

Recentemente tenho me interessado bastante em música, e por isso comecei a aprender a ler partituras. Portanto, pensei que seria um bom exercício adaptar algumas partituras para Arduino. Escrevi os códigos com alguns detalhes em mente.

  • Códigos compatíveis com todas ou quase todas as placas Arduino;
  • Sem necessidade de instalação de bibliotecas;
  • De fácil modificação e entendimento.

Para isso utilizei apenas a função tone(), que faz parte da linguagem.  A função tone() é capaz de gerar apenas um tom em apenas um pino por vez. Bibliotecas como a Tone library permitem gerar mais formas de ondas, mas utilizam timers específicos de alguns microcontroladores, o que causa incompatibilidade com muitas placas. Isso implica que os códigos aqui são monofônicos, isto é, apenas uma nota pode ser tocada de cada vez.

Update: Para saber como programo os sketches a partir das partituras, veja o outro post a respeito.

Músicas

Até o momento foram programadas as seguintes músicas:

Filmes / TV

Jogos

Clássicas

Outras

Exemplo

Como exemplo vamos utilizar a música do jogo Tetris.  Basta copiar o código na IDE do Arduino e conectar um buzzer ao pino 11 da sua placa arduino, ou então conectar em qualquer pino e editar o valor da variável buzzer de acordo.

Estando o piezo conectado a placa, basta adicionar o código com a música desejada na IDE e gravar no Arduino. A variável tempo pode ser mudada para fazer a música tocar mais rápido ou mais devagar, enquanto a variável buzzer contém o número do pino a qual o piezo é conectado. O vetor melody contém cada nota da música seguida da duração da mesma.

Depois de gravado o sketch, o arduino irá tocar a musica. O código do setup() pode ser tranferido para o loop() caso queira-se que a música se repita.

Por enquanto é isso. Tenho em mente de fazer um post sobre o processo que uso para “converter” as músicas da partitura para o arduino, mas isso fica para depois :). Edit: Link do post com o tutorial.

Obrigado pela leitura e até o próximo post o/

Robson Couto

Recentemente graduado Engenheiro Eletricista. Gosto de dedicar meu tempo a aprender sobre computadores, eletrônica, programação e engenharia reversa. Documento meus projetos no Dragão quando possível.

6 thoughts to “Músicas para Arduino”

  1. Olá, tudo bom?
    Parabéns pelos trabalhos! É um projeto mais legal que o outro.
    Estou tentando (e tendo dificuldade no código) para colocar 3 botões e quando acionar cada um deles o buzzer tocar uma música diferente.
    tem alguma dica ou mesmo código para me ajudar?
    Desde já agradeço :)

Leave a Reply

Your email address will not be published. Required fields are marked *