// Define the LED pin
const int ledPin = 12;
// Define the duration of a "dot" in milliseconds
const int dotDuration = 250;
// Define the duration of a "dash" (three times longer than a dot)
const int dashDuration = 3 * dotDuration;
// Define the pause between elements (dots and dashes) of the same letter
const int elementPause = dotDuration;
// Define the pause between letters
const int letterPause = 3 * dotDuration;
void setup() {
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Blink "S" in Morse code: "..."
// Dot
digitalWrite(ledPin, HIGH);
delay(dotDuration);
digitalWrite(ledPin, LOW);
delay(elementPause);
// Dot
digitalWrite(ledPin, HIGH);
delay(dotDuration);
digitalWrite(ledPin, LOW);
delay(elementPause);
// Dot
digitalWrite(ledPin, HIGH);
delay(dotDuration);
digitalWrite(ledPin, LOW);
delay(letterPause); // Pause before next letter
// Blink "O" in Morse code: "---"
// Dash
digitalWrite(ledPin, HIGH);
delay(dashDuration);
digitalWrite(ledPin, LOW);
delay(elementPause);
// Dash
digitalWrite(ledPin, HIGH);
delay(dashDuration);
digitalWrite(ledPin, LOW);
delay(elementPause);
// Dash
digitalWrite(ledPin, HIGH);
delay(dashDuration);
digitalWrite(ledPin, LOW);
delay(letterPause); // Pause before next letter
// Blink "S" in Morse code: "..."
// Dot
digitalWrite(ledPin, HIGH);
delay(dotDuration);
digitalWrite(ledPin, LOW);
delay(elementPause);
// Dot
digitalWrite(ledPin, HIGH);
delay(dotDuration);
digitalWrite(ledPin, LOW);
delay(elementPause);
// Dot
digitalWrite(ledPin, HIGH);
delay(dotDuration);
digitalWrite(ledPin, LOW);
delay(letterPause); // Pause before repeating the message
}