解码433Mhz发射器信号如何在Arduino中获取二进制代码以供重用

问题描述 投票:0回答:1

我正在尝试从空调控制器的接收器中复制一个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));
}

绘图仪图像:Wave Image

几乎可以确定我收到的波浪就是那部分。如果您能够帮助我解决这一问题,请说明如何执行此操作。 Thx

arduino signals decoding binary-data waveform
1个回答
0
投票

如何解码要获取二进制格式的代码以使用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串行监视器,然后开始按遥控器上的按钮。按下每个按钮一次后,您会看到每个按钮的二进制代码(以红色突出显示):<code>enter image description here</code>保存每按一次按钮的二进制代码(也可以使用十进制或三态代码):

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);
}

因此没有截波信号或类似信号,只需系统地按下按钮即可记录和重放。

© www.soinside.com 2019 - 2024. All rights reserved.