цифровая электроника
вычислительная техника
встраиваемые системы

 

Приемопередатчик HC-12 и Arduino

Автор: Mike(admin) от 18-05-2017, 19:15

Приемопередатчик HC-12 представляет собой полудуплексный беспроводной последовательный модуль связи со 100 каналами в диапазоне 433.4-473.0 МГц, способный передавать данные на расстояние до 1 км. Радиочастотная микросхема Этого модуля содержит передатчик на 20 дБм (100 мВт) и приемник, который имеет чувствительность -117 дБм (2 × 10-15 Вт) при 5000 бит/с.


Приемопередатчик HC-12 и Arduino

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


Модуль HC-12 имеет четырехпроводный интерфейс UART (Vcc, Gnd, TxD, RxD), а также пятый вывод, который используется для входа в режим «Command» для изменения конфигурации модуля. Этот пятый контакт на HC-12 обозначен как «Set», и при низком логическом уровне позволяет выбирать различные настройки HC-12, используя AT-команды, посылаемые на линию приема данных Rx. Конфигурация по умолчанию HC-12 это FU3 на канале 1, FU3 – полностью автоматическая и прозрачная (для других устройств) настройка, которая адаптируется к скорости передачи подключенного устройства (хотя 9600 бод все еще требуется для программирования в режиме «Command». Обратите внимание, что по мере увеличения скорости передачи мощность приемника уменьшается. Вы можете вернуться к состоянию по умолчанию, отправив команду AT + DEFAULT один раз в командном режиме.


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


Приемопередатчик HC-12 и Arduino

Здесь линия приема данных RxD модуля подключается к четвертому выводу платы, линия передачи TxD к пятому выводу платы, а линия установки режима к шестому выводу. Также следует отметить, что питание на модуль HC-12 следует заводить от источника, а не отплаты Arduino, поскольку передаче данных этот модуль может потреблять достаточно много тока, поэтому регулятор на плате Arduino может не справиться с такой нагрузкой. Код (скетч) для плат Arduino показан далее.



#include <SoftwareSerial.h>

const byte HC12RxdPin = 4;                  // Линия приема данных на HC12
const byte HC12TxdPin = 5;                  // Линия передачи данных на HC12

SoftwareSerial HC12(HC12TxdPin,HC12RxdPin); // Инициализация последовательного порта для HC12

void setup() {
  Serial.begin(9600);                       // Открываем последовательный порт для компьютера со скоростью 9600 бод
  HC12.begin(9600);                         // Открываем последовательный порт для HC12
}

void loop() {
  if(HC12.available()){                     // Если данные от HC12 получены
    Serial.write(HC12.read());              // Отправляем эти данные в компьютер
    }
  if(Serial.available()){                   // Если данные от компьютера получены
    HC12.write(Serial.read());              // Отправляем эти данные в HC12
  }
}



© digitrode.ru


Теги: Arduino, HC-12



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий