Беспроводная связь между Ардуино на расстоянии до 1,8 км с модулем HC-12

В этом видео вы узнаете, как связать 2 Ардуино беспроводным способом на расстоянии до 1,8 км на открытом пространстве.

HC-12 – это модуль беспроводной связи с последовательным портом, он очень полезен, очень мощен и легок в использовании.

В первом примере вы узнаете, как просто можно пересылать сообщения между двумя Ардуино беспроводным способом. В следующем примере мы будем посылать сигнал включения/выключения LED индикатору с кнопки, и вы узнаете несколько полезных функций и операторов для передачи данных через беспроводный последовательный порт.

Последняя часть видео необязательна, но в ней вы узнаете, как использовать модуль HC-12 на более продвинутом уровне.
В этой части вы узнаете, как войти в режим настройки модуля HC-12, чтобы изменить скорость передачи, расстояние передачи, и так далее.
И вы узнаете, как подключить внешнюю SMA антенну.

Читайте дальше, и вы узнаете, как просто стать профессионалом в передаче данных на расстоянии.

Список оборудования:

  1. Нам понадобятся 2 Ардуино. Магазин на AliexpressBanggood.
  2. 2 модуля HC-12 (Aliexpress, Banggood)
  3. Провода
  4. Макетная плата (Aliexpress)
  5. Сопротивление 10 kΩ (Aliexpress)
  6. Кнопка
  7. И файлы для этого видео (здесь)

Соединение и настройка

Сначала мы должны припаять антенны к обоим чипам HC-12. Также я припаял несколько разъемов к модулям HC-12, чтобы было легче их использовать на макетной плате.

Мы будем использовать 2 Ардуино, соединенные с модулями HC-12 как показано на картинке.

На обоих Ардуино мы соединяем пин 2 с TX, пин 3 с RX. Земля к Земле, и VCC к 5 Вольт. На одном Ардуино мы добавим кнопку, как показано на картинке.

Чтобы работать с двумя Ардуино на одном компьютере, нам нужно открыть 2 копии Arduino IDE. Это значит, что нам нужно открыть софт Ардуино 2 раза. Это не то же самое, что открыть меню “File → New”

Сохраните проект с кнопкой как “HC-12 sender”, проект без кнопки как “HC-12 receiver”.

Убедитесь, что вы выбрали правильные порты в обоих Ардуино.

Передача беспроводных сообщений, Кнопка-переключатель, Push-кнопка и некоторые полезные функции и операторы.

Скачайте ZIP-архив, чтобы повторить этот пример.

Передача мгновенных беспроводных сообщений

Мы начнем с передачи мгновенных сообщений между Ардуино.

Скопируйте содержание файла “HC-12 messenger send/receive.txt” из ZIP-архива и вставьте в каждую копию софта Ардуино. Код одинаковый для обоих Ардуино.

После того, как вы загрузили код, откройте serial monitor в обоих копиях софта Ардуино. Теперь вы можете пересылать сообщения от одного Ардуино к другому.

Хотя ваши Ардуино подключены к одному компьютеру, сообщения проходят беспроводным способом.

Кнопка-переключатель

Кнопка-переключатель часто используется в электронике. Ее принцип очень простой. Вы нажимаете кнопку один раз, чтобы включить LED-индикатор, и нажимаете эту же кнопку еще раз, чтобы выключить.

Скопируйте и вставьте содержание файла “HC-12 Toggle Button Send.txt” в проект “HC-12 sender”, и “HC-12 Toggle Button Receive.txt” в проект “HC-12 receiver”, и загрузите программы в Ардуино.

Несколько валидаторов, таких как время срабатывания и код для кнопки были использованы для того, чтобы этот пример работал хорошо.

Push-кнопка

Суть Push-кнопки в том, что, когда вы нажимаете кнопку, LED-индикатор горит, когда вы отпускаете кнопку, индикатор гаснет.

Скопируйте и вставьте содержание файла “HC-12 Momentary Button Send.txt” в проект “HC-12 sender”, и “HC-12 Momentary Button Receive.txt” в проект “HC-12 receiver”, и загрузите программы в Ардуино.

Некоторые полезные функции и операторы

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

Посмотрите в файлах “HC-12 Useful Functions and Operators Send.txt” и “HC-12 Useful Functions and Operators Receive.txt”.

Программа на передающей стороне на нажатие кнопки посылает строку “test123”.

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

Продвинутые настройки. Изменение настроек HC-12 с помощью AT команд

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

Полный мануал вы можете найти в ZIP-архиве, он называется HC-12 User Manual.pdf

Соедините модуль HC-12 как показано на картинке, и подключите Ардуино к своему компьютеру.

Скопируйте и вставьте содержимое файла “HC-12 AT Commander.txt” из ZIP-архива, и загрузите его в ваш Ардуино.

Откройте serial monitor и наберите “AT”. Если модуль вернет “OK”, значит, командный режим работает.

Изменение скорости передачи

Скорость передачи может быть изменена на 1200bps, 2400bps,

4800bps, 9600bps, 19,200bps, 38,400bps, 57,600bps, or 115,200bps. Значение по умолчанию 9600bps.

Например, наберите “AT+B4800”. Модуль вернет “OK+B4800”.

Изменение канала связи

Наберите “AT+Cxxx” и затем значение.

Значение может быть числом от 001 до 127.

Каждое следующее число увеличивает частоту передачи на 400 KHz. Рабочая частота канала 100 — 473.0 MHz.

Например, наберите “AT+C021”. Модуль вернет “OK+C021”.

Теперь рабочая частота модуля установлена на 441.4 MHz.

Обратите внимание, что и приемный и передающий модули должны работать на одной частоте.

Изменение рабочего режима модуля

Режимы могут быть FU1, FU2, FU3 или FU4

Модуль в режиме FU4 на скорости передачи 1200 bps может передавать данные на расстояние до 1,8 км на открытой местности.

Подробности смотрите в документации.

Например, наберите “AT+FU4”. Модуль вернет “OK+FU4”.

Получение всех параметров от модуля

Наберите “AT+RX”.

Модуль должен вернуть что-то вроде этого:

“OK+FU3

OK+B9600

OK+C001

OK+RP:+20dBm”.

Пружинная антенна или SMA-антенна

Модули HC-12 в стандартной поставке имеют пружинную антенну. Однако, вы можете использовать SMA-антенну с этим чипом.

По поводу антенн и как они работают написано много книг. Я не хочу углубляться в эту информацию.

Единственное, что можно сейчас запомнить – это то, что электронные схемы могут создавать помехи для антенны, поэтому на плате HC-12 есть гнездо разъема IPEX RF, так что вы можете разделить плату и антенну. Это может помочь для лучшего приема и передачи сигнала.

Вам понадобится IPEX — SMA переходник и SMA-антенна.

Когда вы будете заказывать, убедитесь, что male и female разъемы совпадают.

Вы можете надеть переходник на коннектор IPEX и припаять его. На другой стороне переходника вы можете прикрутить SMA антенну.

Итог:

В этом видео вы узнали, как использовать чип HC-12 для коммуникации между модулями Ардуино на больших расстояниях. Вы узнали, как пересылать мгновенные сообщения, как сделать кнопку включения/выключения, как сделать push-кнопку, как использовать некоторые функции и операторы, как изменить настройки модуля HC-12, и как использовать другую антенну.

На создание этого видео ушло более 100 часов изучения, исследований, тестов, написания кода, и так далее.

Надеюсь, статья была полезна. Оставляйте комментарии.


Пример проекта на HC-12

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сделай сам