void setup() {
pinMode(13, OUTPUT); // Initialize digital pin 13 as an output
}
void loop() {
// Blink "favourite teachers name" in Morse code
BlinkF(); // F
delay(900);
BlinkA(); // A
delay(900);
BlinkV(); // V
delay(900);
BlinkO(); // O
delay(900);
BlinkU(); // U
delay(900);
BlinkR(); // R
delay(900);
BlinkI(); // I
delay(900);
BlinkT(); // T
delay(900);
BlinkE(); // E
delay(1000); // Space between words
BlinkT(); // T
delay(900);
BlinkE(); // E
delay(900);
BlinkA(); // A
delay(900);
BlinkC(); // C
delay(900);
BlinkH(); // H
delay(900);
BlinkE(); // E
delay(900);
BlinkR(); // R
delay(900);
BlinkS(); // S
delay(1000); // Space between words
BlinkN(); // N
delay(900);
BlinkA(); // A
delay(900);
BlinkM(); // M
delay(900);
BlinkE(); // E
delay(5000); // Wait 5 seconds before repeating
}
void BlinkF() {
BlinkDot(); BlinkDot(); BlinkDash(); BlinkDot(); // F: ..-.
delay(900); // Space between letters
}
void BlinkA() {
BlinkDot(); BlinkDash(); // A: .-
delay(900); // Space between letters
}
void BlinkV() {
BlinkDot(); BlinkDot(); BlinkDot(); BlinkDash(); // V: ...-
delay(900); // Space between letters
}
void BlinkO() {
BlinkDash(); BlinkDash(); BlinkDash(); // O: ---
delay(900); // Space between letters
}
void BlinkU() {
BlinkDot(); BlinkDot(); BlinkDash(); // U: ..-
delay(900); // Space between letters
}
void BlinkR() {
BlinkDot(); BlinkDash(); BlinkDot(); // R: .-.
delay(900); // Space between letters
}
void BlinkI() {
BlinkDot(); BlinkDot(); // I: ..
delay(900); // Space between letters
}
void BlinkT() {
BlinkDash(); // T: -
delay(900); // Space between letters
}
void BlinkE() {
BlinkDot(); // E: .
delay(900); // Space between letters
}
void BlinkC() {
BlinkDash(); BlinkDot(); BlinkDash(); BlinkDot(); // C: -.-.
delay(900); // Space between letters
}
void BlinkH() {
BlinkDot(); BlinkDot(); BlinkDot(); BlinkDot(); // H: ....
delay(900); // Space between letters
}
void BlinkS() {
BlinkDot(); BlinkDot(); BlinkDot(); // S: ...
delay(900); // Space between letters
}
void BlinkN() {
BlinkDash(); BlinkDot(); // N: -.
delay(900); // Space between letters
}
void BlinkM() {
BlinkDash(); BlinkDash(); // M: --
delay(900); // Space between letters
}
void BlinkDot() {
digitalWrite(13, HIGH); // Turn the LED on
delay(200); // Wait 200 ms (dot duration)
digitalWrite(13, LOW); // Turn the LED off
delay(100); // Wait 200 ms between dot/dash
}
void BlinkDash() {
digitalWrite(13, HIGH); // Turn the LED on
delay(1200); // Wait 1200 ms (dash duration)
digitalWrite(13, LOW); // Turn the LED off
delay(100); // Wait 1200 ms between dot/dash
}