/* CVO De Verdieping: Arduino
We gaan een melodie genereren met de Arduino als op de knop gedrukt wordt
Sketch: Muziekdoosje
Oefening 8
Houtmeyers Patrick
2023 - 2024
*/
#include "melodie.h"
// CONSTANTEN
const int KNOP_PIN = 2;
const int PIEZO_PIN = 10;
// Twinkel, twinkel
const int BPM = 180;
const char MELODIE[] = {"1c.1c.1g.1g.1a.1a.2g.1f.1f.1e.1e.1d.1d.2c."};
//Menuet in G - Bach
//const int BPM = 250;
//const char MELODIE[] = {"2d+1g.1a.1b.1c+2d+2g.2g.2e+1c+1d+1e+1F+2g+2g.2g.2c+1d+1c+1b.1a.2b.1c+1b.1a.1g.2F.1g.1a.1b.1g.2b.2a."};
//Fur Elise
//const int BPM = 200;
//const char MELODIE[] = {"1e+1D+1e+1D+1e+1b.1d+1c+4a.1c.1e.1a.4b.1e.1G.1b.4c+1e.1e+1D+1e+1D+1e+1b.1d+1c+4a.1c.1e.1a.4b.1e.1c.1b.4a."};
// The good the bad and the ugly
//const int BPM = 250;
//const char MELODIE[] = { "1e.1a.1e.1a.8e.4c.4d.8a-4 .1e.1a.1e.1a.8e.4c.4d.8g.4 .1e.1a.1e.1a.8a.4c+2b.2a.8g.4 .1e.1a.1e.1a.8e.4c.4d.8a-" };
// Imperial March
//const int BPM = 250;
//const char MELODIE[] = { "4e.4e.4e.3c.1g.4e.3c.1g.8e.4b.4b.4b.3c+1g.4D.3c.1g.8e.4e+3e.1e.4e+3D+1D+1C+1C+2C+2 .2F.4A.3g.1F.1g.1g.2g.2 .2c.4D.3C.1e.4g.3e.1g.4b+" };
// Raiders march
//const int BPM = 250;
//const char MELODIE[] = { "3f.1g.2a.6d+3e.1f.6g.3a.1b.2C+6g+3b.1C+4d+4e+4F+3f.1g.2a.6d+3e+1F+6g+3a.1a.4F+3e+1a.4F+3e+1a.4F+3e+1a.2F+2e+" };
// Lord of the rings main theme
//const int BPM = 250;
//const char MELODIE[] = { "1d.1e.2F.2a.2F.2e.6d.1F.1a.2b.2d+2c+2a.4F.2e.1d.1e.2F.2a.2F.2e.6d.1F.1a.4b.1b.1b.1a.1F.8e." };
// (GLOBALE) VARIABELEN
int knopWaarde = LOW;
// VOORBEREIDING
void setup()
{
pinMode(PIEZO_PIN, OUTPUT);
}
// UITVOERING
void loop()
{
// INVOER
knopWaarde = digitalRead(KNOP_PIN);
// VERWERKING & UITVOER
if (knopWaarde == HIGH)
{
speelMelodie(PIEZO_PIN, MELODIE, BPM);
}
}