|
|||
Практические задания. Практическое задание №1. Практическая работа №22.Практические задания Практическое задание №1 «Управление светодиодом» В этой работе необходимо было запрограммировать Arduino мигать светодиодом, который встроен в плату и подключен к контакту 13. Для этого был задан порт, определены контакты входа и выхода и установлена задержка во включенном и выключенном состоянии светодиода. 1) 3 секунды светодиод горит, 1 секунду выключен int Led=13; //LED подсоединен к выводу 13 void setup () //выполняется действие один раз { pinMode(Led, OUTPUT); // устанавливаем вывод 13, как выход } void loop () //повторение команды { digitalWrite(Led, HIGH); // включаем LED delay(3000); // пауза 3 секунда digitalWrite(Led, LOW); // выключаем LED delay(1000); // пауза 1 секунда } 2) 0,2 секунды светодиод горит, 0,2 секунду выключен int Led=13; void setup () { pinMode(Led, OUTPUT); } void loop () { digitalWrite(Led, HIGH); delay(200); digitalWrite(Led,LOW); delay(200); } 3) 1 секунду светодиод горит, 0,3 секунды выключен int Led=13; void setup () { pinMode(Led, OUTPUT); } void loop () { digitalWrite(Led, HIGH); delay(1000); digitalWrite(Led,LOW); delay(300); } 4) 0,5 секунды светодиод горит, 2,5 секунды выключен int Led=13; void setup () { pinMode(Led, OUTPUT); } void loop () { digitalWrite(Led, HIGH); delay(500); digitalWrite(Led,LOW); delay(2500); } После подключения Arduino к компьютеру, была загружена программа в контроллер и получено мигание светодиода с учетом заданных параметров в программе, которая указывает светодиоду время во включенном и выключенном состоянии и повторяет мигание благодаря функции void loop (). Практическая работа №2 «Простое шифрование сигнала. Азбука Морзе» 1) В этой работе необходимо было составить программу для Arduino, выполняя которую контроллер миганием светодиода передаст информацию о слове из шести букв, с использованием азбуки Морзе за слово из шести букв было принято слово «МОЛОКО». Для этого был задан порт, определены контакты входа и выхода, слово было зашифровано миганием светодиода, за единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака - одна точка, между знаками в слове - три точки.
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 и светодиода можно передавать слова, зашифрованные в азбуке Морзе.
|
|||
|