日曜日, 1月 10, 2016

Arduino: 赤外線リモコンでランプを点灯する

リレーを使った Arduino タイマー回路はちゃんと動いてくれました。使える回路ってのはいいですね。動機とか目的とかいうものがあって使うたびうれしいものです。

極性があります

このたび赤外線センサーを使って遠隔操作できるよう組み直してみました。なかなか便利です。

リモコンはカメラのものを転用しました。まず、コードを取得します。 IRremote というライブラリで信号を解析します。

このライブラリが曲者で、zip ファイルを登録するわけなのですが、もとある RobotIRremote なるライブラリとぶつかるらしく、そのままではコンパイルできません。

こいつはデフォルトのライブラリなので、Program Files (x86) 下の Arduino フォルダの RobotIRremote を取り除く必要があります。もしライブラリをインストールしてしまっていれば、Arduino ドキュメントフォルダ下のローカル・ライブラリの Arduino-IRremote-master を削除し、IDE を再起動です。


ここでライブラリを再インストールすると動きます。サンプルコードの IRecvDump など使い、リモートの信号を解析し、コードを取得します。

コードを取得すればあとは条件分岐でリレーを作動させます。

回路・プログラムが正しければ「カチッ」という音がして、ランプが点灯するはずです。100Vを扱うわけなので注意が必要です。あと、赤外線センサーの足の極性はそれぞれ異なるのできちんと調べる必要があります。


さっそくブレッドボード版 Arduino で組んでみました。

電源を組んで、Atmega328P を配置して、リレーモジュールを組んで、100V 電源から線をとってきて、赤外線センサーをつなぎます。

いつもの百均ケースでぴったりです。


Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...