自发电无线开关

简介

生活中,无线遥控随处可见,无线遥控与电池似乎密不可分。然而,使用电池会带来许多问题,如更换电池的麻烦、电池在潮湿环境中易腐蚀以及严重的环境污染。你知道吗,无线遥控其实可以无需电池!

DFRobot研发的自发电无线开关,使用时无需安装电池即可将无线信号发送出去。开关由微型发电机和433Mhz射频电路组成,微型发电机利用电磁感应原理,能够将按压的动能转化为电能,射频电路将微型发电机的电能进行整流、储能,最终将信号无线发射出去。适合作为一个免维护的开关,长期监测按压、碰撞等状态的变化,如用于制作无线门铃、呼叫器、点餐器、墙面开关等。

使用时需要搭配接收器,推荐搭配我们官方的Gravity: 数字无线开关接收端(433MHz)使用,或者其他支持EV1527解码格式和10Kbps解码速率的接收器使用。

*注意:模块在接入DC电源后禁止按压发电按钮,否则可能会造成能量过多烧毁芯片

*注意:按压发电按钮或使用DC电源时,模块上的拨码开关至少要有一路拨至上方,否则会烧毁芯片

产品特性

技术规格

引脚说明

*注意:模块在接入DC电源后禁止按压发电按钮,否则可能会造成能量过多烧毁芯片

名称 功能
①DC输入端 直流电源输入端,3.3V-5V,接入直流电源后可直接发射信号,用于与接收器配对;
②拨码开关 键值选择,向上拨为选中,从右至左为D0~D3,使用时必须将至少一路拨至上方
③发电摇杆 按动时产生能量

接收器操作说明

本教程中的接收器均以DFRobot的Gravity: 数字无线开关接收端(433MHz)为例,使用其他商家的接收器原理类似。

模式切换

注:接收器默认为点动模式,以下的示例全部以点动模式为例, 如果没有特殊要求,可跳过此步骤

模式 说明
锁存 D0收到一次信号后就一直保持高电平,直到D1~D3收到信号
自锁 D0每收到一次信号,对应的输出状态就反转一次,D1~D3同理
点动 D0收到信号输出高电平,没有收到信号低电平,D1~D3同理
互锁 D0收到信号,D0就保持高电平,其余全部低电平,D1~D3同理

按住按钮0.5~1.5 秒, 然后松开,蓝色指示灯闪烁两次,表示您已经进入模式切换状态,然后可以根据6秒内按下按钮的次数进入不同的模式:

如果按1下,则进入锁存模式;

如果按2下,则进入自锁模式;

如果按3下,则进入点动模式;

如果按4下,则进入互锁模式;

根据需要进入的模式,按动相应次数的按钮,然后按住按钮0.51.5秒作为确认信号,松手后蓝色指示灯闪动2下即设置成功并进入相应的工作模式。0.51.5秒时间较短,注意不要超时。

清除配对

接收器最多可保存32组发射器编码,超过32组时,最先配对的一组编码会被覆盖;

清除所有配对过的发射器:长按接收端按钮超过4秒,松手后蓝色指示灯闪动2下即成功清除所有配对过的发射器;如果清除失败,则重复上述操作即可。

基础示例

软硬件准备

*注意:模块在接入DC电源后禁止按压发电按钮,否则可能会造成能量过多烧毁芯片

*注意:按压发电按钮或使用DC电源时,模块上的拨码开关至少要有一路拨至上方

接线图

样例代码

接收端:

#define Button_D2 2//Arduino
#define Button_D3 3//Arduino
//#define Button_D2 D2 //ESP32
//#define Button_D3 D3 //ESP32

void setup() {
    Serial.begin(115200);
    pinMode(Button_D2, INPUT);
    pinMode(Button_D3, INPUT);
}
void loop() {
  if ( digitalRead(Button_D2) && !digitalRead(Button_D3) ) {
    delay(20);
    if ( digitalRead(Button_D2) && !digitalRead(Button_D3) ){
      Serial.println("Received:D2"); 
      delay(100);
    }
  }
  if ( !digitalRead(Button_D2) && digitalRead(Button_D3) ) {
    delay(20);
    if ( !digitalRead(Button_D2) && digitalRead(Button_D3) ) {
      Serial.println("Received:D3");
      delay(100);
    }
  }  
  if ( digitalRead(Button_D2) && digitalRead(Button_D3) ) {
    delay(20);
    if ( digitalRead(Button_D2) && digitalRead(Button_D3) ) {
      Serial.println("Received:D2&D3");
      delay(100);
    }
  }
}

现象结果:

当自发电开关的拨码开关仅D2拨至上方时,按下按钮,串口监视器打印:"Received:D2 "。

当自发电开关的拨码开关仅D3拨至上方时,按下按钮,串口监视器打印:"Received:D3 "。

当自发电开关的拨码开关D2和D3同时拨至上方时,按下按钮,串口监视器打印:"Received:D2&D3 "。

FAQ

Q1:这个自发电无线开关搭配其他厂家的接收器需要注意什么?
A:需要关注接收器是否支持EV1527解码和10Kbps速率,EV1527编码和10kbps是一个很常见的标准。
Q2:“按下储能弹起发射”模式时,按下后立马松开按钮可以传输30M,但如果按下很久才松开按钮传输距离并不能达到30M?
如果您在使用时按钮是按压后快速松开的则不需要考虑此问题,为保证存储的能量不会一直累积导致芯片烧毁,所以系统中加入了泄放电阻。“按下储能弹起发射”模式中,在按下按钮后存储的能量会开始缓慢泄放,如果时间较长,这部分存储的能量就会慢慢被泄放电阻耗尽。如果您在使用时必须要按下后过一段时间才发射信号,则可以将储能端的泄放电阻拆掉。但是必须注意,在这种状态下,如果使用DC电源为模块供电(配对学习时需要DC电源供电),DC电源断开后储能电容处于能量充满的状态,必须接入泄放电阻先为储能电容放电到1.5V以下,如果此时不放电直接按下发电开关会直接烧毁芯片,且拆掉泄放电阻后不可连续快速按压发电按钮。

自发电开关说明

自发电开关默认为按下储能弹起发射发射信号,将跳线焊盘短接后可实现按下和弹起时都发射信号。

按下储能弹起发射信号模式工作流程:按下按钮-电容储能-松开按钮-发射信号

按下弹起都发射信号模式工作流程:按下按钮-发射信号-松开按钮-发射信号

通过工作流程可以看出,“按下储能弹起发射”比”按下弹起都发射”多了一个电容储能的功能,因此”按下储能弹起发射”的发射能量更多传输距离会更远。

注:按压频率不要超过3次/秒,长时间快速按压会导致能量积累无法及时消耗,最终烧毁芯片。

更多

原理图.pdf

PCB尺寸图.pdf

发电模块尺寸图.pdf

DFshopping_car1.png DFRobot商城购买链接