#include "pitches.h"
#define NO_SOUND 0
int melodia[] = {NOTE_D6,NOTE_A5,NOTE_A5,NOTE_D6,NOTE_D6,NOTE_E6,NOTE_E6,NOTE_F6,NOTE_F6,NOTE_E6,NOTE_E6,NOTE_D6,NOTE_D6,NOTE_E6,NOTE_E6,NOTE_C6,NOTE_G5,NOTE_G5,NOTE_C6,NOTE_C6,NOTE_D6,NOTE_D6,NOTE_E6,NOTE_E6,NOTE_D6,NOTE_D6,NOTE_C6,NOTE_C6,NOTE_E6,NOTE_E6,NOTE_C6,NOTE_C6,NOTE_D6,NOTE_A5,NOTE_A5,NOTE_D6,NOTE_D6,NOTE_E6,NOTE_E6,NOTE_F6,NOTE_F6,NOTE_E6,NOTE_E6,NOTE_D6,NOTE_D6,NOTE_E6,NOTE_E6,NOTE_C6,NOTE_G5,NOTE_G5,NOTE_C6,NOTE_C6,NOTE_D6,NOTE_D6,NOTE_E6,NOTE_E6,NOTE_D6,NOTE_D6,NOTE_C6,NOTE_C6,NOTE_E6,NOTE_E6,NOTE_C6,NOTE_C6,NOTE_A5,NOTE_A5,NOTE_E5,NOTE_E5,NOTE_A5,NOTE_A5,NOTE_B5,NOTE_B5,NOTE_C6,NOTE_C6,NOTE_B5,NOTE_B5,NOTE_A5,NOTE_A5,NOTE_B5,NOTE_B5,NOTE_A5,NOTE_A5,NOTE_D5,NOTE_D5,NOTE_G5,NOTE_G5,NOTE_A5,NOTE_A5,NOTE_B5,NOTE_B5,NOTE_A5,NOTE_A5,NOTE_G5,NOTE_G5,NOTE_B5,NOTE_G5,NOTE_A5,NOTE_A5,NOTE_E5,NOTE_E5,NOTE_A5,NOTE_A5,NOTE_B5,NOTE_B5,NOTE_C6,NOTE_C6,NOTE_B5,NOTE_B5,NOTE_A5,NOTE_A5,NOTE_B5,NOTE_B5,NOTE_F5,NOTE_F5,NOTE_D5,NOTE_D5,NOTE_F5,NOTE_F5,NOTE_A5,NOTE_A5,NOTE_G5,NOTE_G5,NOTE_F5,NOTE_F5,NOTE_G5,NOTE_F5} ;
int tempoNot[] = { 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 , 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4};// Duração d Not: Colcheia:8; Semínima: 4; Mínima:2; Semibreve:1
const int compso = 550; // Altera o compso da música
void setup() {
for (int Nota = 0; Nota < 128; Nota++) {//o número 80 indica quant not tem a nossa matriz.
int tempo = compso/tempoNot[Nota]; //Tempo = compso dividido pela indicação da matriz tempoNot.
tone(2, melodia[Nota],tempo); //Toca a nota indicada pela matriz melodia durante o tempo.
// Para distinguir not adicionamos um tempo entre elas (tempo da nota + 20%).
delay(tempo*1.2);
}
}
void loop(){
//Não é necessária a repetição pois a mesma será feita pelo botão Reset.
}