我正在尝试从空调控制器的接收器中复制一个433Mhz的波,我能够接收到该波,但是我不知道如何将其用于发射器中。我正在为Arduino使用接收器和发射器RF模块。我尝试了RC-Switch库,但没有成功。这是我要复制的控制器https://www.youtube.com/watch?v=H_PyVQf_4i8我拥有的代码:
#define DATA 2
void setup() {
Serial.begin(9600);
pinMode(DATA, INPUT);
}
void loop() {
Serial.println(digitalRead(DATA));
}
几乎可以确定我收到的波浪就是那部分。如果您能够帮助我解决这一问题,请说明如何执行此操作。 Thx
如何解码要获取二进制格式的代码以使用download the library RC_switch 2.6.3,并通过Sketch -> Library manager -> Add zip library
将其安装到库目录中。然后加载File > Examples > RC_Switch > ReceiveDemo_Advanced
并编译到板上。上传草图后,将433MHz RF接收器连接至Arduino UNO板的Digital Pin 2
。打开Arduino IDE串行监视器,然后开始按遥控器上的按钮。按下每个按钮一次后,您会看到每个按钮的二进制代码(以红色突出显示):保存每按一次按钮的二进制代码(也可以使用十进制或三态代码):
Button 3 ON = (24Bit) Binary: 000101010101000101010101
Button 3 OFF = (24Bit) Binary: 000101010101000101010100
Button 4 ON = (24Bit) Binary: 000101010101010001010101
Button 4 OFF = (24Bit) Binary: 000101010101010001010100
保存您的脉冲长度:416微秒和协议:1。如何发送您需要使用您的二进制代码,脉冲长度和协议来自定义下一个草图:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #10
mySwitch.enableTransmit(10);
// Optional set pulse length.
mySwitch.setPulseLength(REPLACE_WITH_YOUR_PULSE_LENGTH);
// Optional set protocol (default is 1, will work for most appliancies)
mySwitch.setProtocol(REPLACE_WITH_YOUR_PROTOCOL);
// Optional set number of transmission repetitions.
// mySwitch.setRepeatTransmit(15);
}
void loop() {
// Binary code - button 3 ON
mySwitch.send("000101010101000101010101"); // YOUR_CODE_HERE
delay(1000);
// Binary code - button 3 OFF
mySwitch.send("000101010101000101010100"); // YOUR_CODE_HERE
delay(1000);
// Binary code - button 4 ON
mySwitch.send("000101010101010001010101"); // YOUR_CODE_HERE
delay(1000);
// Binary code - button 4 OFF
mySwitch.send("000101010101010001010100"); // YOUR_CODE_HERE
delay(1000);
}
因此没有截波信号或类似信号,只需系统地按下按钮即可记录和重放。