コメント
 
 
 
赤外線アプリ (Kine)
2013-01-07 21:27:00
初めて投稿させて頂きます。
スマホのアプリ開発環境のAndroid SDKには、赤外線に関する環境が無いようです。
しかし、シャープから Android SDKへの赤外線の組込み環境(SHARP SDK AddOn)が公開されています。
但し、この環境で開発したアプリはシャープの製品にしかインストール出来ません。
以前に購入してあった、CCPの4ch赤外線ヘリコプター(ジャイロビー スカイレジェンド4)について、赤外線波形を観測解析し、SHARP SDK AddOnの環境で作成したアプリをシャープ製造のIS05(au)のスマホにインストールし、操縦することに成功しています。
私の作成したアプリは、スマホを横向きにした状態で、タッチパネルの左側をタッチするとラダーとエレベーター、右側をタッチするとエルロンとスロットルの操作に対応しました。
現在、スマホの傾きでも操縦出来るようにプログラムを改造中です。
ラダーに方位センサー、エレベーターにピッチセンサー、エルロンにロールセンサー、スロットルはタッチパネルに割り当てています。
私は、アプリ開発は初心者なので、赤外線出力、モーションセンサー、タッチパネル、画面の更新などの複数のプログラムを同時に動かす事に悩んでいます。
 
 
 
自作アプリでヘリ操縦 (toko)
2013-01-07 22:56:02
Kineさん素晴らしですね。
通常は赤外線開発環境がないんですか。
ラダー、エレベータ、エルロン、スロットルのコントロールができるなんてすばらしいですね。
コントロールの遅れはないでしょうか?
またいろいろ教えてください。
 
 
 
コントロールの遅れ (Kine)
2013-01-08 20:34:05
通常のAndroid SDKに、赤外線の開発環境がないのは、赤外線機能を多く利用するのは日本だけで、世界標準の機能としては採用されなかったからのようです。
Wi-FiやBluetoothなどの無線通信開発環境は、通常のAndroid SDKにあり利用出来そうです。
Wi-FiやBluetooth機能のAndroidアプリ作成方法は、トランジスタ技術誌の2012年9月号に載っていましたが、面白そうですね。
ただ、消費電流が多いようなので、インドアの小さな機体に無線通信回路の搭載は向いていないかもしれません。
このトラ技9月号には、Android端末のUSBポートにPICマイコンを接続し、制御するアプリの作成方法も載っています。
この接続したPICマイコンに、LEDモジュールを接続すれば、tokoさんが購入したNEXUS7でも赤外線操縦のアプリが作成出来そうな気がします。
(詳しく読んでいないので無責任な説明かもしれません)
この方式であれば、tokoさんの通常の赤外線受信機でもプログラムの変更無しに操縦出来そうです。
シャープの赤外線開発環境では、テレビなどの家電リモコンフォーマットに対応した仕様なので、パルス幅が固定されてしまいます。
従って、シャープの方式では、tokoさんの赤外線方式のように、パルス幅を変化させるプログラムは作成出来ないと思われます。

コントロールの遅れについて、タッチ操作のアプリでは、まったく遅れはありません。
しかし、傾きでの操作アプリでは、今のところ遅れが生じます。
センサーのアプリ開発では、Android のバージョン2.2以降と未満では、プログラムの記述方法が違うようで、バージョンの違いが原因で遅れが生じているのか、画面の更新など他の原因で遅れるのか勉強しながら調査中です。
ちなみに、夜空にスマホをかざすと、かざした方向の星座を表示してくれるアプリの「google Sky マップ」を利用していますが、このアプリでは、XYZの3軸方向のセンサーの応答に遅れはありません。
従って、遅れについては私のスマホのセンサーに問題はなく、作成中のアプリに問題がありそうです。
私は、2ヶ月程前に初めてスマホを購入し、アプリ開発を趣味で始めたばかりですが、Androidアプリのプログラミングは、悩みながらも楽しんでいます。
 
 
 
大変参考になりました (toko)
2013-01-08 23:15:30
Kineさん、いろいろありがとうございました。
USBポートを使うのがよさそうですね。
とりあえずトラ技9月号を買ってみます。

Nexus7は今日成田を通関したようなので、10日には手元に届きそうで、楽しみです。

またいろいろ教えてください。
 
 
 
遅れの原因 (Kine)
2013-01-14 15:41:28
傾きでの操作アプリのコントロールの遅れについて、原因がわかりました。
センサーの監視レートは、プログラムの記述で設定が可能です。
私の記述では、SENSOR_DELEY_NORMAL となっていましたが、最も遅いレートとなっていました。
NORMALの部分を UI や GAME や FASTEST に変更するとレートの調整が出来ます。
修正したところ遅れは無くなりました。
実際に、ヘリコプターを傾きで操縦する事も可能になりました。

次に、Bluetoothアプリの勉強を始めました。
トラ技9月号140頁にBluetoothUSB対応のPICマイコンとしてDIPパッケージのPIC24FJ64GB002が紹介されていました。
ネットでフラットパッケージでのBluetoothUSB対応製品を探したところ、外神田のRT ROBOT SHOPから、ランニングエレクトロニクス社の完成基板が販売されていました。
(USBホスト機能搭載小型PIC基板 SBDBT と SBDBT5VRP)
トラ技で紹介されていたPICよりI/Oピンの多いPIC24FJ64GB004を搭載していて、サイトから、回路図、取説、ファームウェアのソースコードもダウンロード出来ます。
このPIC基板のファームウェアを改造し、基板や部品をヤスリで削って重量を減らせば、今のヘリコプターに搭載が可能かもしれません。
とりあえず、Bluetoothアプリの勉強に、次の方法を考えてみました。
ヘリコプターは何も改造せずに、赤外線操縦のままとする。
ブレットボード上に、電源、PIC基板、LEDモジュールなどをセットする。
スマホのBluetoothアプリは、ブレットボード上のPIC基板とBluetooth無線通信を行う。
ブレットボード上のPIC基板は、LEDモジュールを通し、ヘリコプターに赤外線を送る。
ヘリコプターに、直接、Bluetooth通信を行わない間接的な通信方法ですが、この方法であれば、ハードウェアの新規作成やヘリコプターの改造はせずにプログラム作成が出来そうです。
トラ技のサンプルプログラムを見始めましたが、とても長いソースコードで、理解するには時間がかかりそうです。

トラ技9月号77頁に、USBポートにPICマイコンを接続可能な、Androido端末について、マイクロチップテクノロジーのサイトのリンクが載っていました。
確認したところ、tokoさんが購入したNexus7は対応していて、よかったです。
しかし、私のIS05は対応していませんでした。
 
 
 
センサーの監視レート (toko)
2013-01-14 16:26:33
自由に変更できるんですね。
Kineさんどんどん進んでますね。
Nexus7のUSBポートにPICマイコンが接続できることを調べていただきありがとうございます。
近くの書店にトラ技9月号を注文してあるのですが、まだ入荷連絡が来ていません。
今は傾斜センサーを使ったゲームアプリで遊んでいる状態です。
どうぞ今後ともよろしくお願いします。


 
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。