433模块解码,再发送,为什么目标不响应-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2856|回复: 6

[未解决] 433模块解码,再发送,为什么目标不响应

[复制链接]
发表于 2021-7-5 10:46 | 显示全部楼层 |阅读模式
使用RCSwitch库,想控制大门

10:38:00.444 -> Decimal: 7151512 (24Bit) Binary: 011011010001111110011000 Tri-State: not applicable PulseLength: 441 microseconds Protocol: 1
10:38:00.579 -> Raw data: 13790,394,1424,1381,439,1376,444,382,1436,1376,444,1371,444,366,1451,1367,447,378,1443,377,1441,377,1440,1367,450,1368,445,1371,449,1360,471,1352,453,1354,464,362,1454,369,1456,1355,459,1365,448,379,1441,377,1439,371,1448,
以上由433超再生模块发送。arduino和接收模块通过串口输出

10:38:00.816 ->
10:38:06.115 -> Decimal: 7151512 (24Bit) Binary: 011011010001111110011000 Tri-State: not applicable PulseLength: 442 microseconds Protocol: 1
10:38:06.251 -> Raw data: 13704,429,1357,1297,494,1295,491,413,1361,1304,482,1282,491,1299,479,422,1360,1293,495,410,1374,413,1362,420,1358,1304,496,1280,488,1295,477,1303,473,1308,480,406,1395,373,1557,15,92,215,517,1293,489,415,1344,433,1361,
以上是按下遥控器后,arduino和接收模块通过串口输出

情况就是输出明明是一样的,可是我的发送的却不能控制大门。。。
有什么区别吗?

发表于 2021-7-5 10:52 | 显示全部楼层
程序贴上来
 楼主| 发表于 2021-7-5 14:18 | 显示全部楼层
  1. /*
  2.   Example for different sending methods
  3.   
  4.   https://github.com/sui77/rc-switch/
  5.   
  6. */

  7. #include <RCSwitch.h>

  8. RCSwitch mySwitch = RCSwitch();

  9. void setup() {

  10.   Serial.begin(9600);
  11.   
  12.   // Transmitter is connected to Arduino Pin #10  
  13.   mySwitch.enableTransmit(3);
  14.   
  15.   // Optional set protocol (default is 1, will work for most outlets)
  16.   // mySwitch.setProtocol(2);

  17.   // Optional set pulse length.
  18.    mySwitch.setPulseLength(440);
  19.   
  20.   // Optional set number of transmission repetitions.
  21.    mySwitch.setRepeatTransmit(1);
  22.   
  23. }

  24. void loop() {

  25.   //Same switch as above, but using binary code
  26.   mySwitch.send("011011010001111110010010");
  27.   delay(10000);  
  28.   
  29. }
复制代码

以上为发的代码。
收的代码就是RCSwitch的示例程序
  1. #include <RCSwitch.h>

  2. RCSwitch mySwitch = RCSwitch();

  3. void setup() {
  4.   Serial.begin(9600);
  5.   mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
  6. }

  7. void loop() {
  8.   if (mySwitch.available()) {
  9.     output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
  10.     mySwitch.resetAvailable();
  11.   }
  12. }
复制代码
发表于 2021-7-5 15:17 | 显示全部楼层
本帖最后由 ahua7336 于 2021-7-5 15:42 编辑
  1. /*
  2.   Example for different sending methods
  3.   
  4.   https://github.com/sui77/rc-switch/
  5.   
  6. */

  7. #include <RCSwitch.h>

  8. RCSwitch mySwitch = RCSwitch();

  9. void setup() {

  10.   Serial.begin(9600);
  11.   
  12.   // Transmitter is connected to Arduino Pin #10  
  13.   mySwitch.enableTransmit(3);
  14.   
  15.   // Optional set protocol (default is 1, will work for most outlets)
  16.   // mySwitch.setProtocol(2);

  17.   // Optional set pulse length.
  18.    mySwitch.setPulseLength(441);
  19.   
  20.   // Optional set number of transmission repetitions.
  21.    mySwitch.setRepeatTransmit(1);
  22.   
  23. }

  24. void loop() {

  25.   //Same switch as above, but using binary code
  26.   mySwitch.send(7151512,24);
  27.   delay(10000);  
  28.   
  29. }
复制代码

试试看
 楼主| 发表于 2021-7-5 15:43 | 显示全部楼层
ahua7336 发表于 2021-7-5 15:17
/*
  Example for different sending methods
  

十进制,setPulseLength 都试过,前辈的朝外差模块推荐推荐我试试
 楼主| 发表于 2021-7-5 15:50 | 显示全部楼层

前辈加 275445081 麻烦了你了!!
发表于 2021-7-5 17:18 | 显示全部楼层
gutao3800 发表于 2021-7-5 15:50
前辈加 275445081 麻烦了你了!!

加你Q了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 03:49 , Processed in 0.076958 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表