const int ledPin = 13; // Pin where the LED is connected
// Morse code representation for "Hello World"
// Hello : .... . .-.. .-.. ---
// World : .-- --- .-. .-.. -..
const char* morseCode[] = {
"....", // H
".", // E
".-..", // L
".-..", // L
"---", // O
"", // space
".--", // W
"---", // O
".-.", // R
".-..", // L
"-.." // D
};
const char* text = "HELLO WORLD"; // Corresponding text for each Morse code
void setup() {
pinMode(ledPin, OUTPUT); // Set the LED pin as output
Serial.begin(9600); // Start serial communication
}
void loop() {
for (int i = 0; i < sizeof(morseCode) / sizeof(morseCode[0]); i++) {
const char* code = morseCode[i];
// Blink the Morse code
for (int j = 0; code[j] != '\0'; j++) {
if (code[j] == '.') {
digitalWrite(ledPin, HIGH); // LED on for dot
delay(250); // Dot duration
digitalWrite(ledPin, LOW); // LED off
delay(250); // Space between parts of the same letter
} else if (code[j] == '-') {
digitalWrite(ledPin, HIGH); // LED on for dash
delay(750); // Dash duration
digitalWrite(ledPin, LOW); // LED off
delay(250); // Space between parts of the same letter
}
}
delay(1000); // Space between letters
// Print the corresponding character
if (text[i] != ' ') {
Serial.print(text[i]);
} else {
Serial.print(" ");
}
}
Serial.println();
delay(3000);
}