Arduino Song - Maria hade en liten lamm (2 / 2 steg)
Steg 2: kod
#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;
int knappen = 2;
void setup() {
pinMode (speakerOut, produktionen);
pinMode (knapp, indata);
}
int melodi [] = {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 slår [] = {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 MAX_COUNT = sizeof(melody) / 2;
långa tempo = 100000;
int paus = 10;
int rest_count = 20;
int tone_ = 0;
int slå = 0;
lång varaktighet = 0;
void playTone() {
lång elapsed_time = 0;
om (digitalRead(button)==HIGH) {
om (tone_ > 0) {
medan (elapsed_time < varaktighet) {
digitalWrite(speakerOut,HIGH);
delayMicroseconds(tone_ / 2);
digitalWrite (speakerOut, låg);
delayMicroseconds(tone_ / 2);
elapsed_time += (tone_);
}
}
annat {
för (int j = 0; j < rest_count; j ++) {
delayMicroseconds(duration);
}
}
}
}
void loop() {
för (int jag = 0; jag
tone_ = melodi [i];
slå = beats [i];
längd = beat * tempo;
playTone();
delayMicroseconds(pause);
}
}