Franzininho DIY – Instrumento musical com Buzzer

Introdução

Nesse exemplo vamos criar um programa que lê uma partitura e toca a música escrita através de um buzzer na Franzininho DIY. Vamos aprender como se usar um buzzer passivo para gerar cada nota musical com ajuda do timer0.

Boa prática!

Recursos necessários

  • Franzininho DIY (com Micronucleus)
  • 1 buzzer passivo 5V
  • 4 jumpers macho-fêmea
  • 1 jumper macho-macho

Fazendo música com o Buzzer

Nesse exemplo vamos através de uma lookup table vamos ensinar quais as frequências de cada nota, e com o uso do timer vamos variar a entrada no buzzer na frequência da nota que queremos. Com a ajuda de outra tabela, vamos dar para o Franzininho a sequência das notas que queremos que ele toque, podendo assim, tocar a música que quisermos.

O buzzer passivo funciona como um pequeno alto falante, enquanto tivermos a tensão nominal na entrada positiva e o terra na entrada negativa o imã dentro dele vai para frente. Por outro lado, quando tivermos terra em ambas ele volta para a posição inicial. Se variarmos entre esses dois estados na frequência de uma nota musical geraremos uma onda sonora com o tom dela.

As notas musicais ocidentais em uma escala maior são Do Do# Re Re# Mi Fa Fa# Sol Sol# Lá Lá# Si voltando para Do depois. Cada nota está a uma distância de meio tom da outra e a 6 tons de sua próxima oitava, que é a mesma nota porém mais fina.

Olhando pela frequência temos que partindo de da terceira oitava, 440Hz, cada uma oitava acima tem o dobro da frequência e cada oitava a baixo tem metade da frequência. Já para subir cada semitom, basta multiplicar por 2^(1/12), ou para x semitons, 2^(x/12).

Código

Código disponível em: https://github.com/Franzininho/exemplos-avr-libc/tree/main/exemplos/buzzer

Montagem

circuito buzzer

Dependendo do buzzer é necessário conectar os jumpers diretamente nos pinos do buzzer ao invés de colocá-lo na protoboard.

Compilação e upload

Para compilar o programa, acesse a pasta do exemplo e dê o comando make:

Como já temos o makerfile configurado na pasta, será feita compilação e deve aparecer a seguinte mensagem:

Conecte a placa em uma entrada USB ou, caso a Franzininho já esteja conectada, aperte o botão de reset para iniciar o upload.

Resultado

O buzzer deve tocar Parabéns para você e deve continuar em loop até a placa ser desligada.

Conclusão

O buzzer passivo é um componente muito versátil com o qual podemos, não só, tocar músicas como também gerar diversos tipos de efeitos sonoros, tudo que precisamos é entender como gerar o som que queremos. Além disso vimos como podemos usar interrupções de timer para funções que precisam de Real Time, ou seja, que precisam de precisão de tempo.

Glossário

  • Setar: colocar um novo valor em um registrador. Para um bit é convencionado setar, mudá-lo para valor 1, e clear (limpar), mudá-lo para valor 0
  • Resetar: reiniciar
  • Timer: circuito eletrônico dedicado a contagem de tempo
  • Lookup table: tabela de consulta, no contexto de programação é um vetor com informações necessárias para o programa.

Outros artigos da série

<< Franzininho DIY – Contador de pulsos externosFranzininho DIY – Timer0 >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Home » Software » Franzininho DIY – Instrumento musical com Buzzer
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries

[vc_widget_sidebar sidebar_id=”us_widget_area_series”]
Menu