Skip to content

Latest commit

 

History

History
350 lines (253 loc) · 6.71 KB

File metadata and controls

350 lines (253 loc) · 6.71 KB

Saudi National Anthem - Arduino Project 💚

MasterHead 1 MasterHead 2

Description

This project uses an Arduino to play the Saudi National Anthem using a piezo buzzer. The buzzer emits sound frequencies that correspond to the notes of the anthem.

I was curious about how tones could be played within a circuit or on a microcontroller, and that's when I discovered the Arduino tone() function. I found several projects that used this module to play tunes like "Happy Birthday" and "Super Mario"

After exploring the functionality of this module, I decided to use it to play our National Anthem. I transcribed the notation of the Saudi National Anthem by playing it on piano, writing it down on paper, converting it to frequencies, and then started to write a program for Arduino.

intervalchart notes

After 20-30 iterations, adjusting the tempo, frequencies of notes, and duration, I finally achieved a satisfying output. It was a fun project for me, and I hope you like it.

SNA-Buzzer.mp4

Components

  • Arduino Uno
  • Piezo Buzzer
  • Jumper Wires
  • Breadboard
  • Green LED (Optional)

Fantabulous Sango-Hango

Wiring

  1. Connect the positive leg of the buzzer to Arduino pin 8 (PWM pin).
  2. Connect the negative leg to the GND pin.

‪Circuit design Fantabulous Sango-Hango - Tinkercad - Google Chrome‬ 9_20_2024 01_04_46 PM

Code

    
void SaudiNationalAnthem(int buzzerPin) {

  tone(buzzerPin, 349);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(1200);
  noTone(buzzerPin);

  tone(buzzerPin, 262);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 392);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 440);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(1200);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 587);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 440);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 392);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 330);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 587);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 440);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 698);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 659);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 587);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 587);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 440);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(600);
  noTone(buzzerPin);

  tone(buzzerPin, 587);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 659);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 698);
  delay(1200);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(1500);
  noTone(buzzerPin);

  tone(buzzerPin, 262);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 349);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 392);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 440);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(600);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 587);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 466);
  delay(300);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(600);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 698);
  delay(600);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(500);
  noTone(buzzerPin);

  tone(buzzerPin, 523);
  delay(125);
  noTone(buzzerPin);

  tone(buzzerPin, 698);
  delay(600);
  noTone(buzzerPin);
}

void setup() {

  SaudiNationalAnthem(8);
}

void loop() {
  // No need for loop code
}

Thank You 💚

Thank you for checking out my Saudi National Anthem Arduino project! I hope you found it fun and educational. If you enjoyed the project, please consider giving the repository a ⭐.

Your support means a lot and encourages me to keep creating more cool projects!

If you have any feedback, improvements, or ideas for other projects, feel free to reach out. Let's keep building and learning together!