一直想做个像酒店一样的全屋灯光控制系统玩玩,可惜自己只会Arduino编程。而UNO,NANO的体积对于遥控灯而言还是大了些,而且外接无线接收模块还得自己焊线,想起就头大。
最近淘得CC_SMINI_433R的超微型 Arduino开发板,一下子解决了所有遥控的问题。好东西不能独享。

讯享网
如图,这个开发板不含天线大小仅2.8*1.8cm,天线大概1.5CM.天线可以拉直,拉直后接收距离明显增加,拉直长度约17.5CM.
开发板采用了328PB芯片,焊在了板子背面,因此空间利用率非常高。
开发环境建议使用Arduno 2.0及以上,如果您没有安装MiniCore开发板,请在文件-首选项-其他开发板管理器地址 中添加 https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json,然后搜索MiniCore安装即可。安装好后,选择开发板为-MiniCore-ATMEGA328,然后在选择主频为16MHZ,芯片型号为328PB即可。
代码比较简单,直接使用了常用的RCSwitch.h 库,店家网盘有下载来直接使用即可;示范完整代码如下:

#include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); #define PD_LED A0 //CC_433R模块板载的 LED指示灯 #define SHUT_PIN A7 //CC_433R模块 休眠控制引脚,高电平休眠,低电平启用 unsigned long RV433OLD = 0; //最近接收到的433遥控码,在5秒内避免重复接收 unsigned long HMSOLD = 0; //上次接收同样数据的开机毫秒数,以此判断是否重复接收 unsigned int RV_Rpt_Time=1000;// 同一个按键接收时间间隔,防止重复。如控制灯开关,建议设置为3000-5000,如需连续控制如电机转向,可设置为0 void setup() { Serial.begin(9600); //启用到PC的串口 pinMode(PD_LED, OUTPUT); //LED digitalWrite(PD_LED, LOW); mySwitch.resetAvailable(); mySwitch.enableReceive(0); //中断0接收 接 D2脚代表使用的中断0,接D3脚代表中断1 Serial.println("start."); pinMode(SHUT_PIN, OUTPUT); digitalWrite(SHUT_PIN, LOW); //让433接收电路工作,433芯片启动时间3ms } void loop() { RV_433(); //处理接收到无线遥控数据 delay(1); } void RV_433() { if (mySwitch.available()) { delay(10); //延迟以防止重复接收 if (mySwitch.getReceivedBitlength() == 24) { //1527遥控编码数据为24 BIT,后面 4 bit为按键码 unsigned long AA = mySwitch.getReceivedValue(); //接收解码出来会是一个很大的整数 unsigned long TM1 = millis(); //防重复接收,这部分可以根据需求删除 if ((TM1 - HMSOLD) <= RV_Rpt_Time && AA == RV433OLD) { //设定的时间内收到重复的按键码则丢弃 mySwitch.resetAvailable(); return; } // RV433OLD = AA; //记忆最新的接收数据 HMSOLD = TM1; //记忆最新的接收时间 String YK_NUM = String(AA, HEX); YK_NUM.toUpperCase(); Serial.println(YK_NUM); //输出接收到的遥控器按键码 digitalWrite(PD_LED, HIGH); delay(100); digitalWrite(PD_LED, LOW); //闪一下指示灯 } mySwitch.resetAvailable(); } }
讯享网
以上代码最方便的是 RV_Rpt_Time 参数,可以在指定时间内去重。
经测试,遥控器的兼容性非常好,手里好几款433MHZ 1527编码格式的遥控器均能成功解码接收。下图是市面常见的433遥控器外形:

测了下功耗,整个电路3.3V供电环境下,工作电流仅仅14mA.接收电路休眠(SHUT_PIN 置高电平),电流仅11mA, 全电路休眠开启定时器唤醒最低电流仅3uA.
遥控距离实测:
1.为了得到最远效果,我们把原配的天线拉直成一条直线;
2.遥控器我们采用上图左边第4款3按键,带拉杆天线的,遥控器电池型号是12V23A,实测电池电压12.7V;
空旷地无人车阻挡情况最远距离达到了1000米,对于这样的小身板和这么低的功耗来说,确实非常强悍。
室内穿墙能力也出奇的好,三居室那是可以说毫无死角,全覆盖了。把天线放在窗户外面,32层楼高,整个小区中庭全覆盖了。呵呵,以后改个遥控路灯啥的,简直都不是啥事了。
开发板上引出了11个IO口,也就是说可以使用11按键的遥控板配这个开发板,实现11路遥控控制了。

如图所示,家里的家电都可以用这个开发板来轻松控制了。可以将遥控按键编码存储在开发板的EEPROM中,接收到按键后,在EEPROM中查找,找到匹配的就去操作相应的IO口。这样每一盏灯可以对应多个遥控器操作,实现类似酒店的灯控效果。在床头可以控制所有的灯,在洗漱间和客厅可以控制本区域的灯。
以下是我改造遥控电灯用到的材料,仅供参考:
CC_SMINI-433R 遥控开发板地址:https://item.taobao.com/item.htm?id=745055383210
220V转5V 模块地址:https://detail.tmall.com/item.htm?id=597773741262
继电器模块地址:https://item.taobao.com/item.htm?id=738837038343
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75435.html