Оглавление:

Передатчик кода Морзе Arduino: 11 шагов
Передатчик кода Морзе Arduino: 11 шагов

Видео: Передатчик кода Морзе Arduino: 11 шагов

Видео: Передатчик кода Морзе Arduino: 11 шагов
Видео: Азбука Морзе на базе Arduino 2024, Июль
Anonim
Передатчик кода Морзе Arduino
Передатчик кода Морзе Arduino
Передатчик кода Морзе Arduino
Передатчик кода Морзе Arduino

В этом руководстве вы будете использовать Arduino Uno для создания передатчика кода Морзе и использовать монитор последовательного порта для чтения переданных вами сообщений.

Детали, которые вам понадобятся:

Ардуино Уно

Макетная плата

Зуммер

Кнопки

Провода перемычки

Шаг 1. Обеспечьте питание своей макетной платы

Обеспечьте питание вашей макетной платы
Обеспечьте питание вашей макетной платы

Подключите перемычку от контакта 5V на Arduino Uno к положительной линии на макетной плате.

Шаг 2: заземлите макетную плату

Заземлите макетную плату
Заземлите макетную плату

Теперь подключите провод от любого из контактов GND на Arduino к отрицательной линии на вашей макетной плате.

Шаг 3. Вставьте кнопку

Вставьте свою кнопку
Вставьте свою кнопку

Вставьте свою кнопку. Убедитесь, что две его ножки находятся с каждой стороны канала посередине макета, а ножки вставлены плотно. При сильном нажатии их легко согнуть, поэтому будьте осторожны, когда нажимаете кнопку.

Шаг 4. Заземлите кнопку

Заземлите кнопку
Заземлите кнопку

Подключите кнопку к земле, вставив один конец в тот же ряд, что и верхняя ножка кнопки, а другой конец - в отрицательный ряд, который вы ранее подключили к земле.

Шаг 5. Подключите кнопку

Подключите вашу кнопку
Подключите вашу кнопку

Замкните схему кнопки и позвольте Arduino считывать свой ввод, подключив провод из того же ряда, что и нижняя ножка кнопки, и контакт 7 на Arduino.

Шаг 6: вставьте зуммер

Вставьте зуммер
Вставьте зуммер

Вставьте зуммер так, чтобы знак «+» наверху или немного более длинная ножка находились на той же стороне макета, что и провод, подключенный к 5В.

Шаг 7: Заземлите зуммер

Заземлите зуммер
Заземлите зуммер

Подключите кнопку к земле проводом из того же ряда, что и ее более короткая ножка, к отрицательной линии на макетной плате, которую вы ранее подключили к GND.

Шаг 8: Включите зуммер

Включите зуммер
Включите зуммер

Подайте питание на зуммер и позвольте Arduino управлять им с помощью провода из того же ряда, что и его более длинная ножка, к контакту 8 на Arduino.

Шаг 9: напишите свой код

Напишите свой код
Напишите свой код

Скопируйте и вставьте наш код или загрузите прикрепленный файл.

static String Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. "," - "," -. "," --- ",".--. ", «--.-», «.-.», «…», «-», «..-», «… -», «.--», «-..-», «-.-- "," -.. "," E "};

статический символ Alphabet = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', ' х ',' у ', 'z', 'E'}; беззнаковый длинный push_length, start_push, end_push; // время нажатия кнопки int button = 7; // входной контакт для кнопки int buzzer = 8; // вывод вывода для светодиода String code = ""; // строка, в которой хранится один алфавит

void setup () {

Serial.begin (9600); pinMode (кнопка, INPUT_PULLUP); // внутренний подтягивающий резистор используется для упрощения схемы pinMode (buzzer, OUTPUT); Serial.println («Начни свое сообщение!»); }

пустой цикл ()

{MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // время звука нажатия кнопки (зуммер, 150); в то время как (digitalRead (button) == LOW) {} end_push = millis (); // время отпускания кнопки noTone (зуммер); push_length = end_push - start_push; // время, в течение которого кнопка была нажата if (push_length> 50) {// чтобы учесть код отключения переключателя + = dot_or_dash (push_length); // функция для чтения точки или тире} while ((millis () - end_push) <500) // если время между нажатием кнопки больше 0,5 секунды, пропустить цикл и перейти к следующему алфавиту {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_translation (код); // функция расшифровки кода в алфавитном порядке}

char dot_or_dash (длина с плавающей запятой)

{если (длина 50) {возврат '.'; // если кнопка нажата менее 0,6 с, это точка} else if (length> 600) {return '-'; // если кнопка нажата более 0,6 с, это прочерк}}

void Morse_translation (Строка кода Морзе)

{int я = 0; если (код == ".-.-.-") {Serial.print ("."); // for break} else {while (Morse ! = "E") // цикл для сравнения входного кода с массивом букв {if (Morse == morsecode) {Serial.print (Alphabet ); перерыв; } i ++; } if (Morse == "E") {Serial.println ("Ошибка!"); // если код ввода не соответствует ни одной букве, ошибка}} code = ""; // сбрасываем код на пустую строку}

Шаг 10: Используйте Serial Monitor для чтения ваших выходных данных

Используйте последовательный монитор для чтения вашего вывода!
Используйте последовательный монитор для чтения вашего вывода!

Откройте монитор последовательного порта, чтобы просмотреть свои сообщения, когда вы нажимаете кнопку для создания кода Морзе. Используйте приведенное выше руководство, чтобы правильно расположить точки и тире!

Шаг 11. Хотите больше подобных проектов?

Хотите больше подобных проектов?
Хотите больше подобных проектов?

Получайте детали для 2-3 проектов в месяц, а также инструкции и видео по их созданию с помощью MakeCrate!

Рекомендуемые: