int pinBouton = 7;
int etatBouton = 1;
int speakerPin = 13;
int marche = 0;
int etatBoutonA=1;
// Note frequencies (Hz)
int c4 = 262;
int d4 = 294;
int e4 = 330;
int f4 = 349;
int g4 = 392;
int a4 = 440;
int b4 = 494;
int c5 = 523;
int d5 = 587;
int e5 = 659;
int f5 = 698;
int g5 = 783;
// Note durations (ms)
int quarter = 250;
int half = 500;
int dottedHalf = 750;
int whole = 1000;
void setup() {
pinMode(pinBouton, INPUT);
pinMode(speakerPin, OUTPUT);
Serial.begin(9600);
}
void joue(int SpeakerPin, int note, int intervalles, int pause, int pause2) {
etatBoutonA = etatBouton;
etatBouton = digitalRead(pinBouton);
if(etatBouton == 0) {
etatBoutonA = 1;
Serial.println("Une personne a appuyé sur le bouton");
if (marche == 0) {
Serial.println("marche était à 0");
marche = 1;
Serial.println("le système met marche à 1");
} else {
Serial.println("marche était à 1");
marche = 0;
Serial.println("le système met marche à 0");
}
}
if(marche == 1) {
Serial.println("marche est à 1, on joue la musique");
tone (speakerPin, note, intervalles);
delay(pause+pause2);
}
}
void loop() {
musique();
}
void musique() {
joue(speakerPin, g4, quarter, 250, 60);
joue(speakerPin, g4, quarter, 250, 0);
joue(speakerPin, a4, quarter, 250, 0);
joue(speakerPin, g4, quarter, 250, 0);
joue(speakerPin, c5, quarter, 250, 0);
joue(speakerPin, b4, quarter, 250, 200);
joue(speakerPin, g4, quarter, 250, 60);
joue(speakerPin, g4, quarter, 250, 0);
joue(speakerPin, a4, quarter, 250, 0);
joue(speakerPin, g4, quarter, 250, 0);
joue(speakerPin, d5, quarter, 250, 0);
joue(speakerPin, c5, quarter, 250, 200);
joue(speakerPin, g4, quarter, 250, 60);
joue(speakerPin, g4, quarter, 250, 60);
joue(speakerPin, g5, quarter, 250, 0);
joue(speakerPin, e5, quarter, 250, 0);
joue(speakerPin, c5, quarter, 250, 0);
joue(speakerPin, b4, quarter, 250, 0);
joue(speakerPin, a4, quarter, 250, 60);
joue(speakerPin, a4, quarter, 250, 200);
joue(speakerPin, f5, quarter, 250, 60);
joue(speakerPin, f5, quarter, 250, 0);
joue(speakerPin, f5, quarter, 250, 0);
joue(speakerPin, e5, quarter, 250, 0);
joue(speakerPin, c5, quarter, 250, 0);
joue(speakerPin, d5, quarter, 250, 0);
joue(speakerPin, c5, dottedHalf, 750, 0);
}