この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
ch_protchremote [2019/03/16 00:29] klab [1. 最初の一歩(プログラムの作り方・実行の仕方の確認)] |
ch_protchremote [2019/03/16 02:20] klab [3.3 光センサの利用] |
||
---|---|---|---|
ライン 16: | ライン 16: | ||
**手順1**:プログラムを「編集画面」に入力\\ | **手順1**:プログラムを「編集画面」に入力\\ | ||
- | 次のプログラムを入力する。 | + | 次のプログラム(protch_rm_led.dtl)を入力する。 |
<code> | <code> | ||
ライン 39: | ライン 39: | ||
**手順3**:動作を終了する\\ | **手順3**:動作を終了する\\ | ||
- | * 実行画面の「動作終了」ボタンを押す(ドリトルからの制御命令の送信を終了する) | + | * 実行画面の「終了」ボタンを押す(ドリトルからの制御命令の送信を終了する) |
- | + | ||
- | {{:pasted:メディアファイル | + | |
- | メディアファイルアップロード検索 | + | |
- | pasted にアップロード | + | |
- | ファイルを現在の名前空間にアップロードします。副名前空間を使用する場合には、ファイル名の前にコロンで区切って追加してください。 | + | |
{{:pasted:protch_step3.png}}\\ | {{:pasted:protch_step3.png}}\\ | ||
ライン 92: | ライン 87: | ||
<code> | <code> | ||
- | システム!"protch"使う。 | + | システム!"protchrm"使う。 |
最初に実行=「 | 最初に実行=「 | ||
左ライト!点灯。 | 左ライト!点灯。 | ||
ライン 111: | ライン 106: | ||
各スイッチは、「左スイッチ!接触?」や「右スイッチ!接触?」を使うことでスイッチのONとOFFを検出できる。\\ | 各スイッチは、「左スイッチ!接触?」や「右スイッチ!接触?」を使うことでスイッチのONとOFFを検出できる。\\ | ||
- | 下記のプログラムでは、左スイッチが押されている時に左ライトが点灯し、押されていないときは消灯する。 | + | 下記のプログラム(protch_rm_switch.dtl)では、左スイッチが押されている時に左ライトが点灯し、押されていないときは消灯する。 |
ここでは、スイッチを利用した条件分岐のプログラムを、「繰り返し実行」のブロックの中に書いた。\\ | ここでは、スイッチを利用した条件分岐のプログラムを、「繰り返し実行」のブロックの中に書いた。\\ | ||
こうすることで、スイッチを利用する分岐プログラムを繰り返し実行することができる。 | こうすることで、スイッチを利用する分岐プログラムを繰り返し実行することができる。 | ||
ライン 118: | ライン 113: | ||
<code> | <code> | ||
システム! "protchrm" 使う。 | システム! "protchrm" 使う。 | ||
- | 最初に実行=「 | + | |
- | 左ライト!消灯。 | + | |
- | 」。 | + | |
繰り返し実行=「 | 繰り返し実行=「 | ||
「(左スイッチ!接触?)==はい」! なら「 | 「(左スイッチ!接触?)==はい」! なら「 | ||
ライン 144: | ライン 137: | ||
下記のプログラムは、光センサの計測値をPCの画面上に表示する。\\ | 下記のプログラムは、光センサの計測値をPCの画面上に表示する。\\ | ||
- | このプログラムでは、まず、プログラムを実行した最初(「最初に実行」の中)で、 | + | このプログラム(protch_sensor_check.dtl)では、まず、プログラムを実行した最初(「最初に実行」の中)で、 |
画面上に計測値を表示するためのラベル(「計測結果」)を作っている。 | 画面上に計測値を表示するためのラベル(「計測結果」)を作っている。 | ||
そして、「繰り返し実行」の中に、光センサの**明るさ?**で取得した計測値を「計測結果」のラベルに書くプログラムを記述することで、 | そして、「繰り返し実行」の中に、光センサの**明るさ?**で取得した計測値を「計測結果」のラベルに書くプログラムを記述することで、 | ||
ライン 162: | ライン 155: | ||
また、下記はセンサを制御に利用したプログラムの例である。 | また、下記はセンサを制御に利用したプログラムの例である。 | ||
- | このプログラムでは、周辺の光量が100より大きい時に左のライトが点灯する。 | + | このプログラム(protch_rm_light.dtl)では、周辺の光量が100より大きい時に左のライトが点灯する。 |
<code> | <code> | ||
システム! "protchrm" 使う。 | システム! "protchrm" 使う。 | ||
- | 最初に実行=「 | + | |
- | 左ライト!消灯。 | + | |
- | 」。 | + | |
繰り返し実行=「 | 繰り返し実行=「 | ||
「(左光センサ! 明るさ?)>100」! なら「 | 「(左光センサ! 明るさ?)>100」! なら「 | ||
ライン 202: | ライン 193: | ||
サーボモータの動作には時間がかかる。 | サーボモータの動作には時間がかかる。 | ||
このため、動作の完了までの待ち時間を作るために「プロッチ!1 待つ。」の命令で角度を180度に設定した後、1秒間の待ち時間を設けている。 | このため、動作の完了までの待ち時間を作るために「プロッチ!1 待つ。」の命令で角度を180度に設定した後、1秒間の待ち時間を設けている。 | ||
+ | 繰り返すの命令で繰り返し回数の指定が可能になる。今回は、3回に指定している。 | ||
<code> | <code> | ||
システム!"protchrm"使う。 | システム!"protchrm"使う。 | ||
最初に実行=「 | 最初に実行=「 | ||
- | 左サーボ!180 角度。 | + | 「 |
- | 右サーボ!180 角度。 | + | 左サーボ!90 角度。 |
- | プロッチ!1 待つ。 | + | プロッチ!1 待つ。 |
- | 左サーボ!0 角度。 | + | 左サーボ!180 角度。 |
- | 右サーボ!0 角度。 | + | プロッチ!1 待つ。 |
+ | 」!3 繰り返す。 | ||
」。 | 」。 | ||
- | + | プロッチ!転送。 | |
- | プロッチ!転送。 | + | |
</code> | </code> | ||
ライン 301: | ライン 293: | ||
<code> | <code> | ||
システム!"protchrm" 使う。 | システム!"protchrm" 使う。 | ||
- | 最初に実行=「 | + | |
- | プロッチ!停止。 | + | |
- | 」。 | + | |
繰り返し実行=「 | 繰り返し実行=「 | ||
「(左ラインセンサ!読む)<(右ラインセンサ!読む)」!なら「 | 「(左ラインセンサ!読む)<(右ラインセンサ!読む)」!なら「 | ||
ライン 319: | ライン 309: | ||
^ 命令 ^ 機能 ^ | ^ 命令 ^ 機能 ^ | ||
|読む |赤外線の反射量を0〜255の範囲で取得する| | |読む |赤外線の反射量を0〜255の範囲で取得する| | ||
- | |明るさ? |赤外線の反射量を0〜255の範囲で取得する| | ||
ライン 333: | ライン 322: | ||
<code> | <code> | ||
システム!"protchrm"使う。 | システム!"protchrm"使う。 | ||
- | 最初に実行=「 | + | |
- | プロッチ!停止。 | + | |
- | 」。 | + | |
繰り返し実行=「 | 繰り返し実行=「 | ||
- | 「(超音波センサ!距離?)<40」!なら「 | + | 「(超音波センサ!距離?)<100」!なら「 |
プロッチ!1 停止。 | プロッチ!1 停止。 | ||
」そうでなければ「 | 」そうでなければ「 | ||
ライン 350: | ライン 337: | ||
**超音波センサの命令一覧** | **超音波センサの命令一覧** | ||
^ 命令 ^ 機能 ^ | ^ 命令 ^ 機能 ^ | ||
- | |読む |超音波センサの計測値をmmで取得する | | ||
|距離? |超音波センサの計測値をmmで取得する | | |距離? |超音波センサの計測値をmmで取得する | | ||
+ | |||
+ | ### 3.8 音楽演奏 | ||
+ | プロッチに搭載しているブザーを利用して音楽の演奏が可能である。次のプログラムでは、ブザーを使ってドレミの音階を鳴らしている。 | ||
+ | |||
+ | **ブザーの命令一覧** | ||
+ | ^命令^機能^ | ||
+ | |演奏|引数の音階を演奏する| | ||
+ | |||
+ | <code> | ||
+ | システム! "protchrm" 使う。 | ||
+ | 最初に実行=「 | ||
+ | ブザー! "ドレミ" 演奏。 | ||
+ | 」。 | ||
+ | プロッチ! 転送。 | ||
+ | </code> | ||
+ | |||
+ | また、ブザーを用いてメロディの演奏が可能である。ここでは、譜面に相当するメロディオブジェクトに旋律を書き込み、それを演奏する。次のプログラムでは、「きらきらぼし」という名前のメロディオブジェクトを生成し、「"..."」の形で旋律を追加してから、ブザーに演奏させている。 | ||
+ | |||
+ | **メロディの命令一覧** | ||
+ | ^命令^機能^ | ||
+ | |作る|メロディの旋律を作る| | ||
+ | |||
+ | <code> | ||
+ | システム!"protchrm"使う。 | ||
+ | 最初に実行=「 | ||
+ | きらきらぼし=メロディ!"ドドソソララソ~ファファミミレレド~ソソファファミミレ~ソソファファミミレ~ドドソソララソ~ファファミミレレド~" 作る。 | ||
+ | ブザー!(きらきらぼし) 演奏。 | ||
+ | 」。 | ||
+ | プロッチ! 転送。 | ||
+ | |||
+ | </code> | ||