Arduino – Piezo – Super Mario + Switch 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
int mario_tones[]={1319, 1319, 0, 1319, 0, 1047, 1319, 1568, 0, 784, 0, 1047, 0, 784, 0, 659, 0, 880, 988, 932, 880, 784, 1319, 1568, 1760, 1397, 1568, 0, 1319, 1047, 1175, 988, 0, 1047, 0, 784, 0, 659, 0, 880, 988, 0, 880, 784, 1319, 1568, 1760, 1397, 1568, 0, 1319, 1047, 1175, 988, 0}; int mario_beats[]={2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 2, 4, 2, 4, 2, 4, 4, 2, 4, 4, 4, 4, 4, 2, 2, 2, 4, 2, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 4, 2, 4, 4, 4, 4, 4, 2, 2, 2, 4, 2, 2, 4, 2}; int piezo=2; int btnStart=4; int tempo=80; int states=0; void setup() { pinMode(btnStart, INPUT); } void loop() { states=digitalRead(btnStart); if (states==1) { for (int i=0;i<sizeof(mario_beats)/sizeof(int);i++) { if (mario_tones[i]==0) { noTone(piezo); delay(tempo*mario_beats[i]); } else { tone(piezo, mario_tones[i]); delay(tempo*mario_beats[i]); noTone(piezo); } } noTone(piezo); delay(1000); } } |