Не принимает сигнал 433 MHz

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Доброго времени суток!

Есть в наличии приемник и передатчик 433 MHz.

[​IMG] 



Использовал несколько библиотек. Подключал к D2.

Пробовал принять сигнал от брелка 433 MHz. 

Но данные принять так и не далось.

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

Причина в неисправном приемнике, или что то делаю не так ? 

Прошу помощи.

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Проверь работают ли модули - библиотекой RemoteSwitch

( RemoteReceiver.h , RemoteTransmitter.h) 

 

У меня 5 комплектов приехало вчера, сегодня, завтра буду проверять --- у чела было три комплекта, мы там всё перепробовали и разные передатчики и разные приемники, так и не удалось запустить --- на моих нормально всё шло..

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

p.masyukov пишет:

Проверь работают ли модули - библиотекой RemoteSwitch

( RemoteReceiver.h , RemoteTransmitter.h) 

 

У меня 5 комплектов приехало вчера, сегодня, завтра буду проверять --- у чела было три комплекта, мы там всё перепробовали и разные передатчики и разные приемники, так и не удалось запустить --- на моих нормально всё шло..

Эту библиотеку тоже пробовал, в сериал ничего не приходит(( 

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015
#include <RemoteReceiver.h>

void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT); digitalWrite(11, HIGH);
RemoteReceiver::init(0, 2, showCode); // пин 2 на дата
}
 
void loop() {
}
void showCode(unsigned long receivedCode, unsigned int period) {
Serial.print("Code: ");
Serial.print(receivedCode);
Serial.print(", period duration: ");
Serial.print(period);
Serial.println("us.");
}

и

#include "RemoteTransmitter.h"

unsigned int period = 250;//period duration
unsigned long code;//code
unsigned long transmitCode;

void setup() {
  transmitCode=666;//полученный код при помощи предыдущего скетча
  //формируем код отправки
  code = transmitCode & 0xFFFFF;
  code |= (unsigned long)period << 23;
  code |= 3L << 20;
}
 
void loop() {
RemoteTransmitter::sendTelegram(code, 2);  // пин 2 на дата
delay(1500);
}

Это работает, именно с указанными пинами на мега 2560 (на уно не пошло чтото)

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

p.masyukov пишет:

#include <RemoteReceiver.h>

void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT); digitalWrite(11, HIGH);
RemoteReceiver::init(0, 2, showCode); // пин 2 на дата
}
 
void loop() {
}
void showCode(unsigned long receivedCode, unsigned int period) {
Serial.print("Code: ");
Serial.print(receivedCode);
Serial.print(", period duration: ");
Serial.print(period);
Serial.println("us.");
}

и

#include "RemoteTransmitter.h"

unsigned int period = 250;//period duration
unsigned long code;//code
unsigned long transmitCode;

void setup() {
  transmitCode=666;//полученный код при помощи предыдущего скетча
  //формируем код отправки
  code = transmitCode & 0xFFFFF;
  code |= (unsigned long)period << 23;
  code |= 3L << 20;
}
 
void loop() {
RemoteTransmitter::sendTelegram(code, 2);  // пин 2 на дата
delay(1500);
}

Это работает, именно с указанными пинами на мега 2560 (на уно не пошло чтото)

Попроовал, ни какого результата. 

Странно, почему на Uno не работает... 

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

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

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

p.masyukov пишет:

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

Я тоже так думаю. Если проверете, пожалуйста, отпишитесь.