Подключение SI4432 к Ардуино

4-03-2020, 16:58 0 комментариев
В данном материале хотим рассмотреть подключение SI4432 к Arduino, параметры модуля и сферу его применения. Пожалуй, начнем с последнего пункта. Подобные датчики предназначены для использования в системах, в которых задействована беспроводная передача цифрового сигнала на довольно большие расстояния (между двумя объектами). 

По сути это означает применение устройства в проектах контроля температурных (и других) показаний, в качестве сенсоров влажности, для усовершенствования систем полива в с ∕ х, на промышленных предприятиях и т.п. Кроме того, прибор подходит для конструирования цифровых систем домашней автоматизации и конечно - «умных домов».

Поговорим о технических характеристиках радио модуля:
  • напряжение питания: 1.8-3.6V;
  • скорость передачи: 0.123-256 kbps;
  • диапазон рабочих температур: -20 ... +60 °C;
  • виды модуляции: FSK, GFSK, OOK;
  • мощность передатчика: до +20 dBm;
  • чувствительность: до 121дБм;
  • антенна: 16мм (высота);
  • размеры: 16,5 х 16,5 мм;
  • вес: приблизительно 2 г.
Функционирует в диапазоне частот 240 - 930 МГц (расстояние: до 1 км на открытом пространстве и 100 – 300 метров в закрытом). 
Обратите внимание на распиновку выводов (зависит от версии и наличия гребенки):
Далее рассмотрим схему подключения. Для ее реализации нам нужны такие аппаратные компоненты: микроконтроллер Arduino Uno, источник питания (3.3 В), датчик радиомодуля, соединительные провода, макетная плата.

Для облегчения процесса прошивки будем использовать специализированный софт – библиотеки RF22 и Wire (для управления интерфейсом). Их нужно скачать и инсталлировать в среду программирования IDE (стандартная папка libraries). 

Напишем простой скетч (для тестирования отправки и получения значений):
#include <SPI.h>
#include <RH_RF22.h>  // http://www.airspayce.com/mikem/arduino/RF22/index.html

RH_RF22 rf22(10, 2);    // СS, INT .. по умолчанию 10, (D2)

 
void setup() {
    Serial.begin(9600);
  if (!rf22.init()) // по умолчанию, мощьность 8DBM, частота 434.0MHz, 0.05MHz AFC pull-in, modulation FSK_Rb2_4Fd36
    Serial.println("init failed");  
  

  rf22.setTxPower(RH_RF22_RF23B_TXPOW_1DBM);        // RH_RF22_TXPOW_1DBM 
                                                    // RH_RF22_TXPOW_2DBM 
                                                    // RH_RF22_TXPOW_5DBM 
                                                    // RH_RF22_TXPOW_8DBM 
                                                    // RH_RF22_TXPOW_11DBM 
                                                    // RH_RF22_TXPOW_14DBM 
                                                    // RH_RF22_TXPOW_17DBM 
                                                    // RH_RF22_TXPOW_20DBM 
  
  rf22.setFrequency(446.0);                         // частота 466.0мгц, шаг 0.05мгц.
//  rf22.setFrequency(446.0, 0.1);                  // тоже, но с автоподстройкой в 100кгц (по умолчанию 0,05)
                    
  rf22.setModemConfig(RH_RF22::GFSK_Rb2_4Fd36);     // скорость и модуляция, Rb = 2.4kbs, Fd = 36kHz. 
                          // http://www.airspayce.com/mikem/arduino/RF22/classRF22.html#a76cd019f98e4f17d9ec00e54e5947ca1
}

void loop() { 
  
    uint8_t data[] = "Hello!";                      // заполняем массив
      
    rf22.send(data, sizeof(data));                 // отправляем 
    rf22.waitPacketSent();                          // ждем пока пакет будет отправлен

    delay(500);                                     // просто ждем
}
Проверить корректность полученных значений можно в мониторе последовательного порта (Ctrl+Shift+M). 

Напоминаем, любую схему можно модернизировать и изменить. В этом конкретном случае можно добавить еще один контроллер и макетную плату для отправки информации по радиосвязи, а также при желании подключить другие дополнительные датчики и модули. Все в ваших руках! Желаем удачной компиляции!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

Сегодня речь пойдет о том, как подключить модуль MAX7219 к Ардуино, и что собственно он собой представляет. Начнем с последнего пункта. Речь идет о...

Преобразователь на базе микросхемы Max6675 – отличное решение для внедрения в любой современный проект. Данное устройство широко применяется для измерения как...

На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...

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

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