1.写一个接收测试程序
#include <RCSwitch.h>
RCSwitch mySwitch =RCSwitch(); //增加一个RC开关并且设置名称
const int FRR = 4; //设置315无线模块接收管脚
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
mySwitch.enableReceive(FRR);
Serial.print("开始程序");
}
void loop() {
// put your main code here, to run repeatedly:
if(mySwitch.available())
{
Serial.print("读数据: ");
Serial.print(mySwitch.getReceivedValue() ); //接收到的值
Serial.print("/ ");
Serial.print(mySwitch.getReceivedBitlength() ); //获取数据长度
Serial.print("bit 协议: ");
Serial.print(mySwitch.getReceivedProtocol() ); //获取数据长度
Serial.print("\r\n" ); //获取数据长度
mySwitch.resetAvailable(); //重置可用的值
}
}
2.再写一个发送程序
#include <RCSwitch.h>
RCSwitch myFa = RCSwitch();//定义发送端
unsigned long OFF = 6073416; //关闭门
unsigned long ON = 6073410; //打开门
const int sensorPin = 19; // 假设传感器连接到数字引脚2
const int sensorPin1 = 18; // 假设传感器连接到数字引脚2
void setup(){
myFa.enableTransmit(4);//发送端接6号口(或其它口)
Serial.begin(9600);//打开串口调试
pinMode(sensorPin, INPUT);
pinMode(sensorPin1, INPUT);
}
void loop(){
// delay(1000);
if(digitalRead(sensorPin)==0)
{
myFa.send(OFF, 24);//发送端发送数据,i为数字,24为最大位数。经测试,当数字的位数大于24时,就会停止发送。
delay(100);
}
if(digitalRead(sensorPin1)==0)
{
myFa.send(ON, 24);//发送端发送数据,i为数字,24为最大位数。经测试,当数字的位数大于24时,就会停止发送。
delay(100);
}
}
3.再画一个板子



这样一个板子就完成了,板载画的发送天线有点短有效距离5 米左右,打开车库门足够了,不要学坏哦!
2万+

被折叠的 条评论
为什么被折叠?



