Библиотека RemoteSwitch. Пример передачи 433Mhz 2

Качаем библиотеку для приема и передачи https://github.com/hjgode/homewatch/tree/master/arduino/libraries/RemoteSwitch

Подключаем приемник на 2й цифровой выход и передатчик на 3й.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
* Demo for  remote switch receiver.
* For details, see RemoteReceiver.h!
*
* This sketch shows the received signals on the serial port.
* Connect the receiver to digital pin 2.
*/
 
#include
 
void setup() {
Serial.begin(115200);
 
// Initialize receiver on interrupt 0 (= digital pin 2), calls the callback "showCode"
// after 3 identical codes have been received in a row. (thus, keep the button pressed
// for a moment)
//
// See the interrupt-parameter of attachInterrupt for possible values (and pins)
// to connect the receiver.
RemoteReceiver::init(0, 3, showCode);//приемник вешаем на 2 пин(0 прерывание), 3-мин. количество повторов
}
 
void loop() {
}
 
// Callback function is called only when a valid code is received.
void showCode(unsigned long receivedCode, unsigned int period) {
// Note: interrupts are disabled. You can re-enable them if needed.
 
// Print the received code.
Serial.print("Code: ");
Serial.print(receivedCode);
Serial.print(", period duration: ");
Serial.print(period);
Serial.println("us.");
}
/*
* Demo for RF remote switch receiver.
* For details, see RemoteReceiver.h!
*
* This sketch shows the received signals on the serial port.
* Connect the receiver to digital pin 2.
*/

#include

void setup() {
Serial.begin(115200);

// Initialize receiver on interrupt 0 (= digital pin 2), calls the callback "showCode"
// after 3 identical codes have been received in a row. (thus, keep the button pressed
// for a moment)
//
// See the interrupt-parameter of attachInterrupt for possible values (and pins)
// to connect the receiver.
RemoteReceiver::init(0, 3, showCode);//приемник вешаем на 2 пин(0 прерывание), 3-мин. количество повторов
}

void loop() {
}

// Callback function is called only when a valid code is received.
void showCode(unsigned long receivedCode, unsigned int period) {
// Note: interrupts are disabled. You can re-enable them if needed.

// Print the received code.
Serial.print("Code: ");
Serial.print(receivedCode);
Serial.print(", period duration: ");
Serial.print(period);
Serial.println("us.");
}

Для передачи полученного кода напишем :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <RemoteTransmitter.h>
unsigned int period = 464;//period duration
unsigned long code;//code
unsigned long transmitCode;
 
void setup() {
transmitCode=524650;//полученный код при помощи предыдущего скетча
//формируем код отправки
code = transmitCode & 0xFFFFF;
code |= (unsigned long)period << 23;
code |= 3L << 20;
}
 
void loop() {
RemoteTransmitter::sendTelegram(code,3);//3-пин к которому подключен передатчик
delay(2000);
}
#include <RemoteTransmitter.h>
unsigned int period = 464;//period duration
unsigned long code;//code
unsigned long transmitCode;

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

void loop() {
RemoteTransmitter::sendTelegram(code,3);//3-пин к которому подключен передатчик
delay(2000);
}

Источник:http://harizanov.com/2013/02/433mhz-ook-with-funky-v2-to-remotely-control-power-sockets/

2 комментс для “Библиотека RemoteSwitch. Пример передачи 433Mhz

  1. Ответить Рус2014 Дек 13, 2014 19:24

    Подскажите как скачать отсюда библиотеку? у меня не отображается кнопка Download ZIP
    https://github.com/hjgode/homewatch/tree/master/arduino/libraries/RemoteSwitch

Добавить комментарий