View
2.587
Download
0
Embed Size (px)
DESCRIPTION
App Inventor で ロボットを 動かした 2012年5月20日 日本 App Inventor ユーザ会 オフラインミーティング http://atnd.org/events/28432
Citation preview
App Inventor でロボットを動かした
2012年5月20日 日本AppInventorユーザ会 大和田健一
2012年5月20日 日本AppInventorユーザ会 大和田健一
@ohwada
大和田健一日本Androidの会 横浜支部三代目 支部長
自 己 紹 介
2012年5月20日 日本AppInventorユーザ会 大和田健一
おさらい
2012年5月20日 日本AppInventorユーザ会 大和田健一
2010年7月
丸山です。7月12日に公開された、App Inventor ですが、皆さん、使っていますか? 僕は、ちょっと出遅れて、まだ動かせていません。 面白そうですね。
http://groups.google.com/group/android-group-japan/msg/151d683951d04c24
2012年5月20日 日本AppInventorユーザ会 大和田健一
2010年9月
2012年5月20日 日本AppInventorユーザ会 大和田健一
2010年10月
横浜支部定例会
3分間クッキング
http://www.slideshare.net/ohwada/20101024-3min-cooking-in-yokohama-android
2012年5月20日 日本AppInventorユーザ会 大和田健一
仕 組 み
ランチャーはないよ
2012年5月20日 日本AppInventorユーザ会 大和田健一
操作が簡単・ 直感的で分かりやすい・ 小学生でも
学習コストが小さい・ Java 知らなくていい
良いところ
2012年5月20日 日本AppInventorユーザ会 大和田健一
拡張性なし・ Javaコード 出力なし・ 画面デザイン 自由度少ない・ 機能は Google 頼り
説明が英語 大きなディスプレイが必要
悪いところ
2012年5月20日 日本AppInventorユーザ会 大和田健一
横浜支部 ハッカソン2011年8月
http://android.ohwada.jp/archives/135
新機能Bluetooth / MindStorms
2012年5月20日 日本AppInventorユーザ会 大和田健一
LEGO MindStorms 購入
アマゾン31,500円
http://www.amazon.co.jp/dp/B001V7RF9U/
2012年5月20日 日本AppInventorユーザ会 大和田健一
App Inventor による Mind Storm 制御
http://android.ohwada.jp/archives/240
2011年8月 横浜支部定例会
2012年5月20日 日本AppInventorユーザ会 大和田健一
2011年12月 Advent Calendar
傾きセンサ でMind Stormを動かす
http://android.ohwada.jp/archives/1165
2012年5月20日 日本AppInventorユーザ会 大和田健一
App Inventor による m3pi 制御2012年4月 横浜支部定例会
http://www.slideshare.net/ohwada/20120422m3pi
2012年5月20日 日本AppInventorユーザ会 大和田健一
m3pi 個人輸入
3pi robot (AVR)
mbed (ARM)
http://www.pololu.com/catalog/product/2151
210ドル
2012年5月20日 日本AppInventorユーザ会 大和田健一
App Inventor vs Java
App Inventor 利点 簡単Java 利点 細かい制御
2012年5月20日 日本AppInventorユーザ会 大和田健一
Java の Bluetooth 制御
public class BluetoothChatService { // Debugging private static final String TAG = "BluetoothChatService"; private static final boolean D = true;
// Name for the SDP record when creating server socket private static final String NAME_SECURE = "BluetoothChatSecure"; private static final String NAME_INSECURE = "BluetoothChatInsecure";
// Unique UUID for this application private static final UUID MY_UUID_SECURE = UUID.fromString("fa87c0d0-afac-11de-8a39-0800200c9a66"); private static final UUID MY_UUID_INSECURE = UUID.fromString("8ce255c0-200a-11e0-ac64-0800200c9a66");
// Member fields private final BluetoothAdapter mAdapter; private final Handler mHandler; private AcceptThread mSecureAcceptThread; private AcceptThread mInsecureAcceptThread; private ConnectThread mConnectThread; private ConnectedThread mConnectedThread; private int mState;
BluetoothChatService.java 500行http://developer.android.com/resources/samples/BluetoothChat/index.html
2012年5月20日 日本AppInventorユーザ会 大和田健一
App Inventor の Bluetooth 制御
簡単
2012年5月20日 日本AppInventorユーザ会 大和田健一
Java の Button 制御ImageView mForward= (ImageView) findViewById(R.id.forward);mForward.setOnTouchListener( new OnTouchListener() { @Override public boolean onTouch( View view, MotionEvent event ) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: cmdSendForward(); break; case MotionEvent.ACTION_UP: cmdSendStop(); break; } return true; } });
2012年5月20日 日本AppInventorユーザ会 大和田健一
App Inventor の Button 制御ACTION_UP イベントがない
=> 工夫が必要 例: タイマーで停止
2012年5月20日 日本AppInventorユーザ会 大和田健一
今日のネタ
2012年5月20日 日本AppInventorユーザ会 大和田健一
NTX ブロックで mp3i を動かす
2012年5月20日 日本AppInventorユーザ会 大和田健一
ソース 公開
http://code.google.com/p/app-inventor-releases/
2012年1月
2012年5月20日 日本AppInventorユーザ会 大和田健一
app-inventor-releases/appinventor/components/src/com/google/appinventor/components/runtime/
NxtDrive.java
それっぽいのがある
public void MoveForwardIndefinitely(int power)
2012年5月20日 日本AppInventorユーザ会 大和田健一
LEGO MINDSTORMS Bluetooth Developer Kithttp://mindstorms.lego.com/en-us/support/files/Advanced.aspx
2012年5月20日 日本AppInventorユーザ会 大和田健一
結 果
2012年5月20日 日本AppInventorユーザ会 大和田健一
Error 401:The Bluetooth property has not been set.
2012年5月20日 日本AppInventorユーザ会 大和田健一
protected final boolean checkBluetooth(String functionName) { if (bluetooth == null) { form.dispatchErrorOccurredEvent(this, functionName, ErrorMessages.ERROR_NXT_BLUETOOTH_NOT_SET); return false; }
LegoMindstormsNxtBase.java
どこでエラーに
2012年5月20日 日本AppInventorユーザ会 大和田健一
今回は間に合わず
どうすればいい?
2012年5月20日 日本AppInventorユーザ会 大和田健一
デ モ時間があれば
2012年5月20日 日本AppInventorユーザ会 大和田健一
質疑応答