Música! Segundo a wikipedia é a “combinação harmoniosa e expressiva de sons“, ou “forma de arte que se constitui na combinação de vários sons e ritmos“, é o tema do artigo de hoje: vamos aprender a reproduzir sons apenas com o Arduino UNO e um Buzzer baratinho.
   Na própria IDE do Arduino existem quatro exemplos de geração de sons, possibilitando até a criação de pequenas músicas (instrumentais). O site oficial do Arduino traz até tutoriais “aulas” com exemplos de  programas, que também veremos aqui hoje.
   Tudo que você precisa para reproduzir sons com Arduino é um pequeno Buzzer como este aqui (visível na imagem acima), que pode ser conectado diretamente ao conector do Arduino UNO através do pino 11. Isto porque o espaçamento dos pinos do buzzer é igual ao espaçamento entre o pino 11 do Arduino e um ponto de GND. Importante notar que auto-falantes não devem ser conectados diretamente ao Arduino, e só estamos conectando este buzzer direto porque a corrente que ele consome é baixa (no máximo 25mA segundo especificação).
 
   Após fazer a conexão física do Buzzer ao Arduino, é hora de começar a fazer barulho, literalmente. Copie e cole o código abaixo na IDE do Arduino, então faça o upload para sua placa e escute a melodia!. Este código reproduz sete frequência diferentes (220Hz, 440Hz, 880Hz, 1760Hz, 3520Hz, 7040Hz, 14080Hz); cada uma por 0,5 segundos, repetidamente e sem parar. 
 void setup() {  
   
 }  
   
 void loop() {  
                    
  // Tocar cada nota (frequencia) por 500mS:  
  tone(11, 220); // sintaxe: (pino, frequencia);  
  delay(500);  
  tone(11, 440);  
  delay(500);  
  tone(11, 880);  
  delay(500);  
  tone(11, 1760);  
  delay(500);  
  tone(11, 3520);  
  delay(500);  
   tone(11, 7040);  
  delay(500);  
   tone(11, 14080);  
  delay(500);  
  // desligar o pino 11; nao ha necessidade, estou usando este comando somente para  
  // demonstrar que e possivel desligar a geracao de som.  
   noTone(11);  
 }  

 

   Alguns detalhes tem que ser observados:
– Repare que cada vez que a função tone() é chamada, você deve definir o pino de saída (no nosso caso, 11) e a frequência. Caso você queira gerar um som em outro pino (que não oque já está gerando som), você deve primeiro chamar a função noTone(NúmeroDoPino) e desligar o pino atual, antes de ligar o próximo.
– A utilização da função tone() interfere na geração de PWM nos pinos 3 e 11 do Arduino UNO.
   O próximo código  de exemplo (abaixo) executa uma pequena música toda vez que o Arduino é energizado ou resetado (e não contiuamente como no exemplo anterior). Isto porque toda a música é gerada no setup(){…} e não no loop(){…}.  Mais explicações sobre esta música são encontrada na página oficial do Arduino.
 // notes in the melody:  
 int melody[] = {  
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4  
 };  
   
 // note durations: 4 = quarter note, 8 = eighth note, etc.:  
 int noteDurations[] = {  
  4, 8, 8, 4, 4, 4, 4, 4  
 };  
   
 void setup() {  
  // iterate over the notes of the melody:  
  for (int thisNote = 0; thisNote < 8; thisNote++) {  
   
   // to calculate the note duration, take one second  
   // divided by the note type.  
   //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.  
   int noteDuration = 1000 / noteDurations[thisNote];  
   tone(11, melody[thisNote], noteDuration);  
   
   // to distinguish the notes, set a minimum time between them.  
   // the note's duration + 30% seems to work well:  
   int pauseBetweenNotes = noteDuration * 1.30;  
   delay(pauseBetweenNotes);  
   // stop the tone playing:  
   noTone(11);  
  }  
 }  
   
 void loop() {  
  // no need to repeat the melody.  
 }  

 

– Para comprar o Buzzer (auto-falante) em nosso Parceiro ICStation (da China), clique no texto: 5v Active Buzzer Continous Beep
– Para comprar o Arduino UNO em nosso Parceiro ICStation (da China), clique no texto: ICStation ATMEGA328 UNO V3.0 R3 Board Compatible Arduino UNO R3
Reproduzindo notas musicais com Arduino + Buzzer
Classificado como:                                        

Uma ideia sobre “Reproduzindo notas musicais com Arduino + Buzzer

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solve : *
14 + 16 =