/**
* \Buzzer_03_melodia_oop
*
* Questo sketch suona una semplice melodia utilizzando un buzzer.
*
* https://wokwi.com/projects/389619172949739521
* https://github.com/filippo-bilardo/ROBOTICA/tree/main/Buzzer
*
* @author Filippo Bilardo
* @version 1.0 19/03/25 versione iniziale
*/
#include <Arduino.h>
#include "Buzzer.h"
// Definizione delle note e dei ritmi
const int MarioN[] = { NOTE_E7, NOTE_E7, 0, NOTE_E7, 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0,
NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, 0, NOTE_G6, NOTE_E7, NOTE_G7,
NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0,
NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 0,
0 };
const int MarioD[] = { 12, 12, 12, 12, 12, 12, 6, 6, 6, 6, 6, 6, 18, 18, 12, 12,
12, 12, 12, 12, 18, 18, 18, 18, 18, 18, 12, 12, 18, 18, 18, 18, 12, 12, 12, 12,
12, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 };
const int HappyBirthdayN[] = { NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_C5, NOTE_B4, 0,
NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_D5, NOTE_C5, 0,
NOTE_G4, NOTE_G4, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_B4, NOTE_A4, 0,
NOTE_F5, NOTE_F5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_C5 };
const int HappyBirthdayD[] = { 4, 4, 8, 8, 8, 16, 2,
4, 4, 8, 8, 8, 16, 2,
4, 4, 8, 8, 8, 8, 4, 2,
4, 4, 8, 8, 8, 8 };
// Pin dove è collegato il buzzer
const int BUZZER_PIN = 15;
// Istanzia un oggetto Melodies
Buzzer buzzer(BUZZER_PIN);
void setup() {
// Inizializzazione
Serial.begin(9600);
// Esegui il tema di Mario
buzzer.playMelody(MarioN, MarioD, sizeof(MarioN)/sizeof(int));
// Attendere 2 secondi tra le melodie
delay(2000);
// Esegui Happy Birthday
buzzer.playMelody(HappyBirthdayN, HappyBirthdayD, sizeof(HappyBirthdayN)/sizeof(int));
}
void loop() {
}