Дешифратор азбуки Морзе с выводом на принтер, дисплей, последовательный порт. В этом уроке мы создадим дешифратор азбуки Морзе. Датчик звука преобразует звуковой сигнал в электрический и отправит его в Arduino.

Онлайн калькулятор. Транслятор из азбуки Морзе в слова и наоборот. Он большой: например, код Морзе для посылки «ехал грека через реку. Вы не поверите, но к запросу "морзе переводчик" ежемесячно обращаются почти полторы тысячи пользователей одного только Яндекса. А это значит, . Программа, принимающая телеграф (CW) через звуковую карту и преобразующая его в текст. Кроме того, она может использоваться как .
Arduino дешифрует принятые данные и отправит их, либо в монитор последовательного порта, либо на символьный дисплей LCD1. I2. C, либо в термопринтер UART. В Arduino нужно загрузить один из трёх скетчей, в зависимости от собранного устройства. Более подробно о работе с LCD дисплеем и термопринтером можно ознакомиться на страницах: Wi. Ki - работа с символьными ЖК дисплеями и Wiki - работа с термопринтерами. LCD дисплей подключается к аппаратной шине I2.
C. Термопринтер подключается по программной шине UART с назначенными в скетче выводами TX и RX. Номера выводов указываются при объявлении объекта my. Serial(RX, TX) библиотеки Software. Serial, которая входит в стандартный набор Arduino IDE. Торрент Itvdn Шаблоны Проектирования Видеокурсы.
В скетче RX объявлен как 5 вывод Arduino (он подключается к зелёному TX выводу принтера), а TX объявлен как 6 вывод Arduino (он подключается к синему RX выводу принтера). Жёлтый вывод (DTR) принтера не используется. Термопринтерзапитывается от отдельного источника питания от 5 до 9 В постоянного тока, при этом красный провод подключается к + питания, а черный к - и к выводу GND Arduino. Вывод данных в монитор последовательного порта: Трема датчик звука подключается в аналоговому выводу A3 (номер хранится в константе pin.
Sensor - его можно изменить). Дополнительные устройства не подключаются. Берем последние 4 бита - 1. Морзе это « – . Берем последние 3 бита - 1. Морзе это « – – . Чем ниже уровень, тем чувствительнее датчик звука; tmr. Signal - хранит время в миллисекундах для определения точек и тире (если сигнал был длиннее этого времени - значит это тире, а если короче - значит это точка); tmr.
Pause - хранит время в миллисекундах для определения окончания приёма символа (если пауза между сигналами была длиннее этого времени - значит передача символа закончена, а если короче - значит символ еще принимается). Декодирование осуществляется в коде loop и состоит из 3 частей: фиксация звука, фиксация паузы, вывод символа.
Если в первой части зафиксирован звук, то устанавливаем флаг наличия принятого сигнала flg. Signal, увеличиваем счетчик точек/тире len. Letter, сохраняем время его фиксациии и входим в цикл while пока звук не исчезнет.
После исчезновения звука определяем его длительность вычитая текущее время из ранее сохранённого. Если во второй части зафиксирована пауза, то сохраняем время её фиксации и входим в цикл while пока пауза не исчезнет или не пройдёт время tmr. Pause означающее об окончании приёма символа. После выхода из цикла проверяется причина выхода из него (закончена пауза или истекло время). Если закончена пауза, то опять начинает выполняться первая часть декодирования, иначе устанавливается флаг flg.
Letter разрешающий переход в третью часть декодирования. Третья часть часть декодирования заключается в определении принятого символа (по трём массивам: chr. Morze, len. Morze, var. Morze) и выводе этого символа в устройство вывода. Код программ:Код программы зависит от используемого устройства вывода данных.