2.2 Простое шифрование сигнала. Азбука Морзе
1) В этой работе необходимо было составить программу для Arduino, выполняя которую контроллер миганием светодиода передаст информацию о слове из шести букв, с использованием азбуки Морзе за слово из шести букв было принято слово «МОЛОКО». Для этого был задан порт, определены контакты входа и выхода, слово было зашифровано миганием светодиода, за единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака - одна точка, между знаками в слове - три точки.
Рисунок 1 – Азбука Морзе
int Led=13;
void setup ()
{ pinMode(Led, OUTPUT);
}
void loop ()
{
digitalWrite(Led,LOW);
delay(5000);
//M
digitalWrite(Led, HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
//пауза между буквами
digitalWrite(Led,LOW);
delay(3000);
//O
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
//пауза между буквами
digitalWrite(Led,LOW);
delay(3000);
//Л
digitalWrite(Led,HIGH);
delay(1000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(1000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(1000);
//пауза
digitalWrite(Led,LOW);
delay(3000);
//О
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
//пауза
digitalWrite(Led,LOW);
delay(3000);
//К
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(1000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
//пауза
digitalWrite(Led,LOW);
delay(3000);
//О
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
digitalWrite(Led,LOW);
delay(1000);
digitalWrite(Led,HIGH);
delay(3000);
//пауза
digitalWrite(Led,LOW);
delay(3000);
}
2) Составить программу для Arduino, выполняя которую контроллер миганием светодиода передаст информацию о пароле из пяти символов, с использованием азбуки Морзе. Одна «точка» равна 0,5 секунды. Паролем являлось «СЫР:7».
int Led=13;
void setup ()
{ pinMode(Led, OUTPUT);
}
void loop ()
{
digitalWrite(Led,LOW);
delay(5000);
//C
digitalWrite(Led, HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(500);
//пауза
digitalWrite(Led,LOW);
delay(1500);
//Ы
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(1500);
digitalWrite(Led,HIGH);
delay(500);
digitalWrite(Led,HIGH);
delay(1500);
//пауза
digitalWrite(Led,LOW);
delay(1500);
//Р
digitalWrite(Led, HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
//пауза
digitalWrite(Led,LOW);
delay(1500);
//:
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
//пауза
digitalWrite(Led,LOW);
delay(1500);
//7
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led,HIGH);
delay(1500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
digitalWrite(Led,LOW);
delay(500);
digitalWrite(Led, HIGH);
delay(500);
После подключения Arduino к компьютеру, была загружена программа в контроллер и получено мигание светодиода, которое несло в себе зашифрованное слово и пароль. Путем анализа мигания светодиода, были выявлены точки и тире, указывающие на букву либо паузу между буквами, и расшифровано слово и пароль. Таким образом, с помощью Arduino и светодиода можно передавать слова, зашифрованные в азбуке Морзе.