30 лет мы работаем для разработчиков, изготовителей и ремонтников электроники
Практические занятия робототехника. Конструктор ROBOT BIN CLASSIC

Методы оплаты Методы оплаты
Покупайте товар со скидкой, выбирая эти формы оплаты!
Прайс-листы DESSY.RU для скачивания
Партнерская программа
Наши акции
 
Архив новостей Архив новостей
Новости Новости!
Распечатать
Код товара: RDKT0390    

Модуль RF039. Приёмопередатчик SI4432 (240...960 МГц)

Бренд: DIY
Нам очень жаль, но ТОВАРА НЕТ В НАЛИЧИИ! Когда он появится - мы автоматически Вас известим об этом, стоит только прописать свой email в системе уведомления, нажав на текст Уведомить о товаре.

Уведомление о появлении товара на складе

При появлении на нашем складе данного товара, на указанный вами адрес будет выслано уведомление

Модуль RF039. Приёмопередатчик SI4432 (240...960 МГц)

Обратите внимание на близкий
по назначению товар:


Модули RF002. Комплект из приёмника и передатчика для Arduino на 433,92 МГц

Модули RF002. Комплект из приёмника и передатчика для Arduino на 433,92 МГц

Модуль RF044. LoRa SX1278 RA-01. Беспроводной модуль до 10 км

Модуль RF044. LoRa SX1278 RA-01. Беспроводной модуль до 10 км
Модуль RF039. Приёмопередатчик SI4432 (240...960 МГц) 


  Если необходимо совместить маленький размер и потребление радиомодулей с большим радиусом действия, тогда можно использовать модуль SI4432. Это самый мощный из разрешённых на территории РФ приёмопередатчик, который реализует передачу данных до 1,5 км на открытой местности и 150…500 метров в условиях городской или промышленной застройки.
  Данный модуль реализован на базе трансивера SI4432. Однокристальный трансивер SI4432 имеет чувствительность приёмника 121 dBm. Мощность передатчика до +20 dBm (возможна программная настройка с шагом 3 dBm), что обеспечивает устойчивую связь до 1 км на открытой местности и 100…300 м в помещении. Имеется встроенная функция разнесённого приёма (Antenna Diversity). Микросхема способна работать на частотах 240…960 МГц с шагом 156 Гц (240…480 МГц) или 312 Гц (480…960 МГц). Также микросхема имеет такие особенности как: таймер автоматического пробуждения, детектор низкого заряда батареи, 64-х байтный буфер приёма/передачи, автоматический обработчик пакетов, датчик температуры, 8-ми разрядный АЦП, источник опорного напряжения, три вывода GPIO, различные виды модуляции сигнала (OOK, FSK, GFSK) и др. Микросхема работает от постоянного напряжения 1,8…3,6 В.


Назначение выводов модуля RF039. Приёмопередатчика SI4432 (240...960 МГц):

Назначение выводов модуля RF039. Приёмопередатчика SI4432 (240...960 МГц) 


  Обмен с микроконтроллером по интерфейсу SPI (используются выводы NSEL, SCLK, SDI, SDO), NIRQ - вывод прерываний (если произошло событие приём/передача, то уровень на этом выводе переходит в LOW). Для сопряжения модуля с Arduino (5 В) понадобится преобразователь уровней 3.3V/5V (СМОТРИ ТУТ).
  Для работы с Arduino используется библиотека RF22.

 Характеристики:
  • Напряжение питания: 1,8...3,6 В;
  • Рабочая частота: 240...930 МГц (433,92 MГц по умолчанию);
  • Выходной сигнал: 20 дБц;
  • Чувствительность: До 121 дБц;
  • Дальность передачи: До 1 км;
  • Скорость передачи данных: До 256 Кб/с;
  • Модуляция: FSK, GFSK, OOK;
  • Диапазон рабочих температур: -10...+45 градусов Цельсия;
  • Относительная влажность: 5...80 % (без образования конденсата);
  • Длина антенны: 35 мм;
  • Размеры устройства: 15 x 15 x 6 мм;
  • Общая масса набора: ~1 г.

 Комплект поставки:
  • Модуль SI4432;
  • Антенна;
  • Штыревой разъём для пайки.



Программные коды для модуля RF039. Приёмопередатчика SI4432 (240...960 МГц). ZIP-файл (95 КБ)

Программные коды для модуля RF039.
Приёмопередатчика SI4432 (240...960 МГц).
ZIP-файл (95 КБ)



  Рассмотрим пример передачи данных температуры и влажности с высокоточного датчика SHT21, работающего по протоколу I2C, между платами Arduino c модулями SI4432. Первая плата Arduino с периодичностью 60 секунд отправляет запрос "tempSHT21" или "humiditySHT21" и переходит в режим приёмника для получения ответа. Затем получает данные, обрабатывает и выводит в последовательный порт.


Схема подключения модуля RF039. Приёмопередатчика SI4432 (240...960 МГц):

Схема подключения модуля RF039. Приёмопередатчика SI4432 (240...960 МГц) 


 Содержимое скетча:
// подключение библиотек
#include
#include
// создание объекта radio
RF22 rf22;

int flag1=0;
unsigned int millissend=0;

void setup() {
Serial.begin(9600);
// инициализация si4432
if (!rf22.init())
Serial.println("RF22 init failed");
else
Serial.println("RF22 init OK!!!");
}

void loop() {
// прошло 60 секунд
if(millis()-millissend>=60000) {
if (flag1==0) {
uint8_t data[] = "tempSHT21";
rf22.send(data, sizeof(data));
Serial.print("tempSHT21=");
}
else {
uint8_t data[] = "humiditySHT21";
rf22.send(data, sizeof(data));
Serial.print("humiditySHT21=");
}
//
rf22.waitPacketSent();
uint8_t buf[RF22_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);
// ждать не более 4 секунд
if (rf22.waitAvailableTimeout(4000)){
if (rf22.recv(buf, &len)) {
sscanf((char*)buf,"%d",&pint);
Serial.println(pint);
}
else {
Serial.println("error");
}
flag=1-flag;
millissend=millis();
}
}

  Вторая плата Arduino, к которой подключён датчик SHT21 слушает эфир, и при получении данных "tempSHT21" или "humiditySHT21" получает данные с датчика DHT11, переходит в режим передатчика и отправляет данные на первую плату.


Схема подключения модуля RF039. Приёмопередатчика SI4432 (240...960 МГц):

Схема подключения модуля RF039. Приёмопередатчика SI4432 (240...960 МГц) 


 Содержимое скетча:
// подключение библиотек
#include
#include
#include
#include

// создание объекта radio
RF22 rf22;

void setup() {
Wire.begin();
Serial.begin(9600);
// инициализация si4432 с настройками по умолчанию
if (!rf22.init())
Serial.println("RF22 init failed");
else
Serial.println("RF22 init OK!!!");
}

void loop() {
// ожидание данных
rf22.waitAvailable();
uint8_t buf[RF22_MAX_MESSAGE_LEN];
uint8_t len = sizeof(buf);
if (rf22.recv(buf, &len)) {
// вывести полученные данные в serial
Serial.print("get request: ");
Serial.println((char*)buf);
// данные для отправки ответа
char data[] = "send answer to client";
// запрошена температура
if(StrContains((char*)buf,"tempSHT21")!=0)
{
// получение данных температуры
Serial.print(" Temperature(C): ");
Serial.println(SHT2x.GetTemperature());
dtostrf(SHT2x.GetTemperature()*10,10,0,data);
}
// запрошена влажность
else if(StrContains((char*)buf,"humiditySH21")!=0)
{
// получение данных влажности
Serial.print("Humidity(%RH): ");
Serial.println(SHT2x.GetHumidity());
dtostrf(SHT2x.GetHumidity()*10,10,0,data);
}
else
{
Serial.println("error");
dtostrf(999,10,0,data);
}

// отправка ответа
rf22.send((uint8_t*)data, sizeof(data));
rf22.waitPacketSent();
Serial.println("Sent a reply");
}
else
{
Serial.println("recv failed");
}
}
// сравнение строк на идентичность
// 1 если да
// 0 - нет
char StrContains(char *str, char *sfind) {
char found = 0;
char index = 0;
char len;

len = strlen(str);

if (strlen(sfind) > len)
{return 0;}
while (index < len)
{
if (str[index] == sfind[found])
{
found++;
if (strlen(sfind) == found)
{return 1;}
}
else
{found = 0;}
index++;
}
return 0;
}


------------------
КВЛЕ0390:370