// Speaker connected to pin 3
const int speakerPin = 3;
// Global speed multiplier: 1.0 = normal, >1 = slower, <1 = faster
float speed = 1.5; // Try 0.8 for fast, 2.0 for slow
// Define note frequencies
#define NOTE_B0 31
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_D5 587
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_G5 784
#define NOTE_A5 880
#define NOTE_B5 988
// Tune definitions: {note, base duration in ms}
int nokiaTune[][2] = {
{NOTE_E5, 200}, {NOTE_D5, 200}, {NOTE_F5, 200}, {NOTE_G5, 400},
{NOTE_E5, 400}, {NOTE_D5, 400}, {NOTE_C5, 400}
};
int airtelTune[][2] = {
{NOTE_C5, 300}, {NOTE_E5, 300}, {NOTE_G5, 300}, {NOTE_E5, 300},
{NOTE_C5, 300}, {NOTE_E5, 300}, {NOTE_G5, 300}, {NOTE_E5, 300}
};
int bsnlTune[][2] = {
{NOTE_G4, 300}, {NOTE_A4, 300}, {NOTE_B4, 300}, {NOTE_C5, 400},
{NOTE_B4, 300}, {NOTE_A4, 300}, {NOTE_G4, 300}
};
// Function to play a tune with speed adjustment
void playTune(int tune[][2], int length) {
for (int i = 0; i < length; i++) {
int note = tune[i][0];
int baseDuration = tune[i][1];
int adjustedDuration = baseDuration * speed;
tone(speakerPin, note, adjustedDuration);
delay(adjustedDuration * 1.0); // Slight pause between notes
}
delay(1000); // Pause between tunes
}
void setup() {
// Nothing needed here
}
void loop() {
playTune(nokiaTune, sizeof(nokiaTune) / sizeof(nokiaTune[0]));
playTune(airtelTune, sizeof(airtelTune) / sizeof(airtelTune[0]));
playTune(bsnlTune, sizeof(bsnlTune) / sizeof(bsnlTune[0]));
}