Weitere ähnliche Inhalte
Ähnlich wie Android + Runtime Environment
Ähnlich wie Android + Runtime Environment (20)
Android + Runtime Environment
- 3. 3
製作動機
どこでも、ちょこちょこ
プログラムするのが好きだった。
1980年代 90年代
ポケコン ザウルス 2000年代
BASIC BASIC 944BASIC
- 4. 4
製作動機
Androidでも
ちょこちょこプログラム
SL4A(Scripting Layer for
Android)環境
・Python・Perl・JRuby
・Lua・JavaScript
う~ん。取っつきにくいなぁ!
- 5. 5
製作動機
もっと、
敷居の低いもの
そう、BASICのような・・・
・Eclipseはインストールしなくていい。
・Androidのバージョン違いも関係なく。
・簡単・単機能で、入り易いもの。
- 6. 6
製作動機
無ければ作るしかない
移植が簡単そうな
・Lua言語
Androidに 移植。
イメージはBASIC
- 9. 9
Luaridaの特徴
1.昔のBASICのような命令体系
2.Android単体プログラム
3.開発環境(JotaTextEditor)
4.アプリ配布サーバー用意
5.ADK, MicroBridge接続
可能(Sarida)
- 10. 10
イメージはBASIC
「2種類のグラフィック画面」
持っているのは、それだけ!!
- 11. 11
イメージはBASIC
「2種類のグラフィック画面」
持っているのは、それだけ!!
W = color(255,255,255)
R = color(255,0,0)
canvas.drawCls(W)
Bitmap用
ワーク画面 for x=0,100,2 do
canvas.drawLine(x*2,0,200-x*2, 200, R)
canvas.drawLine(0, x*2, 200, 200-x*2, R)
end
メイン画面
- 12. 12
イメージはBASIC
「ダイアログ・トーストも簡単」
a = dialog( "", "メッセージのみです。" )
a = dialog( "", "OKで閉じます",1 )
a = dialog( "a= "..a, "Yes No のサンプル", 2 )
a = dialog( "a= "..a, "Yes No Cancelのサンプル",3)
toast( "トーストです。a= "..a )
- 13. 13
イメージはBASIC
「リストダイアログも簡単」
item.clear()
item.add("みかん", 0 )
item.add("たちうお", 1 )
item.add("海", 0 )
t = item.list( "好きなものを選んでください" )
t = item.radio( "好きなものを選んでください", 2 )
t = item.check( "好きなものを選んでください" )
- 16. 16
Lua言語の簡単な紹介
構文
while(exp)do if(exp)then
block block
end elseif(exp)then
block
repeat else
block block
until(exp) end
- 17. 17
Lua言語の簡単な紹介
構文
while(exp)do
if(exp)then break end
end
for i=exp, exp [,exp] do
block
end
- 18. 18
Lua言語の簡単な紹介
構文
条件式
== > < <= >= ~=
and or
if(exp)then
block
end
- 19. 19
Lua言語の簡単な紹介
変数
function f() グローバル変数
a=10 ローカル変数
local b=20
do
local b=30
end 20
print( b )
end
- 20. 20
Lua言語の簡単な紹介
テーブル
a={ b=20, c=30 }
⇒a.b a.c
⇒a[“b”] a[“c”] a={
str =”b” b={ c=30, d=40 }
⇒a[str] }
⇒a.b.c a.b.d
⇒a[“b”].c
20 ⇒a[“b”][“c”]
⇒a.b[“c”]
- 21. 21
Lua言語の簡単な紹介
テーブル(配列) a={ } 初期化されます
a={ } 1~です a[1]={ b=20, c=30 }
⇒a[1]=10 a[2]={ b=21, c=31 }
×⇒a.1 ⇒a[1].b a[1].c
a={ 20, 30, 40 } ⇒a[2].b a[2].c
⇒a[1]=20 a[2]=30 ⇒a[2][“b”] a[2][“c”]
⇒a[3]=40 a={ b={} }
for i=1,10 do ⇒a.b[1]
a[i]={ } ⇒a.b[2]
end
⇒a[1][1] a[1][2]
- 24. 24
DoroLuarida
タオソフトウェアさんが
Luaridaユーザ 実現してくれました。
スクリプト作成
(foo.lua)
DOROKURI
スクリプトapk化
foo.apk サイト
Androidマーケットに Android
登録できる マーケット
- 27. 27
起動すると
Luarida起動
/sdcard /sdcard/luarida/luarida.lua
これが起動し、
ここから始まります。
SaridaSAKURA起動
/sdcard /sdcard/SaridaSAKURA/sarida.lua
/sdcard/SaridaSAKURA/sketch_bin/sketch.bin
GR-SAKURA
- 29. 29
Saridaとは
LuaでArduinoのようなマイコンボードを
制御しようと思って開発中
- 30. 30
何故ゆえ?
2つのプログラムが必要
Android
Arduino
- 31. 31
お手軽開発に向けて
MicroBridge対応
Luarida
(ルアリダ)
ADK対応
SaridaSAKURA
(サリーダ桜)
- 32. 32
実装コマンドなど
Saridaへの実装
ピンモードの切り替え アナログライト
adk.pinMode(pin, mode) adk.analogWrite(pin, value)
pin: ピン番号 pin: ピン番号
mode: 0:Input, 1:Output value: 出力PWM比率(0~255)
analogWriteDAC(pin, value)
デジタルライト value: DAC出力(0~4095)
adk.digitalWrite(pin, value)
pin: ピン番号 バイト送信
value: 0:LOW, 1: HIGH adk.send(data, length)
data: バイトデータ
デジタルリード length: データサイズ
adk.digitalRead(pin)
pin: ピン番号 バイト受信
戻り値: 0:LOW, 1:HIGH adk.recv( [timeout] )
アナログリード timeout: 受信タイムアウト(s)
戻り値: 受信データ,データサイズ
adk.analogRead(pin)
pin: ピン番号
戻り値: 10ビットの値(0~1023)
- 34. 34
ロボットを作りました
MicroBridgeとLuaridaをつなげて、Luaridaで
操作するロボットを作りました。
MicroBridge-Luarida間はソケット通信しています。
大人の科学付録の「卓上ロボット掃除機」をAndroidから操作できる
ように改造させてもらいました。