Радио связь 433MHz

Artemon29
Artemon29 аватар
Offline
Зарегистрирован: 19.01.2013

Вот есть модуль радио приемника http://dx.com/ru/p/diy-433mhz-wireless-receiving-module-for-arduino-gree... и модуль радио передатчика http://dx.com/ru/p/433mhz-wireless-transmitter-module-superregeneration-for-arduino-green-149254.Почему у передатчика 1 контакт для данных, а у приемника 2?И как именно подключать эти модули к Arduino?Нужны ли библиотеки к ним?

maxi_10
Offline
Зарегистрирован: 05.01.2012

Два средних контакта паралельны!

Если не ошибаюсь эти модули называются "Радио-удлинитель"

Работает следующим образом: подоёшь на передатчик "1" соответствующее значение (1) появляется на приемнике.

ishimcity
Offline
Зарегистрирован: 24.01.2012

Использовал библиотеку RCswitch , приемник вешаеться Data на пин 2 ! Передатчик,если будете использовать на 10 пин! все просто!

IvanDeft
Offline
Зарегистрирован: 05.01.2013

А есть ли какие нибудь облегченные но работающие библиотеки для ATtiny камней??? Для 85 или для 2313. Задача по радио каналу получить сигнал и включить линейку светодиодов, не охода целую 328 отдавать под это ((

ustas
Offline
Зарегистрирован: 12.03.2012

да куда уж проще. Можно совсем без библиотек.

Эти приемник-передатчик работают максимально просто. На передатчик подаете "единичку" - на приемнике на выходе та же "единичка" придет.

Можете сами себе придумать какой-нибудь формат сообщения и в нем кодировать то, что хотите принять. Попробуйте.

IvanDeft
Offline
Зарегистрирован: 05.01.2013

Тобишь есть поднять лог 1 на входе передатчика, то на выходе приемника тоже будет лог 1???

ustas
Offline
Зарегистрирован: 12.03.2012

именно

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Пытаюсь  поймать сигнал на 433Мгц

Модуль XY-MK-5V (похож на модуль автора)

//
// светодиод, подключённый к digital pin 13 будет изменять своё 
// состояние при изменении напряжения на digital pin 2
//
int pin = 13;
volatile int state = LOW;

void setup()
{
  pinMode(pin, OUTPUT);              // порт как выход
  attachInterrupt(0, blink, CHANGE); // привязываем 0-е прерывание к функции blink().
}

void loop()
{
  digitalWrite(pin, state);          // выводим state  
}

void blink()
{
  state = !state;                    // меняем значение на противоположное
}

Ничего не ловит. Ик диод на месте модуля 433 нормально работает

Неисправный радиомодуль?

zsm@nxt.ru
Offline
Зарегистрирован: 27.05.2013

Здесь очень подробно описано. Разберите примеры от простого к сложному.

the_wall
Offline
Зарегистрирован: 06.06.2013

Здравствуйте.

Есть вопросы по дальности.

У меня получается передать информацию только примерно на 100м.

Запитываю передатчик от 12в, антена обычный проводок 20см.

Возможно ли добиться дальности от 300метров. 

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

the_wall пишет:

Здравствуйте.

Есть вопросы по дальности.

У меня получается передать информацию только примерно на 100м.

Запитываю передатчик от 12в, антена обычный проводок 20см.

Возможно ли добиться дальности от 300метров. 

Либо цепляете дорогие внешнии антенны на 433Мгц. Что-нибудь типа этой

Либо другие модули на 433МГц, а лучше 2.4ГГц

the_wall
Offline
Зарегистрирован: 06.06.2013

Спасибо. То что нужно.

the_wall
Offline
Зарегистрирован: 06.06.2013

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

Сейчас я пользуюсь таким  http://www.ebay.com/itm/1-DC-DC-Buck-Converter-Step-Down-Module-LM2596-Power-Supply-Output-1-23V-30V-EK-/171145964779?pt=LH_DefaultDomain_0&hash=item27d9182ceb

Т.е. кручу подстроечный резистор тем самым изменяю напряжение для передатчика.  

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

А зачем?

У вас есть 3.3В, 5В и напряжение БП. Можно ими и варьировать.

Разве что повышающий блок поставить и подать на модуль 12В. Пусть на 5 километров работает :)

ИМХО, увеличивать расстояние нужно при помощи антенны.

the_wall
Offline
Зарегистрирован: 06.06.2013

Я понял, но в таком случае мы получим только 2 напряжения, соответственно и 2 расстояния. А мне условно надо 10 расстояний.

Roman-12
Offline
Зарегистрирован: 06.04.2012

Как вариант http://www.stroimdom.com.ua/forum/showpost.php?p=2461902&postcount=245

108 грн. 1 пульт и три розетки. 

Можно управлять розетками напрямую Arduino при подключении модуля трансивера на 433.92

bsdshneg
Offline
Зарегистрирован: 21.10.2014

the_wall пишет:

Здравствуйте.

Есть вопросы по дальности.

У меня получается передать информацию только примерно на 100м.

Запитываю передатчик от 12в, антена обычный проводок 20см.

Возможно ли добиться дальности от 300метров. 

100 метров? .. это как? ))))

У меня со спиральными антеннами на скорости 2к с помощью библиотеки virtualwire 1 метр и пипец (((((

Народ, понимаю, что тема уже старая, но всё же, пните в правильном направлении, что может быть не так?

У меня имеется:

модули:

http://ru.aliexpress.com/item/433Mhz-RF-transmitter-and-receiver-link-kit-for-Arduino-ARM-MCU-WL/727446271.html

антенны

http://ru.aliexpress.com/item/10pcs-lot-SW433-TH10-433MHz-11-3mm-helical-antenna-2-15-dBi-Goldern-Copper-spring-RF/32216591709.html

Антенны ясное дело припаял :)

Передаю строку, но на расстоянии более метра ничего не приходит ((((

 

Передатчик



#include <VirtualWire.h>
#include <dht11.h>

dht11 DHT;
#define DHT11_PIN 4

const int transmit_pin = 12;
const int receive_pin = 11;

void setup(void)
{
  vw_set_tx_pin(transmit_pin);
  vw_set_rx_pin(receive_pin);
  vw_set_ptt_inverted(true); // Необходимо для DR3100
  vw_setup(2000); // Устанавливаем скорость передачи (бит/с)
}

int getWeather(String type) {
  DHT.read(DHT11_PIN);    // READ DATA

  if (type == "temp") {
    return (int)DHT.temperature; 
  }
                
  if (type == "hum") {
    return (int)DHT.humidity;
  }
}

void loop(void)
{
  char msg[255];
  String strMsg;
  
  String temp = (String)getWeather("temp");
  String hum = (String)getWeather("hum");

  strMsg = "DHT11,DHT1101,1,"+temp+","+hum+",0,DHT11";
  strMsg.toCharArray(msg, 100);

  vw_send((uint8_t *)msg, strlen(msg));
  vw_wait_tx(); // Ждем пока передача будет окончена
  delay(2000);
}

 

Приёмник

#include <VirtualWire.h>

const int transmit_pin = 12;
const int receive_pin = 11;

char data[100];

char mode[4];
char addres[10];
char value1[14];
char value2[14];
char value3[14];
char value4[4];
char modecontrol[4];

int i;

void setup()
{
  Serial.begin(9600);
  
  // Initialise the IO and ISR
  vw_set_tx_pin(transmit_pin);
  vw_set_rx_pin(receive_pin);
  vw_set_ptt_inverted(true); // Required for DR3100
  vw_setup(2000);       // Bits per sec
  vw_rx_start(); // Начинаем мониторинг эфира
}

void loop()
{
  uint8_t buf[VW_MAX_MESSAGE_LEN]; // Буфер для сообщения
  uint8_t buflen = VW_MAX_MESSAGE_LEN; // Длина буфера

  if (vw_get_message(buf, &buflen)) // Если принято сообщение
  {

    for (i = 0; i < buflen; i++)
    {
      data[i]=buf[i];
    }
    
    sscanf(data, "%[^','],%[^','],%[^','],%[^','],%[^','],%[^','],%s", &mode, &addres, &value1, &value2, &value3, &value4, &modecontrol);
    
    Serial.print(mode);
    Serial.print(",");
    Serial.print(addres);
    Serial.print(",");
    Serial.print(value1);
    Serial.print(",");
    Serial.print(value2);
    Serial.print(",");
    Serial.print(value3);
    Serial.print(",");
    Serial.print(value4);
    Serial.print(",");
    Serial.print(modecontrol);
    Serial.println();

  }
}

 

bsdshneg
Offline
Зарегистрирован: 21.10.2014

Да и ещё, у меня на антеннках 20 витков .. или 21, не помню точно, а где-то читал, что должно быть 17 (вроде) .. это не сильно критично?

zhenya_alex
Offline
Зарегистрирован: 09.06.2015

Аналогичная проблема, как у bsdshneg. Использую комплект радиомодулей (припаяны провода 17,3см в качестве антенн) + библиотека virtualwire + библиотека easytransfer. Скетчи по примерам, как только отношу передатчик от приёмника на расстояние более 1м, передача прекращается. Может кто-нибудь подскажет, в чём причина ?

n006
Offline
Зарегистрирован: 12.02.2015

Та же  история. Даже с внешней антенной не удалось заставить работать дальше 1--2м по прямой.

Походу ..овно эти схемки для 433 + БОЛЬШАЯ проблема по питанию. Они требуют 12В для пущей дальнобойности. Представь блок пальчиковых батареек!

Заказал, жду  модули NRF24L01 на 2,4Ггц у них одни плюсы:

- питания больше 3,3В не надо

- приемник/передатчик в одном флаконе

P.S. Вместо 2-х библиотек уже есть одна, новая - http://www.airspayce.com/mikem/arduino/RadioHead/ Подойдёт и для 2,4GHz и для 433Мгц
 
.
n006
Offline
Зарегистрирован: 12.02.2015

Вот инфа с форумов:

Сверхрегенеративный приемник - это нелинейное устройство, которое бурно реагирует на любую эл-м энергию, попавшую в полосу приема. Своего рода радиометр. Только два плюса - простота и энергоэффективность.
 
То, что продается - это только, что называется, Front-End. Вместо приемника вы имеете, по-сути, весьма грубый амплитудный датчик. В качестве передатчика вы имеете тоже весьма грубый импульсный радиомаячок. Потому такая низкая цена.
 
Продавцы сознательно подменяют понятия датчик на приемник. Там просто нет приемника. Да и передатчика тоже нет. Приемник и передатчик (формирователь команд) надо создавать самостоятельно. (в нашем случае на Arduino + RadioHead)
 
anth2222
Offline
Зарегистрирован: 17.02.2016

Была похожая проблема с дальнобойностью таких же модулей. Внешний погодный модуль чуть добивал до "базовой станции". Решил протестировать модули с различными антеннами, взял другой комплект receiver/transmitter, получаю результаты:

- без антенн: 7м прямая видимость, достаточно уверенный прием, 8м качество связи заметно ухудшается

- 17 см аннтенна на приемнике: 10м прямая видимость, уверенный прием, далее заметны помехи

- 17 см антенна на приемнике и передатчике: качество увеличивается на порядок. 18м прямая видимость, уверенный прием, больше не пробовал, в квартире это самый длинный участок. Пробивает 3 стены (10-15 см газосиликат + штукатурка). Короче ловит в любых точках квартиры.

Антенна самодельная, 1 жила из витой пары. 17см. Прямая или свитая в спираль - разницы на глаз не заметил.

Питание передатчика - 3.3v (выход nano) .

По итогу, видимо мой ресивер в "базовой станции" оказался плохо подстроен. Пока настройки не крутил, заменил на запасной. Сейчас все ок.

DESArt
Offline
Зарегистрирован: 26.02.2017

Подскажите нужно сигнал передать на 1 км, как это можно организовать?

bsdshneg
Offline
Зарегистрирован: 21.10.2014

Купить модули на 1км .. на али были такие

DESArt
Offline
Зарегистрирован: 26.02.2017

ок поищем, если мне на дачном участке макс расстояние 300 метров нужно передать сигнал скажем небольшой пакет типа [00000] то хватит ли такого модуля? 

Скорость не имеет значения, такой пакет будет отправляться раз в день

https://ru.aliexpress.com/item/10set-Wireless-RF-receiver-module-Transmitter-Board-module-for-Arduino-Super-regeneration-433-MHz-DC5V-Launch/32718303724.html?spm=2114.13010608.0.0.T716E1

 

arDubino
Offline
Зарегистрирован: 12.01.2017
DESArt
Offline
Зарегистрирован: 26.02.2017

Блин это конечно крутяк, но стоимость зараза ))) че нить в пределах 300 ру желательно )

ещё такие заказал

https://ru.aliexpress.com/item/1-Set-Mini-SI4432-Remote-Wireless-Transceiver-Communication-Module-240MHZ-930MHZ-Spring-Antenna-Distance-1000m/1669837871.html?spm=2114.13010608.0.0.huQcRJ

arDubino
Offline
Зарегистрирован: 12.01.2017

ня такие https://ru.aliexpress.com/store/product/E07-M1101D-SMA-10mW-530m-433MHz-CC1100-CC1101-rf-transceiver-module-SMA-interface-RF-module-RFID/218559_32720890522.html?spm=2114.12010612.0.0.mkMYmW ищи с бесплтаной доставкой по названию 182р но доставка тут 260 итого 440

arDubino
Offline
Зарегистрирован: 12.01.2017

https://ru.aliexpress.com/item/1pcs-CC1101-wireless-module-433M-NEW-350m... вот самый дешевй вариант на том же чипе

DESArt
Offline
Зарегистрирован: 26.02.2017

Спасибо, буду пробовать

Волшебник
Offline
Зарегистрирован: 22.12.2016

Я бы не стал брать СС1101, мощность 10 дБм - это тоже самое что и те дешёвые модули на одном транзисторе выдают, метров на 50-100 может хватит.

Si4432 - 20 дБм, шкала логарифм, это 100 мВт против 10 мВт у СС1101, в 10 раз. По растоянию в 3.16 раза

kokuam
kokuam аватар
Offline
Зарегистрирован: 10.01.2017

Рекомендую RFM69HW за 219,87 руб за штучку с доставкой.
Пару недель назад тестил, на пружинку, в лесу на 450м на 1200bps относительно стабильное соединение имел, до 350м - превосходное.

p.s. на максимальной, разумеется, мощности, 20dbm.

 

https://ru.aliexpress.com/item/Free-shipping-4pcs-lot-RFM69HW-RFM69H-FSK-transceiver-module-20dBm-Frequency-433MHZ/32365508953.html?spm=2114.13010308.0.0.61LXAU