|
发表于 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
|