make: ogaki meeting 2012 androidロボットサミットin大垣

13
Androidで、 お手軽ロボットプログラム 「コンピュータを楽しもう!」という ブログを書いています。 たろサ(@momoonga) 山本三七男(神戸支部)

Upload: -

Post on 28-May-2015

420 views

Category:

Self Improvement


3 download

TRANSCRIPT

Page 1: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

Androidで、

お手軽ロボットプログラム

「コンピュータを楽しもう!」という ブログを書いています。

たろサ(@momoonga)

山本三七男(神戸支部)

Page 2: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

2

神戸支部ハードウェア倶楽部

Androidとさまざまなマイコンとの接続・制御にチャレンジ!!

ADK/MicroBridgeを用いて、新旧Androidも利用可能に!

PIC ADK mini boardを基板から独自に制作!みんなで半田づけを行い、ローコストでロ

ボットカー製作が可能!

Android側ライブラリで、マイコン側ファームウェアの書換えを不要に!

初心者が簡単で楽しくマイコン制御ができるように講習会を企画予定!

全国から参加者を募集しています!日本橋めぐりもできます!!

Page 3: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

ソフトウェアよりの

発表をします

Page 4: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

4

Androidロボットを作るためには

2つのプログラムが必要

Android

Arduino

Page 5: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

5

お手軽開発に向けて

Androidアプリを作りました。Androidアプリを作りました。

Luarida(ルアリダ)

Sarida(サリーダ)

お手軽開発ツール MicroBridge対応。OS 1.6~

ADK、MicroBridge対応。OS 2.3.4~

eclipseのインストールなどにはまることも無くなります。

Page 6: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

6

Luarida/Saridaの紹介

Luarida・SaridaはLuaというスクリプト言語でプログラムを記述します。

Androidのエディタ画面

ArduinoとADK接続可能

MicroBridge対応基板と接続可能

現在の状況

Sarida

Luarida

Saridaのスクリプト

Page 7: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

7

ロボットを作りました

MicroBridge-Luarida間はソケット通信しています。大人の科学付録の「卓上ロボット掃除機」をAndroidから操作できるように改造させてもらいました。

MicroBridgeとLuaridaをつなげて、Luaridaで操作するロボットを作りました。

Page 8: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

8

スクリプトのいいところ

基本的にプログラムはテキストファイル

ServerWifi

ネットワーク上からスクリプトをダウンロード

ロボットが動作

詳しくはブログに書いています。

スクリプトを選択

Page 9: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

9

実装コマンドなど

Luarida・     共通

http.get( URL, 取得ファイル名 )

URL: 取得するファイルのURL

取得ファイル名: 保存するときのファイル名

ネットからファイルをダウンロードするには

通信をオープンするには

--60101ポートへの接続を5秒間待つ

local ret = sock.nlistenOpen( SockADB, 60101, 5 )

データを送信するには

local cmd = "F"..string.char(10)

sock.nsend( SockADB, cmd, 2 )

方位角度を取得するには

--方位角度を取得

local angle = sensor.getOrient()

コンピュータを楽しもう!

Sarida

Page 10: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

10

実装コマンドなど

Saridaのみ

adk.pinMode(pin, mode)

pin: ピン番号

mode: 0:Input, 1:Output

Arduinoピンモードの切り替え

Arduinoデジタルライト

adk.recv( [timeout] )

timeout: 受信タイムアウト(s)

戻り値: 受信データ,データサイズ

Arduinoデジタルリード

adk.digitalWrite(pin, value)

pin: ピン番号

value: 0:LOW, 1: HIGH

Arduinoアナログライトadk.analogWrite(pin, value)

pin: ピン番号

value: 出力PWM比率(0~255)

adk.digitalRead(pin)

pin: ピン番号

戻り値: 0:LOW, 1:HIGH

adk.analogRead(pin)

pin: ピン番号

戻り値: 10ビットの値(0~1023)

Arduinoアナログリード

バイト送信adk.send(data, length)

data: バイトデータ

length: データサイズ

バイト受信

Page 11: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

11

スクリプトの公開方法

TAOSOFTWARE

doroLuarida

Luaridaのみ

Page 12: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

12

今後の予定

Luarida(ルアリダ)

Sarida(サリーダ)

大きな機能追加はあまり無いかな・・・

早く公開する。すいませんm(_ _)m

Rubida(ルビーダ)?mrubyが公開されたので、すごく作りたくなっています・・・。

Page 13: Make: Ogaki Meeting 2012 Androidロボットサミットin大垣

お し ま い