あれこれ考えてみる(陰であんなことやこんなことしちゃう...)
赤外線リモコンを用いたプログラムは、メインループの中で、REMOCONコマンドで、押されたボタンの値を受け取って、それに応じた処理を行う形でプログラミングになっていると思いますが、ロボットが動いている間に、リモコンのボタンを押しても反応する訳ではありませんよね。ま、当たり前ですが
この前の「もう待てない」で書いたのと同じようなことなんですが、ロボットが動いている陰で、変数の値を変更してみようかと思います。
そんな使い方する為の説明として、いいサンプルコードとは言えないんですが、以下の様なコードを転送します。
DIM A AS BYTE
DIM B AS BYTE
A=0
B=0
MUSIC "C"
MAIN:
IF B>0 THEN
A=B
B=0
ELSE
A=REMOCON(1)
ENDIF
IF A=1 THEN
MUSIC "C"
ELSEIF A=2 THEN
MUSIC "D"
ELSEIF A=3 THEN
MUSIC "E"
ELSEIF A=4 THEN
MUSIC "F"
ELSEIF A=5 THEN
MUSIC "G"
ELSEIF A=6 THEN
MUSIC "A"
ELSEIF A=7 THEN
MUSIC "B"
ENDIF
Delay 2000
A=0
GOTO MAIN
陰で変数の値を変更します。
そのひとつの方法として、RZ1Basicのツールウインドウにある、赤外線リモコンのボタンをクリックします。表示された赤外線リモコンウインドウの下の方を見ると「Simulation REMOCON(n)」となっているかと思いますが、この辺りを右クリックし、COM #2 (0x0141)を選択します。
- 今回やりたいのは、シミュレーションでなく、通信なので、「COM」を選択します。
- 上のサンプルコードの場合、陰で「B」の値をコントロールします。「B」の値は2番目に定義された変数なので、「#2」を選択します。0x0141は、2番目の変数の値が格納される番地のことです。
赤外線リモコンのボタンを押した時と、RZ1Basicの赤外線リモコンウインドウのボタンをクリックした時と、違いを体感してみてね
要するに、「処理中に、裏で次の処理を指定しておく為の方法の紹介」って感じかな
今回はあまりいいサンプルコードとは言えませんが、「あれこれ考えてみる」のコーナーでは、具体的にどうこうということではなく、紹介したことがワークショップ的に何かに役立っていけばいいなぁと思ってます。
----------------
にほんブログ村
| 固定リンク
「工作・改造・解析」カテゴリの記事
- Maker Faire Tokyo 2014 に行ってきました(2014.12.14)
- ワイヤーストリッピングゲージ(2014.06.26)
- Arduino関連の本を買いました(2013.09.04)
- Maker Faire Tokyo 2012 12月1-2日開催(2012.11.09)
- 5V対応SBDBTがついに発売開始!(2012.10.26)
この記事へのコメントは終了しました。
コメント