Радиомодули на 2,4ГГц c UART интерфейсом, LC12S

Радиомодули на 2.4Ггц построенные на SoC BK2461 от Beken. Внутри находится трансивер и микроконтроллер FLIP51, аналог intel 8051. Модуль работает как радиомодем, возможна полудуплексная передача данных по радио через UART интерфейс

Основные характеристики модулей:

  • Рабочая частота: 2400-2483.5 MHz.
  • Выходная мощность передатчика: до 12dBm (15.8mW)
  • Радиус действия в прямой видимости: до 120м.
  • Интерфейс: UART.
  • Энергопотребление: В режиме передачи: 40мА, Приема: 24мА, Спящем: 5мкА
  • Питание: 2.2 — 3.6V

Распиновка:

  • VCC и GND — Пояснений не требует, питание и масса, максимальное напряжение питания модуля 3,6V
  • CS — Включение модуля, чтобы включить модуль нужно на вход подать логический 0, либо соединить с массой.
  • SET — Перевод модуля в режим конфигурации, ниже подробнее
  • TXD и RXD — Интерфейс UART, толерантен к 5 вольтовой ардуино

Конфигурация модуля:

При первом включении модуля (подачи питания и подключения контакта «CS» к массе) необходимо перевести его в режим конфигурации, притянув контакт «SET» к массе. В командном режиме последовательный порт сконфигурирован на скорости 9600bps. После необходимо отправить 18 байт с настройками. Какой байт чему соответствует указано в таблице ниже. Настройки в памяти модуля не сохраняются!.

Pos Setting
10xaa (command byte)
20x5a(command byte)
3,4Module(self) ID 2 Bytes (Module-ID)
5,6Network ID 2 Bytes (please notice: transparent data transmission can be achieved with same Network ID between modules)
7NC (reserved) must be 0x00
8RF Power 1 Byte (0-14)
9NC (reserved) must be 0x00
10Baud Rate 1 Byte(0-6)
11NC (reserved) must be 0x00
12RF Channel 1 Byte (0-127)
13,14NC (reserved) must be 0x00
15NC (reserved) must be 0x00
16Length 1 Byte (0x12)
17NC (reserved) must be 0x00
18Check Sum 1 Byte (All the above bytes are added, leaving the lower 8 bits)

Настройка мощности радиопередатчика

Value(Hex) Setting(dbm)
012
110
29
38
46
53
60
7-2
8-5
9-10
10-15
11-20
12-25
13-30
14-35

Настройка скорости последовательного порта

Value(Hex) Setting (bps)
0600
11200
22400
34800
49600
519200
638400

Например для параметров:

  • Выходная мощность передатчика: 12 dbm
  • Скорость последовательного порта: 9600bps
  • Канал: 100
  • Идинтификатор модуля: 0x2233 (у модулей должен быть одинаковый ID)

строка будет иметь вид: AA5A22331122000000040064000000120006


Код из видео:

Код
#include <SoftwareSerial.h>

SoftwareSerial mySerial(8, 7); // RX, TX

void setup() {
  mySerial.begin(9600);
  Serial.begin(9600);
  pinMode(13, OUTPUT);        // SET
  pinMode(12, OUTPUT);        // CS - можно просто соединить с GND
  delay(1000);
  
  digitalWrite(12, LOW);     // притягиваем к массе 
  digitalWrite(13, LOW);
  delay(100);
  
  // AA 5A 2233 1122 00 00 00 04 00 64 00 00 00 12 00 06
  byte b = 0x00;
  mySerial.write(0xAA);  
  mySerial.write(0x5A);
  mySerial.write(0x22); 
  mySerial.write(0x33); 
  mySerial.write(0x11); 
  mySerial.write(0x22);
  mySerial.write(b);
  mySerial.write(b); 
  mySerial.write(b); 
  mySerial.write(0x04); 
  mySerial.write(b);
  mySerial.write(0x64);
  mySerial.write(b);
  mySerial.write(b);
  mySerial.write(b);
  mySerial.write(0x12);
  mySerial.write(b);
  mySerial.write(0x06);
  
  digitalWrite(13, HIGH); // выходим из настроек, 
}

void loop() {
   if (mySerial.available()) {
    Serial.write(mySerial.read());
   } 

    /// для передатчика, на приемнике ненужно.  
//  mySerial.println(millis());
//  delay(500);
}


Купить:

На али

Документация:


Видео: