#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Налаштування LCD-дисплея
LiquidCrystal_I2C lcd(0x27, 16, 2);

const int ledPin = 1; // Замініть 7 на ваш N
const int dotTime = 300; // Тривалість точки в мс (n)
const int dashTime = dotTime * 3; // Тривалість тире
const int letterSpace = dotTime * 2; // Пауза між літерами
const int wordSpace = dotTime * 7; // Пауза між словами

// Функція для мигання світлодіода
void blink(int duration) {
  digitalWrite(ledPin, HIGH);
  delay(duration);
  digitalWrite(ledPin, LOW);
  delay(dotTime); // Пауза між символами
}

// Функція для передачі літери в азбуці Морзе
void morseLetter(String letter) {
  for (int i = 0; i < letter.length(); i++) {
    char symbol = letter.charAt(i);
    if (symbol == '.') {
      blink(dotTime);
    } else if (symbol == '-') {
      blink(dashTime);
    }
  }
  delay(letterSpace);
}

void setup() {
  pinMode(ledPin, OUTPUT);
  lcd.begin(16, 2); // Ініціалізація дисплея

  String englishName = "Yaroslav";
  lcd.print(englishName); // Виведення імені
}

void loop() {
  String morseName[] = {".-.-", ".-.", "---", "...", ".-..", ".-", ".--"};

  for (int i = 0; sizeof(morseName) / sizeof(String); i++) {
      morseLetter(morseName[i]); 
  }
// Приклад кодування імені "Олександр" в азбуці Морзе
  delay(wordSpace); // Пауза між повтореннями
}
$abcdeabcde151015202530fghijfghij