========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);
}