Étape 2: Code
#define c
3830 / / 261 Hz
#define d 3400 / / 294 Hz
#define e 3038 / / 329 Hz
#define f 2864 / / 349 Hz
#define g 2550 / / 392 Hz
#define a 2272 / / 440 Hz
#define b 2028 / / 493 Hz
#define C 1912 / / 523 Hz
#define R 0
int speakerOut = 9 ;
bouton int = 2 ;
void setup() {}
pinMode (speakerOut, sortie) ;
pinMode (bouton, entrée) ;
}
la mélodie d’int [] = {e, R, d, R, c, R, d, R, e, R, e, R, e, R, d, R, d, R, d, R, e, R, g, R, g, R, e, R, d, R, c, R, d, R, e, R, e, R, e, R, e, R, d, R, d, R, e, R, d, R, c, R, c} ;
int bat [] = {4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 8, 1, 4, 1, 4, 1, 8, 1, 4, 1, 4, 1, 8, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4,1,8} ;
int elements_valides = sizeof(melody) / 2 ;
rythme long = 100000 ;
pause d’int = 10 ;
int rest_count = 20 ;
int tone_ = 0 ;
battre int = 0 ;
longue durée = 0 ;
void playTone() {}
long elapsed_time = 0 ;
Si (digitalRead(button)==HIGH) {}
Si (tone_ > 0) {}
tandis que (elapsed_time < durée) {}
digitalWrite(speakerOut,HIGH) ;
delayMicroseconds(tone_ / 2) ;
digitalWrite (speakerOut, basse) ;
delayMicroseconds(tone_ / 2) ;
elapsed_time += (tone_) ;
}
}
else {}
pour (int j = 0; j < rest_count; j ++) {}
delayMicroseconds(duration) ;
}
}
}
}
void loop() {}
pour (int i = 0; i
tone_ = mélodie [i] ;
battre = beats [i] ;
durée = battement * tempo ;
playTone() ;
delayMicroseconds(pause) ;
}
}