Есть люстра управляемая с пульта, появилась идея сделать так, чтобы совместно с будильником в комнате включался свет,так как я часто не слышу будильника.
Открыл коробку с мозгами люстры , внутри модуль приёмника от FS1000A (XD-RF-5V).
При реализации прошлого проекта ,"радиоуправление для гусеничного вездехода на основе джойстика от SEGA", мною были куплены модули (приёмник/передатчик) на 315 и 433 mhz. Я их немного по тестировал и забросил, так как реализовал проект на NRF24L01.
Установил библиотеку RCSwitch, и подключил по очереди приёмники. Стандартный скетч из примера библиотеки отреагировал на пульт при приёмнике 315 mhz
Вывод получился такой при нажатии на 3 разные кнопки.
Received 7672067 / 24bit Protocol: 1
Received 7672256 / 24bit Protocol: 1
Received 7672076 / 24bit Protocol: 1
После этого , я подключил передатчик на 315 mzh и отправляю те же данный но люстра не реагирует.
Фактически накосячить тут трудно, но видимо есть какой то секрет , работы или с библиотекой или с модулем, которого я не знаю. В чем может быть дело ?
Антенна к модулю передатчика нужной длины припаяна(230 мм ).
Открыл коробку с мозгами люстры , внутри модуль приёмника от FS1000A (XD-RF-5V).
При реализации прошлого проекта ,"радиоуправление для гусеничного вездехода на основе джойстика от SEGA", мною были куплены модули (приёмник/передатчик) на 315 и 433 mhz. Я их немного по тестировал и забросил, так как реализовал проект на NRF24L01.
Установил библиотеку RCSwitch, и подключил по очереди приёмники. Стандартный скетч из примера библиотеки отреагировал на пульт при приёмнике 315 mhz
Код примера получения данных:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.print("Protocol: ");
Serial.println( mySwitch.getReceivedProtocol() );
mySwitch.resetAvailable();
}
}
Received 7672067 / 24bit Protocol: 1
Received 7672256 / 24bit Protocol: 1
Received 7672076 / 24bit Protocol: 1
После этого , я подключил передатчик на 315 mzh и отправляю те же данный но люстра не реагирует.
Код отправки разными способами взятыми из примера:
#include <RCSwitch.h>
RCSwitch mySwitch;
void setup() {
Serial.begin(115200);
Serial.println("Started");
mySwitch.enableTransmit(2);
mySwitch.setProtocol(1);
//mySwitch.setPulseLength(320);
// Optional set number of transmission repetitions.
//mySwitch.setRepeatTransmit(15);
// put your setup code here, to run once:
}
/*
17:49:39.914 -> Data: 7672067
17:49:39.914 -> Data: 7672256
17:49:39.914 -> Data: 7672076
*/
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available() > 0) {
// get incoming byte:
uint8_t inByte = Serial.read();
switch (inByte) {
case '1':
Serial.println("send 1 ");
mySwitch.send(7672067, 24);
break;
case '2':
Serial.println("send 2 ");
mySwitch.sendTriState("751103");// hex
break;
case '3':
Serial.println("send 3 ");
mySwitch.send("00000000011101010001000100000011"); // bin
break;
default: break;
}
}
}
Антенна к модулю передатчика нужной длины припаяна(230 мм ).