|
经常在论坛闲逛,看到遥控器便宜,就买了一个;
回来后发现不能配对,就……
后来又贪图便宜买了个这钟模块;
事实证明,这次操作正确,涨了!!涨了一倍!!这要是股票……
估计这时候我就不在这发帖了。
先是考虑买这种来解码,第二天,卖完了!其实别家也还有,但是……
听说这两种也可用
这次不纠结了,全部买!
要知道我以前是混摄影论坛的。(懂的都懂)
开始折腾
测试了几个频率
315,433,434 ,434的信号最高
顺利解码,把家里的遥控器都按了一遍
有的可能不是433的
花絮
可以控制led,所有房间和阳台都可以
(房子不大,没有2楼,无法测试隔楼板效果)
最后给大家推荐个更劲爆的。
这是我【面向百度编程过程中无意发现的】
寄存器配置和arduino代码
- static const registerSetting_t preferredSettings[]=
- {
- {CC1101_IOCFG2, 0x0D},//GIO2 异步输出
- {CC1101_IOCFG0, 0x4D},//GIO0 异步输出,反向
- {CC1101_PKTCTRL0, 0x32},//异步,无限数据包模式
- {CC1101_FSCTRL1, 0x12},
- {CC1101_FREQ2, 0x10},
- {CC1101_FREQ1, 0xB1},
- {CC1101_FREQ0, 0x3B},
- {CC1101_MDMCFG4, 0x2D},
- {CC1101_MDMCFG3, 0x3B},
- {CC1101_MDMCFG2, 0xB0},
- {CC1101_DEVIATN, 0x62},
- {CC1101_MCSM0, 0x18},
- {CC1101_FOCCFG, 0x1D},
- {CC1101_BSCFG, 0x1C},
- {CC1101_AGCCTRL2, 0xC7},
- {CC1101_AGCCTRL1, 0x00},
- {CC1101_AGCCTRL0, 0xB0},
- {CC1101_WORCTRL, 0xFB},
- {CC1101_FREND1, 0xB6},
- {CC1101_FREND0, 0x11},
- {CC1101_FSCAL3, 0xEA},
- {CC1101_FSCAL2, 0x2A},
- {CC1101_FSCAL1, 0x00},
- {CC1101_FSCAL0, 0x1F},
- {CC1101_TEST0, 0x09},
- {CC1101_RSSI, 0x80},
- {CC1101_MARCSTATE, 0x01},
- {CC1101_VCO_VC_DAC, 0x94},
- };
复制代码
- /*
- Simple example for receiving
-
- https://github.com/sui77/rc-switch/
- */
- #include "cc1101.h"
- #include <RCSwitch.h>
- #define my_LED 5
- uint8_t my_flag = 0;
- uint32_t my_Value = 0;
- static CC1101 cc1101;
- RCSwitch mySwitch = RCSwitch();
- void setup() {
- pinMode(my_LED, OUTPUT);
- digitalWrite(my_LED, HIGH);
- Serial.begin(115200);
- delay(5000);
- Serial.println("befor RF_set");
- cc1101.print_allreg();
- delay(1000);
- cc1101.Init();
- Serial.println("");
- Serial.println("after RF_set");
- cc1101.print_allreg();
- delay(1000);
- cc1101.SetTRMode(RX_MODE);//开启接收
- mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
- }
- void loop() {
- if (mySwitch.available()) {
-
- Serial.print("Received ");
- my_Value = mySwitch.getReceivedValue();
- Serial.print( my_Value);
- Serial.print(" / ");
- Serial.print( mySwitch.getReceivedBitlength() );
- Serial.print("bit ");
- Serial.print("Protocol: ");
- Serial.println( mySwitch.getReceivedProtocol() );
-
- }
- if (2422533 == my_Value)
- {
- if (0==my_flag)
- {
- digitalWrite(my_LED, LOW);
- my_flag = 1;
- }
- else
- {
- digitalWrite(my_LED, HIGH);
- my_flag = 0;
- }
- my_Value = 0;
- delay(2000);
- }
- mySwitch.resetAvailable();
- }
复制代码
面向百度编程,参考的文章,在此感谢他们的分享。
https://www.geek-workshop.com/thread-5249-1-1.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|