電動ハニカムシェード解析

電波式ハニカムシェードのリモコンを赤外線で制御するための記録

一条工務店ハニカムシェードリモコンのプログラム

2022年08月17日 | ハニカムシェード

ハニカムシェードリモコン解析の備忘録

 

一条工務店の電動ハニカムシェード。

無線式のため市販のスマートリモコンでは遠隔操作できませんが、

無線⇒赤外線に変換するための機器「IR-RF-converter」を作るための道のり。

 

( IR=赤外線 RF=無線 の略です)

 

送信・受信の方法が確立したので、無線⇔赤外線の変換プログラムを作成します。

無線の送受信の方は、https://github.com/sui77/rc-switch/ を参考に一条工務店用のプログラムに書き換えております。

 

プログラムの一部抜粋

 

//*********************************************************************
RCSwitch mySwitch = RCSwitch(); // RF準備
IRsend irsend(IRSendPIN);          // IR送信準備
IRrecv irrecv(IRRecvPIN);          // IR受信準備
decode_results results;         // IRデータ格納先

//*********************************************************************

void setup() {

  //無線機及び赤外線の設定開始
  mySwitch.enableReceive(RFRecvPIN); //RF受信
  mySwitch.enableTransmit(RFSendPIN);//RF送信
  mySwitch.setProtocol(1);//一条用自作プロトコル選択
//  { 206, { 4,   1 }, {  1,  2 }, {  2,  1 }, true  },    // protocol 1
  mySwitch.setRepeatTransmit(10);//RF繰り返し送信回数
  
  irsend.begin();
  irrecv.enableIRIn();
  
  mySwitch.resetAvailable();
  irrecv.resume();

}

//*********************************************************************

void loop() {
  //RF受信まち⇒受信したらIR信号として送信
  if (mySwitch.available()) {
    irsend.sendNEC(mySwitch.getReceivedValue(), 32);
    mySwitch.resetAvailable();
    irrecv.resume();
    delay(200);
  }

  //IR受信まち⇒受信したらRF信号として送信
  if ( irrecv.decode(&results) ) {
      mySwitch.send(uint64ToString(results.value, DEC).toInt(), 32);
    mySwitch.resetAvailable();
    irrecv.resume();
    delay(200);
  }
    delay(50);

}

 

プログラムは素人ですので、参考程度にお願いします。

このプログラムをベースにWiFi接続し、APモードで設定を行うようにしてあります。