スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 その他趣味ブログ LEGO・ブロックへ

Google App Inventor for Androidを試してみる2

こんばんは、kobaです。

「Google App Inventor for Androidを試してみる1」の後にすぐにNXTを制御するプログラムをつくってみたのですが、エミュレーターではBluetoothを利用することができなかっためそれ以上進むことができませんでした。
やっと最近携帯をAndroid端末に変更することができましたので実際にAndroidからNXTの制御を行ってみました。

プログラムの前にBluetoothと実機でアプリ動作のための設定が必要です。
Bluetoothの設定
Androidの設定->無線とネットワーク->Bluetoothの設定にチェックを入れ、その下のBluetooth設定でNXTとのペア設定を行っておく必要があります。
実機でのアプリ動作の設定
Androidの設定->アプリケーション->提供元不明のアプリにチェックを入れ、その他下の開発でUSBでバッグのチェックをいれます。
この辺りはAndroidの機種によって若干異なっているかもしれません。
上述の設定が完了したらAndroidとパソコンをUSBケーブルで接続します。

今回はロボット・アームのモーター3つの制御をAndroidからBluetoothを使って行ってみました。
3つのモーターはA,B,C3つのポートでNXT本体と繋がっています。
それぞれの以下を担当しています。
ポートAのモーターがアームの開く、閉じる
ポートBのモーターがアームの上下移動
ポートCのモーターがアームの左右移動

デザインはこちらのようなファミコンのコントローラーのような画面を簡易的に作ってみました。下にあるBluetooth OnはAndroidとNXTのBluetoothを接続するために最初に利用します。
AppInventor2-Design.png

この中で少し特殊なのがNxtDirectCommands1となります。
以下のようにNxtDirectCommands1を選択して右側のプロパティでBlutoothコンポーネントの名前選択して設定しておきます。
AppInventor2-DirectCommand.png

今回は十字キーの上がButton1,左がButton2,右がButton3,下がButton4、AがButton5、BがButton6となっており、Aでアームを閉じる、Bでアームを開くとしています。

以下プログラム本体のBlocksEditorです。
AppInventor2BlocksEditor.png

一番上の段は、普通のプログラムのグローバル変数にあたり、モーターのスピードなどの値を設定しています。
次に上下左右にあるButton1~4.Clickが十字キーの制御、左下がBluetooth関係、右下がA,Bボタンに対応します。
十字キーですがApp Inventorのクリックイベントはボタンを離したときしかイベントを拾うことができないため、クリックをカウントしていて同じキーを2度押すとモーターを止めるようにしています。本当は押している間移動したかったのですが。

時間があるときにAndroid側の画面と動画も追加していきます。


スポンサーサイト


にほんブログ村 その他趣味ブログ LEGO・ブロックへ

コメントの投稿

非公開コメント

リンク
フリーエリア
プロフィール

tsukuba.lego

Author:tsukuba.lego
●主な登場人物
koba : 会長. RCX, WeDo, NXT1.0, NXT2.0を持つ.
matk : 副会長. 2010年夏にNXT2.0を購入, 20年来のレゴ熱復活.
●会員募集中です!小学生から歓迎. 近日月1ぐらいで集まる予定.
mail:tsukuba.lego@gmail.com
YouTube (tsukubalego)
Twitter(tsukubalego)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。