macsbug

Kinoma Create で エアコンを自動化

leave a comment »

エアコンを、設定した時間にオンにする装置を作る。
ORG = 2015.01.31
Ver.1 = 2015.02.02 : Front Pin の GND は、Digital Pin で “0” を出力する。
Ver.2 = 2015.02.07 : Kinoma 鈴木バスケ氏の回答。GNDはDigital pin “0” で良い。
Ver.3 = 2015.02.12 : 使用時の注意。使用前にリモコンとエアコンを一度認識させる。

kinoma Create で エアコン・コントローラーを自動操作します。

ec ac

 

こまったエアコン:
エアコンのタイマーは、数時間後にオンはできるが、何時何分という時間設定ができず。毎回セットするのも面倒。
そこで、時間が来たら自動的にオンする装置を作ろうと思い立つ。Arduinoが正解だろうが、Kinoma Create で作る。

準備:
ハード:エアコン・コントローラー。フォトトランジスター。
ソフト:ソフトはさっぱり解らないので、Kinoma のデジタル時計を応用する。
_   Periodic Update(デジタル時計) に Digital Output LED (GPIO出力)を組み込む。
_   デジタル時計は、時分秒 を表示。 Digital Output は、GPIO を操作して LED を ON/OFF する。

機能: 例:エアコンを朝4時半に自動でオンにする。起きる5時頃には部屋が暖まっている。

詳細:
エアコン・コントローラー:1000種対応 エアコン用ユニバーサルマルチリモコン K-1028E で、
アマゾンで480円と格安。これなら、赤外線回路の製作やコード解析が不要で簡単に作れます。
リモコンの改造方法は、ON/OFF ボタンから2本の線とコネクターを付ける。
インターフェイスは、Kinoma ->1Kohm -> フォトトランジスター -> コントローラー へと接続。

ソフトの解析と実際:
「デジタル時計」は、時分秒を取得して、ディスプレーに表示する。
この時間と希望の時間を比べて、一致したらイベントを宣言する。
宣言により「Digital Output LED」にある Led.js (BLL) で、ピン番号に ‘1’ (600msecのパルスを1つ)を出す。

追加修正2015.02.02
フロントピンのグランドが、どうも不明。KinomaのSampleは、ソフトでの設定は何も説明していない。
事前に手動でグラウンドにしておくのか? Kinomaの鈴木バスケ氏より以下で良いとの事。2015.02.07
フロントピンをグランドに設定する命令が解らない
そこで、グランドピンは、デジタルピンを出力に設定し、”0″ ( GND) としてみた。
尚、I2C等の内部のPinを使用する場合は、ハードのグランド端子を使用する為、問題は発生しないと思う。
使用時は、一度エアコンと通信を実施してから使用する。(通信しないと認識しないようだ)2015.02.12

プログラムの変更:
eriodic Update(デジタル時計) :main.xml の変更

var ss = time;                  // time を ss に入れる
if ( ss == '4:30:00' ) {        // 4:30:00 に設定
  application.invoke(new MessageWithObject("pins:/light/turnOn"));
  } else {
  application.invoke(new MessageWithObject("pins:/light/turnOff"));
}

main.xml の script の変更

application.invoke(new MessageWithObject( "pins:configure", {
		    light: { require: "led",
		    	pins: {
		    	led: {pin: 59},
		    	gnd: {pin: 60}                       // gnd pin の追加
		    	}
		    }
		}));

Digital Output LED:led.js の変更

exports.pins = {
    led: {type: "Digital", direction: "output"},
    gnd: {type: "Digital", direction: "output"}     // gnd pin の設定
};

exports.configure = function() {
    this.led.init();
    this.gnd.init();                                // gnd pin の initialize
    this.gnd.write( 0 );                            // gnd pin を "0" にする
}

exports.turnOn = function() {                       // pin 59 pulse
    this.led.write( 1 );                            // pin 59 "1" ( ON )
    sensorUtils.mdelay(600);                        // 600msec delay
    this.led.write( 0 );                            // pin 59 "0" ( OFF )
}

exports.turnOff = function() {
    this.led.write( 0 );
}

exports.close = function() {
	this.led.close();
	this.gnd.close();                               //  gnd pin の close
}

 

ソフトのポイント:  注:Kinomaのプログラムは初めてですので、間違いがあるかもしれません。
1. エアコンは短い時間でオンにする必要がある。理由は、長押しすると他の操作に変化してしまう。
_ よって、短時間のオン信号を供給する様にする。
2. Kinomaのデジタル出力は、ちょっと特殊な仕組みになっているらしいのを発見。
_  500msec以内の Logic ‘1’ を出力すると、その後、約500msec 後に Logic ‘1’ がもう1つ出力する。
_ 命令を与えていないのに出力がでる。これでは、エアコンがオン、オフとなるかもしれない。

pck 2p

 

3. 1つのパルスを出すには、 Logic ‘1’ の期間を 約600msec にすると、2個目のパルスと重なり
_ 1つのパルスになります。よって、命令は、delay時間「sensorUtils.mdelay(600);」となる。
_ これは、Arduino の「delay(600); 」と同じです。

はまったところ:
Kinoma Create:Front pin の GND設定。どうも、Pinの設定と現状が解かりにくい。
Kinoma Studio:500msec 2_Pulseの理解。出力パルス幅。イベントとはなんだ。JavaScriptの勉強が必要。
_       プログラムの進行状態を液晶に表示。時間は1桁と2桁がある。
インターフェイス:フォトトランジスターの入力抵抗。綺麗に出来ない。無しで出来ないか?
コントローラー:液晶固定方法。
複数のコントローラー:コントローラーから信号は送るがエアコンが動かない。一度エアコンと通信をしてから使用する。

不明な点:
1. Front pin の GND設定は、ソフトでどうやるのか?  どなたか教えてください。 
_ 答え:Digital Pinに、”0” を出力する。
2. Kinoma Create は、時間計測において、常にネット接続状態が必要なのか?
3. 電源、ネット接続、システムの安定を含め、長時間使用に耐えられるか?
4. コントローラーが複数の場合の接続は問題なくできるのか? 追加:2015.03.07

感想:
1. IO出力の500msec 2_Pulse は、理由は不明だが、チャタリング防止の為と勝手に想像。
2. Kinomaの外にコントローラーがあるのは、見栄えが良くない。
_  インターフェイスは、コントローラーの中に組み込んで、コントローラーは、
_  Kinomaにガチャッとハメル様な感じではどうだろうか?
3. Kinoma Create は、ネット接続が切れたらどうするの、という不安がある。
4. どうも、イベントという考えが解りにくいし慣れていない。イベントが無いと動かないのか?
5. エアコンを動かすだけで、Kinomaが2万円は高すぎる。
6. コントローラーの中にArduinoを組み込んだ方がよいかもしれない。その場合、Arduinoの方が安い。
7. Kinoma Create のチームが家電製品をコントロールできる追加ハードとサンプルを出せば販路が広がると思う。
_  すでに次の様な製品があり、価格は 29,800円ですから対抗できると思う
_  Plutoタップリンク 、gigazineより 追加:2015.03.07

Written by macsbug

1月 31, 2015 @ 1:46 am

カテゴリー: Kinoma Create

コメントを残す