Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Декодер и передатчик азбуки Морзе на Arduino

Это устройство, которое можно использовать как беспроводной телеграф. Работает в двух режимах с возможностью выбора(приёмник/передатчик). На передатчик вводится сообщение азбукой Морзе, приёмник выводит его же декодированным в привычный нам вид. Поддерживается только английский язык.

Управление производится с помощью двух кнопок:ввода(обеспечивает набор символов азбуки Морзе) и кнопки смены режима управления(приёмник/передатчик). В режиме приёмника кнопка ввода не работает.

Устройство распознаёт 41 команду: 26 букв латинского алфавита, цифры от 0 до 9, точку, запятую, восклицательный и вопросительный знаки, пробел. При помощи тактовой кнопки на 4 входе происходит смена режима работы(приёмник/передатчик). Ввод данных при помощи одной тактовой кнопки на 3 входе, подключённой с использованием подтягивающего резистора, встроенного в плату Arduino. Кнопка заземлена через резистор номиналом 1 кОм, с другой стороны она подключается к цифровому пину Arduino и +5v через подтягивающий встроенный в плату резистор(включается программно, в аргументах функции pinMode задаётся INPUT_PULLUP). Это нужно для защиты от так называемого «дребезга» контактов. Работа кнопок инвертирована. При не нажатой кнопке пины под номерами 3 и 4 соединены с плюсом питания 5v, то есть на этих пинах задана логическая единица, при нажатии кнопки на пине будет логический ноль. Схема подключения кнопки для смены режима работы такая же, но номер пина - 4. Также защита от случайных нажатий реализована в коде программы – нажатия длительностью менее 20 мс не учитываются. Длительность точки – от 20 до 150 мс, тире – от 150 мс.

 Во время нажатия кнопки ввода подключенный динамик издаёт звуковой сигнал. Конец символа обозначается паузой, во время которой произойдёт 30000 проверок состояния кнопки, пробел между словами – паузой длительностью в 60000 проверок состояния кнопки. Если введён неправильный код, то содержащая его переменная обнулится и начнётся набор новой последовательности точек и тире. В памяти передатчика содержится массив с кодами Морзе, а в памяти приёмника массив с соответствующими им символами. Передатчик отправляет только номер символа в массиве, совпавшего с набранным кодом(вместо пробела он сразу отправляет код 40, не проверяя массив символов). Приёмник выводит на дисплей элемент массива с номером, полученным от передатчика. При достижении конца строки следующая строка дисплея полностью очищается. Через минуту бездействия либо при работе в режиме передатчика дисплей перейдёт в спящий режим. При получении данных либо при нажатии кнопки смены режима работы он продолжит работу.

Ниже представлена таблица некоторых поддерживаемых кодов Морзе.

Прямо к контактам питания NRF24L01 стоит припаять электролитический конденсатор(у меня стоит на 470 мкФ, но хватит и от 10 мкФ). Этот модуль очень капризен по отношению к питанию. Для программирования работы этих модулей применена библиотека RF24. 

Схема подключения с использованием Arduino Nano:

Схема подключения с использованием Arduino Uno:

Подключение дисплея:

  • GND - GND;
  • VCC - 5v;
  • SDA - A4 или SDA;
  • SCL - A5 или SCL.

Подключение NRF24L01:

  • GND - GND;
  • VCC - 3v3(это важно, при подаче 5v модуль может выйти из строя);
  • SCK - 13;
  • MOSI - 11;
  • MISO - 12;
  • CE - 9;
  • CSN - 10;
  • IRQ не используется.
  • 6, 7, 8 пины программно включены как дополнительные GND-входы. На 2 пин подключается динамик. На 3 и 4 кнопки ввода и смены режима работы соответственно.

Фото готовых устройств:

Прикрепленные файлы:

Теги:

Опубликована: 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (3) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
антон #
А если бы на базе ардуино сделать, приставку к тому же Дегену, для декодирования азбуки морзе, как по мне на много полезнее было
Ответить
0
oleg5d75 #
Кнопками стучать морзянку совсем не реально, ключ ненамного сложней сделать
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Raspberry Pi 2
Raspberry Pi 2
Pickit 2 - USB-программатор PIC-микроконтроллеров DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором
вверх