int buzzerPin = 5; const int songLength = 37; char notes[] = "ebcdcbaacedcbcdecaadfAgfecedcbbcdecaa"; int beats[] = {2,1,1,2,1,1,2,1,1,2,1,1,2,2,2,2,2,2,4,2,2,2,1,1,2,2,2,1,1,2,1,1,2,2,2,2,4,4}; int tempo = (150); const int RED = 4; const int GREEN = 3; const int BLUE = 2; int DISPLAY_TIME = 100; void setup() { pinMode(5, OUTPUT); pinMode(buzzerPin, OUTPUT); pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11,OUTPUT); pinMode(10,OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); } void loop() { int i, duration; for (i = 0; i < songLength; i++) { duration = beats[i] * tempo; if (notes[i] == ' ') { delay(duration); } else { tone(buzzerPin, frequency(notes[i]), duration); delay(duration); } delay(tempo/10); if (notes[i] == 'c') { digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(6, HIGH); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(RED, LOW); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'd') { digitalWrite(13, LOW); digitalWrite(12, HIGH); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(RED, HIGH); digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'e') { digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(RED, LOW); digitalWrite(BLUE, HIGH); digitalWrite(GREEN, LOW); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'f') { digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, HIGH); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(BLUE, LOW); digitalWrite(GREEN, HIGH); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'g') { digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, LOW); digitalWrite(6, HIGH); digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(RED, HIGH); digitalWrite(BLUE, HIGH); digitalWrite(GREEN, LOW); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'a') { digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(RED, LOW); digitalWrite(BLUE, HIGH); digitalWrite(GREEN, HIGH); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'b') { digitalWrite(13, LOW); digitalWrite(12, HIGH); digitalWrite(11, LOW); digitalWrite(10, HIGH); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(RED, HIGH); digitalWrite(BLUE, LOW); digitalWrite(GREEN, LOW); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } if (notes[i] == 'A') { digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, LOW); digitalWrite(6, HIGH); digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(RED, HIGH); digitalWrite(BLUE, LOW); digitalWrite(GREEN, HIGH); tone(buzzerPin, frequency(notes[i]), duration); } else { //yolo } } } int frequency(char note) { int i; const int numNotes = 8; char names[] = {'c', 'd', 'e', 'f', 'g', 'a', 'b', 'A'}; int frequencies[] = {262, 294, 330, 349, 392, 220, 247, 440}; for (i = 0; i < numNotes; i++) { if (names[i] == note) { return(frequencies[i]); } } return(0); }