Android+Arduinoでリモコン3 その2(AndroidAccessory接続)
何度か、Android+リモコンのネタを書いたことがあるのですが、今回はAndroid Accessoryで接続する学習リモコン・デバイスを作ったので、その報告です。
これ1台で、赤外線リモコンの学習~操作までができます。
(※注意・便宜上、プログラムの名前にADKと付けていますが、ADKボードで動作すると言う意味ではありません。)
今回は、アプリの説明です。デバイスの説明はこちら。
このアプリは、動作チェック程度のサンプルアプリです。
アプリのソースも公開しておきますので、必要な方は改良して使って下さい。
アプリの基本画面の説明
※実際の画面と異なる場合があります。
DataType2種類からデータタイプを選びます
KURO-RS = PC-OP-RS1 SampleRateサンプリングレートを指定します。
単位 us=マイクロ秒 learnボタンデバイスを受信モードにして、リモコンの学習を行います。 frameボタン赤外線のフレームデータを、それぞれのデータへ変換できます。 エディットボックスリモコン信号のデータが表示されます。 saveボタンエディットボックス内のリモコンデータを保存できます。 loadボタンsaveボタンで保存したリモコンデータを読み込むことができます。 clearボタンエディットボックス内のリモコンデータを削除します。 sendボタンリモコンデータを送信します。 |
デバイスの接続
Arduinoで作ったデバイスを接続すると、自動でアプリが起動されます。
デバイス接続中は、タイトルにconnectと表示され、learnボタン・sendボタンが有効になります。
デバイス未接続の状態では、タイトルにdisconnectと表示され、learnボタン・sendボタンが無効になっています。
※注意点
デバイス接続中に、他のアプリを起動したり、画面をoffになったり、その他随時・・・
connectと表示されていても、デバイスをコントロール出来ない場合が有ります。
Android Accessoryの挙動が良くわからず、この部分のバグが取り切れていません。ごめんなさいorz
その際には、ケーブルを抜いたり、リセットかけたりして対応してください。
リモコンの学習
始めに、データタイプとサンプリングレートを指定します。
次にデバイスを接続した状態で、learnボタンを押すと、デバイスは受信モードに移り、アプリはリモコン受信待ちになります。
デバイスが受信モードの時、デバイスの動作確認LEDが点滅します。
この状態の時に、デバイスの赤外線受信モジュールに向けて、学習したいリモコンのボタンを押します。
正しくリモコンの受信ができれば、画面のエディットボックスに学習したリモコンデータが表示されます。
![]() |
![]() |
※リモコン学習時の注意点
利用時の環境によっては、まわりのノイズで正しくリモコンデータを受信出来ない場合があります。 そのような場合、まわりの電化製品の電源を切ってお試し下さい。(例えば、蛍光灯・TVやPCのディスプレイ等)
リモコンの送信
sendボタンを押すと、エディットボックス内にあるリモコンデータが即座に送信されます。 リモコン送信中は、動作確認用LEDが点灯します。(リモコン信号は短いので、実際には一瞬点灯するだけです)
フレームデータで入力
KURO-RS(PC-OP-RS1)やIRIO88は、赤外線LEDの点灯・消灯時間を単純に記録しているだけのデータなのに対し、SHARPのAndroid端末やDoCoMoのiアプリで採用されているのはフレーム方式のデータです。
このデータについては、赤外線リモコンAPIでリモコンアプリを作るまで – コムギドットネットが詳しいです。
僕が昔作ったiアプリのデータベース iRemo2 リモコン・データベース
実際にはフレーム方式のデータの方が、より細かなコントロールが出来たり、データサイズが小さくなると言う利点が有るのですが、学習リモコンで利用する場合には不向きです。
今回は、サンプルプログラムとして、フレームデータ→KURO-RSデータへの変換が可能となっています。
データの保存・読み込み
saveボタン・loadボタンで、リモコンデータを3つまで保存・読み込みができます。
ボタンを押下すると、それぞれダイアログが表示されるので、保存・読み込みしたい番号を選んでください。
アプリのダウンロード
Android Marketでの公開は中止しました。
野良apkとして置いておきます。
アプリのソース
↓のzipファイルに、本記事のソース一式をまとめています。
zipファイル内の Android Appフォルダ内に、アプリのソースが入っています。
※2011/8/3
少しだけソース修正しました。+kuro-rsコンパチで動くプログラムも同梱しました。
最後に
回路的にも、プログラム的にも、実用性に乏しいかもしれませんが、お遊び用・実験用にどうぞ・・・
お子様の夏休みの自由研究なんかにどうでしょうか?
関連記事
-
-
Bimeji Client for Arduino
前回紹介したWimeji Client for Arduinoの最後で予告していた、Wimeji c
-
-
米粒AVRのEAGLEライブラリ
EAGLEを使って米粒AVR(ATtiny10)の回路図を書こうと思ったら何か様子がおかしい。
-
-
Raspberry Piの起動SDカードを準備する
先日入手したRaspberry PiでLinuxを起動する為のSDカードを準備します。 Ras
-
-
Android + Bluetoothドングル + PIC24F
@hrdakinori さんと言う方が、PIC24FとBluetoothドングルを使って、Andro
-
-
Android+Arduinoでリモコン3のおまけ
Androidとは関係ないのですが、前回の記事 Android+Arduinoでリモコ
-
-
Android + Bluetooth + Arduino
以前書いた『気になる物』で紹介したBluetoothモジュールですが、本当に気になって実
-
-
Androidで一眼レフカメラのシャッターを制御する(MicroBridge接続)
以前書いた、Androidで一眼レフカメラのシャッターを制御するでは、AndroidとArduino
-
-
パソコンで温度計 #2
今回は温度表示とログ取りアプリを作ったので公開。 前回にArduino+STTS751で作った