Подключение SI4432 к Ардуино
По сути это означает применение устройства в проектах контроля температурных (и других) показаний, в качестве сенсоров влажности, для усовершенствования систем полива в с ∕ х, на промышленных предприятиях и т.п. Кроме того, прибор подходит для конструирования цифровых систем домашней автоматизации и конечно - «умных домов».
Поговорим о технических характеристиках радио модуля:
- напряжение питания: 1.8-3.6V;
- скорость передачи: 0.123-256 kbps;
- диапазон рабочих температур: -20 ... +60 °C;
- виды модуляции: FSK, GFSK, OOK;
- мощность передатчика: до +20 dBm;
- чувствительность: до 121дБм;
- антенна: 16мм (высота);
- размеры: 16,5 х 16,5 мм;
- вес: приблизительно 2 г.
Обратите внимание на распиновку выводов (зависит от версии и наличия гребенки):
Далее рассмотрим схему подключения. Для ее реализации нам нужны такие аппаратные компоненты: микроконтроллер 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). Напоминаем, любую схему можно модернизировать и изменить. В этом конкретном случае можно добавить еще один контроллер и макетную плату для отправки информации по радиосвязи, а также при желании подключить другие дополнительные датчики и модули. Все в ваших руках! Желаем удачной компиляции!
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
Сегодня речь пойдет о том, как подключить модуль MAX7219 к Ардуино, и что собственно он собой представляет. Начнем с последнего пункта. Речь идет о...
Преобразователь на базе микросхемы Max6675 – отличное решение для внедрения в любой современный проект. Данное устройство широко применяется для измерения как...
На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...
В этой статье обсуждаем подключение датчика температуры DS18B20 к Arduino. О подобных устройствах мы говорили мало, но это не означает, что их редко...