ロゴ坊で新型RB-01を動作させるための手順
---------------------------------------------------------------
 今回新たに追加された命令以外は、旧タイプと同じです(互換性をもっています)
 動作時間は、0.25秒ステップで旧タイプの半分の時間間隔に設定しています。
 旧タイプのロボットで作ったプログラムはそのまま動作(時間は半分)します。
 他のロゴ言語では、それに対応する命令に置き換えて下さい。

 この手順をStartup.lgに登録するか、作成する制御プログラムに入れると
 ロゴ坊でRB-01を制御できるようになります。
----------------------------------------------------------------

xで指定した時間後退する。

時間は、0〜15の数字を指定します。(それ以外は違う命令になってしまいます)
時間単位は、「 x × 0.25秒 」です。

to bck :x
 sout (80 + :x)
end

プリンターポートからは、(888はポート番号)

to bck :x
 out 888 (128 + 80 + :x)
 out 888 0
end

xで指定した時間左車輪が後退する。

to bkl :x
 sout (64 + :x)
end

to bkl :x
 out 888 (128 + 64 + :x)
 out 888 0
end

xで指定した時間右車輪が後退する。

to bkr :x
 sout (96 + :x)
end

to bkr :x
 out 888 (128 + 96 + :x)
 out 888 0
end

xで指定した時間前進する。

to frt :x
 sout (32 + :x)
end

to frt :x
 out 888 (128 + 32 + :x)
 out 888 0
end

xで指定した時間左車輪が前進する。

to ftl :x
 sout (16 + :x)
end

to ftl :x
 out 888 (128 + 16 + :x)
 out 888 0
end

xで指定した時間右車輪が前進する。

to ftr :x
 sout (48 + :x)
end

to ftr :x
 out 888 (128 + 48 + :x)
 out 888 0
end

16ステップのプログラムをロボットに転送します。

to pgm
 sout 116
end

to pgm
 out 888 (128 + 116)
 out 888 0
end

転送したプログラムを実行させる命令です。

to rob
 sout 120
end

to rob
 out 888 (128 + 120)
 out 888 0
end

プログラムの終了命令です。

to stp
 sout 208
end

前進中入力があると停止後、右折します。

to rmv
 sout 113
end

to rmv
 out 888 (128 + 113)
 out 888 0
end

前進中入力があると停止後、左折します。

to lmv
 sout 114
end

to lmv
 out 888 (128 + 114)
 out 888 0
end

前進中入力があると停止します。

to smv
 sout 115
end

to smv  out 888 (128 + 115)
 out 888 0
end

xで指定した番地に無条件にジャンプします。(GOTO命令)
0〜15でジャンプする番地を指定します。

to jmp :x
 sout (160 + :x)
end

繰り返し回数をxで指定します。

to cnt1
 sout (176 + :x)
end

cnt1で指定した回数だけ、xで指定した番地へジャンプします。
0〜15でジャンプする番地を指定します。

to lop1 :x
 sout (192 + :x)
end

入力があるまで待ちます。

to inp1
 sout 128
end

右左折の時間をさらに短くします。

to tim1
 sout 124
end

右左折の時間を短くします。

to tim2
 sout 125
end

右左折の時間を標準にします。

to tim3
 sout 126
end

右左折の時間を長くします。

to tim4
 sout 127
end


プログラムを作成する時の書式

demo1を実行することにより、ロボットにプログラムが転送されます。
wait 0.1 は、赤外線信号を出す間待つ命令で0.05秒以上あればかまいません。
ここでは、0.1秒のタイマーです。

to demo1
 pgm
 step0 pgm     ;ステップ0のプログラム
 wait 0.1
 step1 pgm     ;ステップ1のプログラム
 wait 0.1
 step2 pgm     ;ステップ2のプログラム
 wait 0.1
 step3 pgm     ;ステップ3のプログラム
 wait 0.1
 step4 pgm     ;ステップ4のプログラム
 wait 0.1
 step5 pgm     ;ステップ5のプログラム
 wait 0.1
 step6 pgm     ;ステップ6のプログラム
 wait 0.1
 step7 pgm     ;ステップ7のプログラム
 wait 0.1
 step8 pgm     ;ステップ8のプログラム
 wait 0.1
 step9 pgm     ;ステップ9のプログラム
 wait 0.1
 step10 pgm     ;ステップ10のプログラム
 wait 0.1
 step11 pgm     ;ステップ11のプログラム
 wait 0.1
 step12 pgm     ;ステップ12のプログラム
 wait 0.1
 step13 pgm     ;ステップ13のプログラム
 wait 0.1
 step14 pgm     ;ステップ14のプログラム
 wait 0.1
 step15 pgm     ;ステップ15のプログラム
 wait 0.1
end