#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); // Пауза між повтореннями
}