システム! "protchrm" 使う。
* 自律的な動作のプログラムでは、先頭に次の1 行を記述してください。
システム! "protch" 使う。
プロ! 1 待つ。
* サーボモータの回転角度を制御します。 * 0~180 までの角度を制御値としてパラメータに設定します。 * 左サーボモータと右サーボモータのオブジェクトを準備しています。 * 制御したい方のオブジェクトを記述してください。
左サーボモータ! 180 角度設定。
右サーボモータ! 0 角度設定。
* モーターの回転を制御します。 * 前進、後進、停止、左折、右折、右回り、左回り命令の引数に秒数を指定することで指定した時間の間動作し、その後0.5 秒停止します。 * 引数を与えない場合は、実行後に停止しません。
モータ! 1 前進。
後進: 両輪を同じ速度で逆回転します。 (例)1 秒間、後進します。 モータ! 1 後進。 停止: 両輪の回転を停止します。 (例)1秒間、停止します。 20 付録A ドリトルの命令一覧 モータ! 1 停止。 左折: 右側のモータを正回転します。 (例)3 秒間、左折します。 モータ! 3 左折。 右折: 左側のモータを正回転します。 (例)3 秒間、右折します。 モータ! 3 右折。 左回り: 右側のモータが標準の速度で正回転し、左側のDC モータが標準の速度/5 の速度で 前転します。 (例)2秒間、左回りします。 モータ! 2 左回り。 右回り: 左側のモータが標準の速度で正回転し、右側のDC モータが標準の速度/5 の速度で 前転します。 (例)2秒間、右回りします。 モータ! 2 右回り。 速度設定: DC モータの速度を0 から255 までの値で設定します。標準では100 になってい ます。 (例)両輪の速度を255 に設定し、2秒間、前進します。 モータ! 255 255 速度設定。 モータ! 2 前進。 ブザー 書き込み版のみのオブジェクトです。 演奏: ブザーの出力命令です。 (例)ドの音階を鳴らします。 ブザー! “ド” 演奏。 メロディ 譜面に相当するオブジェクトです。 生成したメロディを演奏の引数に与えることができます。 作る: メロディオブジェクトの生成命令です。 (例)音楽という名前のメロディオブジェクトを作成し、ドの音階を設定します。 音楽=メロディ! “ド”作る。 追加: 生成したメロディオブジェクトに音階を追加する命令です。。 A.1 Protch オブジェクト21 (例)メロディオブジェクトの「音楽」にレの音階を追加します。 音楽! “レ”追加。 (例)メロディオブジェクトを演奏の引数に与えます。 ブザー! (音楽) 演奏。 スイッチ スイッチの計測値を取得します。 左スイッチと右スイッチのオブジェクトを準備しています。 取得したい方のオブジェクトを記述してください。 読む: スイッチが押されている時は0 を、押されていない時は1 を返します (例)左スイッチの入力値が0 なら『…』を実行します。 「(左スイッチ! 読む)==0」! なら「…」実行。 接触?: スイッチが押されている時は0 を、押されていない時は1 を返します (例)左スイッチの接触があれば『…』を実行します。 「左スイッチ! 接触?」! なら「…」実行。 光センサ 左光センサと右光センサのオブジェクトを準備しています。 取得したい方のオブジェクトを記述してください。 読む: 光センサの値を0~255 の値で返します。センサの周辺が暗いほど値が大きくなりま す。 (例)左光センサの入力値が100 より大きかったら『…』を実行します。 「(左光センサ! 読む) > 100」! なら「…」実行。 明るさ?: 光センサの値を0~255 の値で返します。センサの周辺が暗いほど値が大きくな ります。 (例)左光センサの入力値が100 より大きかったら『…』を実行します。 「(左光センサ! 明るさ?)> 100」! なら「…」実行。 ラインセンサ ラインセンサ(赤外線フォトリフレクタ)の値を取得します。 左ラインセンサと右ラインセンサのオブジェクトを準備しています。 22 付録A ドリトルの命令一覧 取得したい方のオブジェクトを記述してください。 読む: ラインセンサの値を0~255 の値で返します。反射が明るいほど値が大きくなりま す。 (例)右ラインセンサの入力値が130 より大きかったら『…』を実行します。 「(右ラインセンサ! 読む) > 130」! なら「…」実行。 明るさ?: ラインセンサの値を0~255 の値で返します。反射が明るいほど値が大きくなり ます。 (例)右ラインセンサの入力値が130 より大きかったら『…』を実行します。 「(右ラインセンサ! 明るさ?) > 130」! なら「…」実行。 バッテリ 読む: バッテリの残量を1~5 で返します。 (例)バッテリの残量が3 以上なら『…』を実行します。 「(バッテリ! 読む) >= 3」! なら「…」実行。 残量?: バッテリの残量を1~5 で返します。 (例)バッテリの残量が3 以上なら『…』を実行します。 「(バッテリ! 残量?) >= 3」! なら「…」実行。 距離センサ 距離センサの値を取得します。 読む: 距離センサの値をmm(ミリメートル) で返します。 (例)距離が130mm より大きかったら『…』を実行します。 「(距離センサ! 読む) > 130」! なら「…」実行。 距離?: 距離センサの値をmm(ミリメートル) で返します。 (例)距離が130mm より大きかったら『…』を実行します。 「(距離センサ! 距離?) > 130」! なら「…」実行。 シリアル リモート版のみ利用可能なオブジェクトです。 読む: プロッチが受信した文字列を取得します。 (例)プロッチが受信した文字列をラベルを使って表示します。 A.1 Protch オブジェクト23 ラベル!(シリアル!読む) 作る。 出力: 引数に指定した文字列を出力する命令です。 (例)「こんにちわ」の文字列を出力します。 シリアル!“こんにちわ”出力。