ライブラリのインストールライブラリをインストールする場合は、各ライブラリのzipファイルをダウンロードして展開し、各ライブラリのフォルダを、Aruduinoがインストールされているフォルダのhardware\librariesフォルダにコピーしてください。 | ||||
赤外線リモコン受信リモコン受信ユニットから送られるデータを解析して読み出すライブラリ。リモコン受信ユニットは、Arduinoのデジタルピンの2番または3番に接続する。 IrRecv::start() 開始 IrRecv::stop() 終了 IrRecv::available() 読み出し可能なバイト数 IrRecv::read() 1バイトの読み出し IrRecv::interrupt() 割り込み処理 ライブラリ : IrRecv サンプル
説明このライブラリは、Ir受信機からのパルスを割り込みで受けるため、Ir受信機からの信号をデジタルポートの2番または3番(サンプルでは2番)に接続してください。サンプルの通りに初期化と割り込み関数を記述し、割り込み処理の中からライブラリのinterrupt関数を呼び出してください。 準備が終わり、Ir受信機からパルスを受けると、解析を行い、ライブラリ内部のバッファに格納します。 このデータを、available, read関数を使って読み出します。 入力されたデータは、以下の順番で読み出されます。
|
赤外線リモコン送信ポートに接続されたLEDを、赤外線リモコンの出力パターンに従って点滅させます。LEDはHIGH出力で点灯するように接続してください。LEDを接続するポートは初期化の際に設定してください。 IrSend::write() : 送信 ライブラリ : IrSend サンプル
説明このライブラリは、初期化の際に指定されたデジタルポートに接続されたLEDを点滅させて、Irリモコンの代わりをするものです。 (上記のサンプルでは、ポート13になります)以下のフォーマットの送信データを配列に設定し、write関数を呼び出すと送信します。送信が完了したら、関数から 戻ります。 送信データのフォーマット (IrRecvライブラリの受信データと同じです)
なお、Ir送信LEDのON/OFF時間はdigitalWrite()とdelayMicroseconds()の処理時間で決めているので、Arduinoの種類やバージョンによっては、正しく動かないかもしれません。 この場合、以下のプログラムを実行した結果によって、ライブラリのIrSend.hの以下の時間を変更してください。 #define IrOnTime (6) #define IrOffTime (12) このプログラムは、duty=1/3のパルスを38000回出力する時間を1秒に近づけることで、IrOnTimeを求めるものです。 IrOffTimeは、IrOnTimeの2倍ぐらいに設定してください。
| |||
注意事項家製協のデータのバイト長は、現仕様では6バイトに固定しています。 これは、作者が所有しているリモコンがPanasonic製のSTBのみだったため他のパターンを見ていないためです。他のパターンのリモコンへの対応は今のところ考えていません。NECフォーマットは規格が公開されているため、4バイトで固定で良さそうです。 Sonyフォーマットも、作者所有のリモコンの解析結果に従っていますので、他のビット長があるかもしれません。 IrRecvとIrSendを一つのスケッチで使う場合、送信と受信を同時に行わないでください。 (送信中に受信が起きると、パルス出力の時間が狂うため) 例えば、送信の前後で割り込みの禁止と許可をするなどして、送信中に受信割り込みを受け付けないような処理を組んでください。 |
ご意見,質問は、ブログのほうに。