========Música com Buzzer========= Além das aplicações usuais de um Arduino, como uma ferramenta de prototipagem, podemos utilizá-lo para o desenvolvimento de instrumentos mais simples. Um exemplo disso é a criação de uma caixa de som. =====Lógica===== Para isso devemos utilizar uma função própria do Arduino, a qual chama-se //**tone()**//. Ela consegue gerar ondas em frequências específicas nos pinos de [[programacao-arduino:pwm|PWM]] e, com isso, gerar notas musicais. Essa função possui dois modos de utilização com 2 parâmetros - //**tone(pino, frequência)**// - ou três - //**tone(pino, frequência, duração)**//. Além dela, temos a função //**noTone(pino)**// que interrompe a geração da onda. =====Circuito===== Além disso, necessitamos criar um circuito utilizando um Buzzer. Ligue o polo positivo do buzzer em alguma saída geradora de onda e a outra ponta no GND. Para evitar que o buzzer possa queimar, recomenda-se a utilização de um resistor no polo positivo do buzzer. Abaixo se encontra uma figura esquemática do circuito, utilizando o pino 9 e um resistor de 100 Ω: // {{ :programacao-arduino:buzzer.png?350 |}} // =====Código===== Para a implementação, precisamos saber qual é a frequência das notas que você utilizará na sua canção. Abaixo se encontra uma tabela com algumas notas que utilizaremos nesse exemplo: ^ Nota ^ Frequência ^ | Dó | 262 | | Ré | 294 | | Mi | 330 | | Fá | 349 | | Sol | 392 | | Lá | 440 | | Si | 494 | Outras notas: [[http://www.das.inpe.br/~alex/FisicadaMusica/fismus_escalas.htm| As escalas musicais]]. // // Abaixo se encontra um código que reproduz a musica tema de Game of Thrones: // // #define Do 262 #define Re 294 #define Mi 330 #define Fa 349 #define Sol 392 #define La 440 #define Si 494 #define Pausa 0 char buz = 9; //pino conectado no buzzer void setup(){ pinMode(buz, OUTPUT); // seta o pino como saída } void loop(){ //O primeiro parâmetro representa a frequência, já o segundo, a duração tone(La,500); tone(Re,300); tone(Fa,250); tone(Sol, 250); tone(La, 250); tone(Re, 300); tone(Fa, 200); tone(Sol, 200); tone(Mi, 700); tone(Pausa, 200); tone(Sol, 500); tone(Do, 500); tone(Fa, 200); tone(Mi,200); tone(Sol,200); tone(Do,500); tone(Fa,200); tone(Mi,200); tone(Re,500); }