Androidスマートフォンからレゴマインドストームを操作するアプリをApp Inventorを利用して開発しなさい。開発には、各自のスマートフォンに付属のUSBケーブルが必要になります。詳細についてはテキスト、およびをソフトウエア技術ドキュメント1)を参考にしてください。完成したファイルをDownload Sourceを利用して入手し、提出しなさい。

mindstorms1.jpg


ロボットの仕様 LEGO MINDSTORMS NXT 2.0
モーター3台 Port A(ボールフォルダー、カラーボール), B(右車輪), C(左車輪)
超音波センサー 1個 Port 4
カラーセンサー 1個 Port 3
  • 1) Bluetoothを使いAndroidスマートフォンとレゴマインドストームを接続するBluetooth接続ボタンを作成しなさい。
  • 2) Port B, Cのモーターを操作する前進、バック、右回転、左回転、ストップボタンを作成しなさい。
  • 3) Port Aのモーターを操作し、カラーボールを1個ずつ発射する発射ボタンを作成しなさい。
  • 4) 計測ボタンを作成し、超音波センサーを用いて前方の障害物までの距離を測った結果を画面に表示しなさい。
  • 5) 4)で計測した前方の障害物までの距離を基に、障害物の直前まで前進するように前進ボタンを修正しなさい。

api1.jpg

api2.jpg

参考文献

1. ソフトウエア技術ドキュメント



 
学生のころからC言語で、様々な数値計算や最適化のプログラムを作成していました。
論文を書くためだけであれば開発したソフトウエアをビジュアル化する必要はなかったのかもしれませんが、2006年ごろに、ふと数値計算や最適化のWindowsアプリケーションを開発したくなりました。
その頃、Windowsプログラミングといえば、MFCライブラリに関する解説書が多くある中、
まだまだ十分な情報はありませんでしたがVisual C++ 2005を利用したC++/CLIを利用したソフトウエアの開発を始めました。

見た目を確認しながらWindowsアプリケーションを作成できるようになり、Visual C++で開発する際のハードルが低くなっています。(Microsoft Visual C++2005アプリケーション開発入門、日経BPソフト)

しかし、最初のころは情報不足でかなり苦労しました。

・明快入門Visual C++2005ビギナー編、林晴比古、SoftBank Creative
・明快入門Visual C++2005シニア編、林晴比古、SoftBank Creative
・速攻解決逆引きハンドブックVisual C++、日向俊二、ソシム

が非常に役に立ちましたが、書籍を探しても、インターネット上を探してもVisualBasic、VisualC#の情報ばかりでなかなか有益な情報に出会えませんでした。

いくつか非常に参考になったサイトを挙げると

VisualC++の勉強部屋
画像処理ソリューション

が非常に役に立ちました。
言語としてはいくつか選択肢がある中で、過去のC言語プログラムを有効に利用しながら、パソコン上で比較的大規模な数値計算を、操作や結果表示をビジュアル化して行う手段としてVisual C++を利用しています。

過去の開発事例は、カテゴリの研究・開発をご覧ください。



 
2011年秋学期の情報科学概論では、Google App Inventorを利用してAndroidアプリの作成を行っています。 昨年までのVisual Basicからこちらに変更しました。 残念ながら、Googleによるサポートは2011年12月31日に終了し、2012年の春までにはMITによるサポートが始まる予定です。

詳細は、App Inventor@MIT で確認することができます。
日本での情報は、日本App Inventorユーザー会にもあります。

授業では、30分でつくれるAndroidアプリ Google App Inventorではじめよう! 塚田 翔也 、ソシム、2,200円(税別) をテキストとして使っています。内容は以下のようなものです。アプリを作成し、自分のスマートフォンですぐに確認できるのでプログラミングに興味のない学生でも楽しむことができます。

1 App Inventorってなに?どんなことができるの?
2 まずは環境設定
3 さっそくアプリをつくってみよう!
4 こんなアプリもつくれるよ
   ボールころがしアプリ
   カクテルシェイクアプリ
   現在地メール送信アプリ
   英語発音チェックアプリ
   Twitter自動投稿アプリ
   レゴロボリモコンアプリ
5 Androidマーケットで全世界に公開!

このうちレゴロボコンアプリを紹介します。
LEGO MINDSTORM NXT 2.0 を Bluetoothを利用して操作するAndroidアプリです。
スマートフォン上に、前進、後進、ストップ、右ターン、左ターンがあり、ロボットを操作できます。
テキストにあったモータの制御を行うプログラムを多少改造しています。
テキストには書いてありませんが、開発ツールのブロックダイアグラムを見ると、他のセンサーなどを利用したプログラムもできるようです。

さっそくブロックの上を走らせてみました。

mindstorm.jpg 


30分でつくれるAndroidアプリ Google App Inventorではじめよう!30分でつくれるAndroidアプリ Google App Inventorではじめよう!
(2011/08)
塚田 翔也

商品詳細を見る


入門 LEGO MINDSTORMS NXT 第2版 レゴブロックで作る動くロボット入門 LEGO MINDSTORMS NXT 第2版 レゴブロックで作る動くロボット
(2010/03/20)
大庭 慎一郎

商品詳細を見る
 

| Home |