极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15855|回复: 6

433M无线接收模块控制LED问题

[复制链接]
发表于 2016-12-23 10:09:58 | 显示全部楼层 |阅读模式
本帖最后由 cy289 于 2016-12-23 12:13 编辑

脚位及使用说明:
1 GND 电源负极
2 DATA 数据输出  (与Mega2560的2口相接)
3 EN 控制引脚,低电平为使能,高电平进入低功耗模式,可用IO口控制。(本人菜鸟这个脚不知道怎么用)
4 VCC 电源正极



下面这个代码 问题是接收不到信号
假设遥控器代码值:
A:2868360  B:2868356
C:2868354  D:2868355




  1. #include "RCSwitch.h"
  2. int IN1 = 13;
  3. int IN2 = 9;
  4. int IN3 = 10;
  5. int IN4 = 11;
  6. RCSwitch mySwitch = RCSwitch();
  7. volatile int state1 = LOW;      // 定义默认输入状态
  8. volatile int state2 = LOW;      // 定义默认输入状态
  9. volatile int state3 = LOW;      // 定义默认输入状态
  10. void setup() {
  11.   Serial.begin(9600);
  12.   pinMode(IN1,OUTPUT);
  13.   pinMode(IN2,OUTPUT);
  14.   pinMode(IN3,OUTPUT);
  15.   pinMode(IN4,OUTPUT);
  16.   mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
  17. }

  18. void loop()
  19. {
  20.   if (mySwitch.available())
  21.   {
  22.    char value = mySwitch.getReceivedValue();

  23.    if (value != '0') {
  24.           Serial.println(mySwitch.getReceivedValue());
  25. //           if(value =1621384)       //按A键,LED1亮
  26. //      {
  27. //        digitalWrite(IN1,HIGH);

  28. //        delay(100);
  29. //      }
  30. //      
  31.          switch (value)
  32.      {
  33.          case 1621384:  //按键A,红灯
  34.         {    state1 = !state1;
  35.             digitalWrite(IN1, state1);
  36.                           
  37.             break;
  38.         }
  39.          case 1621380:  //按键B,绿灯
  40.         {
  41.             state2 = !state2;
  42.             digitalWrite(IN2, state2);         
  43.          
  44.             break;     
  45.         }
  46.          case 1621378:     //按键C,黄灯  
  47.         {
  48.          state3 = !state3;
  49.             digitalWrite(IN3, state3);
  50.           }
  51.           break;
  52. }
  53.    }  
  54.     mySwitch.resetAvailable();
  55.   }
  56. }
复制代码
回复

使用道具 举报

发表于 2016-12-23 14:14:37 | 显示全部楼层
这个应该就是一个收到无线信号然后控制一下红蓝绿灯?
回复 支持 反对

使用道具 举报

发表于 2016-12-23 14:14:55 | 显示全部楼层
这个应该就是一个收到无线信号然后控制一下红蓝绿灯?
回复 支持 反对

使用道具 举报

发表于 2016-12-23 16:31:57 | 显示全部楼层
兄弟,能用433M无线接收模块控制LED必须完成3件事:

1)硬件接线正确,正常供电。一般按厂家提供资料可以了
这是我的接线(仅参考):


2)测出遥控器的代码。当然自己编制出来的码就无需测量,但如果您自己假设遥控器代码值:
A:2868360  B:2868356
C:2868354  D:2868355
编译后不能接受到的。
下面程序我用的也可以!测量出来后再填到你接受的程序里,也可以用库里例程里的程序。
参考:

//接收端代码
#include "RCSwitch.h"

int IN1 = 8;
int IN2 = 9;
int IN3 = 10;
int IN4 = 11;

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  pinMode(IN1,OUTPUT);
  pinMode(IN2,OUTPUT);
  pinMode(IN3,OUTPUT);
  pinMode(IN4,OUTPUT);
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {

    char value = mySwitch.getReceivedValue();

    if (value != '0') {
  Serial.println(mySwitch.getReceivedValue());
      if(value == '1')
      {
        digitalWrite(IN1,HIGH);
        digitalWrite(IN2,LOW);
        digitalWrite(IN3,HIGH);
        digitalWrite(IN4,LOW);
      }
      if(value == '5')
      {
        digitalWrite(IN1,LOW);
        digitalWrite(IN2,LOW);
        digitalWrite(IN3,LOW);
        digitalWrite(IN4,LOW);
      }
    }
    mySwitch.resetAvailable();
  }
}

//使用本程序,接上315M,433M无线电模块,使用电脑COM串行口,可测量出315M,433M无线电遥控器的发射出的代码值。
/*脚位及使用说明:
1 ANT 接天线端
2 VCC 电源正极
3、4 DATA 数据输出  (其中3、4一脚与Mega2560的2口相接)
5 GND 电源负极
*/


3)接收程序正确,这样编译后一般能工作的。
您的程序编译是正常的,但不正常工作,估计您的程序:if(value =1621384)   //按A键,LED1亮。 value =1621384 编码不是您实际用的遥控器编码,当然没有反应动作了!
如果是商品的遥控器,必须进行第2步骤的测量代码!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-24 03:24:50 | 显示全部楼层
yuqingshan 发表于 2016-12-23 16:31
兄弟,能用433M无线接收模块控制LED必须完成3件事:

1)硬件接线正确,正常供电。一般按厂家提供资料可 ...

问题是我这个模块和你那个模块不一样啊  不知道EN脚怎么使用  接不接
回复 支持 反对

使用道具 举报

发表于 2016-12-25 10:42:29 | 显示全部楼层
cy289 发表于 2016-12-24 03:24
问题是我这个模块和你那个模块不一样啊  不知道EN脚怎么使用  接不接

en从字面意思就是两个模式,高电平是低功耗模式,低功耗应该就是功耗大点的模式,如果需要考虑待机功率一类的,就需要进行编程,如果就是实验就干脆拉低算了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-27 10:34:11 | 显示全部楼层
那在我这个程序的基础上怎么修改呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 23:55 , Processed in 0.045543 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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