// Pin del buzzer
const int buzzerPin = 27;
// Definizione delle note
#define NOTE_MI5 659
#define NOTE_RE5d 622 // RE# (RE diesis)
#define NOTE_MI4 330
#define NOTE_RE4d 311 // RE# (RE diesis)
#define NOTE_SI4 494
#define NOTE_RE5 587
#define NOTE_DO5 523
#define NOTE_LA4 440
#define NOTE_DO4 262
#define NOTE_SOL4 392
#define NOTE_FA4 349
#define NOTE_LA3 220
#define NOTE_SOL3 196
// Durata delle note
const int quarterNote = 200*4; // semininima
const int eighthNote = 100*4; // croma
const int sixteenthNote = 50*4; // semicroma
const int halfNote = 400*4; // minima
const int wholeNote = 800*4; // semibreve
void setup() {
pinMode(buzzerPin, OUTPUT);
}
// Prima parte: "Jingle bells, jingle bells"
void playPartOne() {
// "Jin-gle"
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
// "bells"
tone(buzzerPin, NOTE_MI5, halfNote);
delay(halfNote);
// Ripete "Jin-gle bells"
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, halfNote);
delay(halfNote);
}
// Seconda parte: "Jingle all the way"
void playPartTwo() {
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_SOL4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_DO5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_RE5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, wholeNote);
delay(wholeNote);
}
// Terza parte: "Oh what fun..."
void playPartThree() {
tone(buzzerPin, NOTE_FA4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_FA4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_FA4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_FA4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_FA4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, eighthNote);
delay(eighthNote);
tone(buzzerPin, NOTE_MI5, eighthNote);
delay(eighthNote);
}
// Quarta parte: finale
void playPartFour() {
tone(buzzerPin, NOTE_MI5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_SOL4, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_DO5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_RE5, quarterNote);
delay(quarterNote);
tone(buzzerPin, NOTE_MI5, wholeNote);
delay(wholeNote);
}
void loop() {
// Suona la composizione completa
playPartOne();
delay(100);
playPartTwo();
delay(100);
playPartThree();
delay(100);
playPartFour();
// Pausa prima di ripetere
delay(2000);
}