THE 100マスリモコン「UNICON」

●概要
	Arduino上でリモコンの送受信回路と送受信機能のスケッチを組み込んだものと、
	UNICONを使うことで、100マスの学習リモコンとしてコントロールできます。

●簡易省略回路で準備するもの
	・Arduino
		Arduino UNO Rev3で動作確認済み

	・IR発光素子
		3mm赤外線LED 940nm OSI5FU3A11C
		秋月電子通商通販コード 104313
		ピンアサイン
			長=アノード(指定出力ポート※13) 短=カソード(GND)
		抵抗値
			(5V(ARD)-1.6V(LEDのVF))/0.005(5mA)=680Ohm
			1kOhmの場合、(5-1.6)/1000 = 3.4mA

	・IR受光素子
		赤外線リモコン受信モジュールSPS-444-1(38kHz)
		秋月電子通商通販コード 100824
		ピンアサイン(受光部を上に、ピンを下にして見たとき)
			321 1=GND,2=VOut(指定入力ポート※8),3=Vcc(5V)

			 0  0=受光ドーム
			5 4 4=GND,5=GND
			
	・ブレッドボード
		ブレッドボード EIC-801
		秋月電子通商通販コード 100315
		あると回路作成に便利です。
		
	・ブレッドボード・ジャンパーワイヤセット(60本以上)
		秋月電子通商通販コード 130088
		あると回路作成に便利です。

●正規回路で準備するもの
	簡易省略回路で準備するものに加えて、以下を準備します。
	・出力ポート用抵抗 1kOhm
		秋月電子通商通販コード 125102
	・LED用抵抗 68Ohm
		秋月電子通商通販コード 114290
	・トランジスタ 2SC1815(2SC1740)
		秋月電子通商通販コード 117089

●回路の組み方
	簡易省略回路の場合はWiringDiagram_eayを参照してください。
	正しい回路の場合はWiringDiagram.pdfを参照してください。
	アプリ起動時のデザイン図は簡易省略回路の接続を再現しています。

●Arduinoスケッチの書込
	Arduino IDEをインストールします。
	https://github.com/bcdejp/ir_controllerより、ir_controller.inoとtype.hをダウンロードします。
	ir_controllerというディレクトリを作成し、上行2つのファイルを格納します。
	ir_controller.inoをArduino IDEで開き、スケッチをコンパイルしてArduino Unoに書き込んでください。
	※書込方法や設定については、「Arduino UNO スケッチ 書込」で調べてみてください。

●アプリケーションの使い方
	・ポート選択
		Arduino UNOが接続されているポート番号を指定し、「接続」を押します。
		ポート番号はWindows OSの「コントロールパネル」>「デバイスマネージャー」の
		ポート（COMとLPT)から参照できます。
		ポートを指定しない場合はデモモードとして動作します。

	・リモコンモード
		リモコンボタンの画面です。
		IR発光素子を対応機器のIR受光素子に向けて設置しておきます。
		機能を割り当てた有効なボタンを押すと、IRデータがIR発光素子送信されます。
		起動時は新規にリモコンデータが作成されている状態です。
		「データ読込」はファイルからリモコンデータを読込します。
		「データ書込」はファイルにリモコンデータを保存します。
		「モード切替」からメモリーモードに変更してリモコンデータを作成します。
		「ポート選択」はArduinoの接続ポート選択画面に戻ります。

	・メモリーモード
		リモコンデータを編集する画面です。
		編集したいボタンを押すと、編集モードになります。

	・編集モード
		リモコンボタンの内容を編集します。
		「ボタン名」はボタンに表示される名前です。
		「ボタン有効/無効」はボタン押下時にIRデータ送信の有効無効を指定します。
		「指定時刻実行」は指定時刻になるとIRデータが送信されます。
		※リモコンモード・メモリーモード・ログモードの状態で有効で、2回分登録できます。
		※同じ時刻に複数の送信を受理した場合、約0.2秒間隔で順番に送信します。
		「IRデータ」は実際に送受信する赤外線のデータです。
		「学習」は約5秒間学習状態になり、赤外線を受信します。
		IR受光素子に向けて学習させたいリモコンのボタンを押してIRデータを受信します。
		「試験」はIR発光素子からIRデータを試験送信し、正常に機能しているか確認します。
		「記憶」はボタン、指定時刻実行、IRデータを登録してメモリーモードに戻ります。
		「キャンセル」は、編集内容を破棄してメモリーモードに戻ります。

	・ログモード
		ログモードはIRデータの送受信やファイルの読み書きなどのログを表示します。

●送信遅延について
	複数のIRデータの送信を連続して実行した場合、約1秒間隔で順番に送信します。

●開発にあたって
	このプログラムの作成にあたり、以下のサイトを参考・使用いたしました。
		・Arduinoスケッチ(ir_controller.ino)
			bcde.jp
		・回路デザインおよび回路図
			Autodesk Thinkercad