#include <toneAC.h>
// Pin Definitions
#define LED1 2
#define LED2 3
#define LED3 4
#define LED4 5
#define LED5 6
#define BUZZER 7
// Notes of the melody in Hz
int melody[] = { 261, 294, 330, 349, 392, 440, 494, 525 };
// Note duration in ms
int noteDuration = 600;
// Note Gap in ms
int noteGap = 800;
void setup() {
// Set the LED pins as outputs
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
// Set the Buzzer pin as an output
pinMode(BUZZER, OUTPUT);
}
void loop() {
digitalWrite(LED1, HIGH);
for (int i = 0; i < 7; i++) {
if (i == 0 || i == 1) {
tone(BUZZER,melody[0], noteDuration);
delay(noteGap);
}
else if (i == 2 || i == 3) {
tone(BUZZER,melody[4], noteDuration);
delay(noteGap);
}
else if (i == 4 || i == 5) {
tone(BUZZER,melody[5], noteDuration);
delay(noteGap);
}
else{
tone(BUZZER,melody[4], noteDuration);
delay(noteGap);
}
}
delay(noteGap);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
for (int i = 0; i < 7; i++) {
if (i == 0 || i == 1) {
tone(BUZZER,melody[3], noteDuration);
delay(noteGap);
}
else if (i == 2 || i == 3) {
tone(BUZZER,melody[2], noteDuration);
delay(noteGap);
}
else if (i == 4 || i == 5) {
tone(BUZZER,melody[1], noteDuration);
delay(noteGap);
}
else{
tone(BUZZER,melody[0], noteDuration);
delay(noteGap);
}
}
delay(noteGap);
digitalWrite(LED2, LOW);
digitalWrite(LED3, HIGH);
for (int i = 0; i < 7; i++) {
if (i == 0 || i == 1) {
tone(BUZZER,melody[4], noteDuration);
delay(noteGap);
}
else if (i == 2 || i == 3) {
tone(BUZZER,melody[3], noteDuration);
delay(noteGap);
}
else if (i == 4 || i == 5) {
tone(BUZZER,melody[2], noteDuration);
delay(noteGap);
}
else{
tone(BUZZER,melody[1], noteDuration);
delay(noteGap);
}
}
delay(noteGap);
digitalWrite(LED3, LOW);
digitalWrite(LED4, HIGH);
for (int i = 0; i < 7; i++) {
if (i == 0 || i == 1) {
tone(BUZZER,melody[4], noteDuration);
delay(noteGap);
}
else if (i == 2 || i == 3) {
tone(BUZZER,melody[3], noteDuration);
delay(noteGap);
}
else if (i == 4 || i == 5) {
tone(BUZZER,melody[2], noteDuration);
delay(noteGap);
}
else{
tone(BUZZER,melody[1], noteDuration);
delay(noteGap);
}
}
delay(noteGap);
digitalWrite(LED4, LOW);
digitalWrite(LED5, HIGH);
for (int i = 0; i < 7; i++) {
if (i == 0 || i == 1) {
tone(BUZZER,melody[0], noteDuration);
delay(noteGap);
}
else if (i == 2 || i == 3) {
tone(BUZZER,melody[4], noteDuration);
delay(noteGap);
}
else if (i == 4 || i == 5) {
tone(BUZZER,melody[5], noteDuration);
delay(noteGap);
}
else{
tone(BUZZER,melody[4], noteDuration);
delay(noteGap);
}
}
delay(noteGap);
digitalWrite(LED5, LOW);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
for (int i = 0; i < 7; i++) {
if (i == 0 || i == 1) {
tone(BUZZER,melody[3], noteDuration);
delay(noteGap);
}
else if (i == 2 || i == 3) {
tone(BUZZER,melody[2], noteDuration);
delay(noteGap);
}
else if (i == 4 || i == 5) {
tone(BUZZER,melody[1], noteDuration);
delay(noteGap);
}
else{
tone(BUZZER,melody[0], noteDuration);
delay(noteGap);
}
}
delay(noteGap);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
// Pause before repeating
delay(noteGap);
}