プログラミング言語「ドリトル」

大阪電気通信大学 兼宗研究室

ユーザ用ツール

サイト用ツール


ch_protchrm

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
ch_protchrm [2019/01/28 20:18]
klab
ch_protchrm [2019/03/06 23:22]
klab [チャットプログラム]
ライン 1: ライン 1:
 # プロッチを使ってみよう # プロッチを使ってみよう
- LEDや各種センサ、通信機能を持つロボット「**プロッチ**」を使ってプログラムで操作してみよう。プロッチのプログラミングは、ダウンロード版のドリトルのみ対応している+ LEDや各種センサ、通信機能を持つロボット「**プロッチ**」を使ってプログラムで操作してみよう。
  
 ## プロッチについて ## プロッチについて
ライン 56: ライン 56:
  通信モードでは、パソコンとプロッチをUSBケーブルで接続した状態でプロッチの制御を行う。ドリトルでは、プログラムを実行すると、USBシリアル通信を用いてプロッチに制御命令を送信している。送信された命令をプロッチで受信し、命令に合わせて動作を行う。  通信モードでは、パソコンとプロッチをUSBケーブルで接続した状態でプロッチの制御を行う。ドリトルでは、プログラムを実行すると、USBシリアル通信を用いてプロッチに制御命令を送信している。送信された命令をプロッチで受信し、命令に合わせて動作を行う。
  
-{{:​pasted:​protch_process.png?​400}}+{{ :​pasted:​protch_process.png?​400 }} 
 ## プログラムの入力から実行まで ## プログラムの入力から実行まで
  ここではプロッチのLEDを交互に点滅するプログラムを使って、ドリトルのプログラムの入力から実行までの手順を説明する。\\  ここではプロッチのLEDを交互に点滅するプログラムを使って、ドリトルのプログラムの入力から実行までの手順を説明する。\\
ライン 205: ライン 206:
 システム!"​protchrm"​使う。 システム!"​protchrm"​使う。
 最初に実行=「 最初に実行=「
- 左サーボモータ!180 角度。 + 左サーボ!180 角度。 
- 右サーボモータ!180 角度。+ 右サーボ!180 角度。
  プロッチ!1 待つ。  プロッチ!1 待つ。
- 左サーボモータ!0 角度。 + 左サーボ!0 角度。 
- 右サーボモータ!0 角度。+ 右サーボ!0 角度。
 」。 」。
 </​code>​ </​code>​
ライン 224: ライン 225:
 システム! "​protchrm"​ 使う。 システム! "​protchrm"​ 使う。
 最初に実行=「 最初に実行=「
-  モータ!1 前進。 +  プロッチ!1 前進。 
-  モータ!1 後進。 +  プロッチ!1 後進。 
-  モータ!1 左折。 +  プロッチ!1 左折。 
-  モータ!1 右折。 +  プロッチ!1 右折。 
-  モータ!1 左回り。 +  プロッチ!1 左回り。 
-  モータ!1 右回り。 +  プロッチ!1 右回り。 
-  モータ!停止。+  プロッチ!停止。
 」。 」。
 </​code>​ </​code>​
ライン 240: ライン 241:
 システム! "​protchrm"​ 使う。 システム! "​protchrm"​ 使う。
 最初に実行=「 最初に実行=「
-  モータ!停止。+  プロッチ!停止。
 」。 」。
  
 繰り返し実行=「 繰り返し実行=「
   「左スイッチ!押された?​」!なら「   「左スイッチ!押された?​」!なら「
-    モータ!255 255 速度設定。 +    プロッチ!255 255 速度。 
-    モータ!1 前進。+    プロッチ!1 前進。
   」そうでなければ「右スイッチ!押された?​」なら「   」そうでなければ「右スイッチ!押された?​」なら「
-    モータ!100 100 速度設定。 +    プロッチ!100 100 速度。 
-       モータ!1 前進。+    プロッチ!1 前進。
   」実行。   」実行。
 」。 」。
 </​code>​ </​code>​
  
-**モータの命令一覧**+**プロッチのモータの命令一覧**
 ^ 命令 ^ 機能 ^ ^ 命令 ^ 機能 ^
 |前進 | 左右のモータを正回転する| |前進 | 左右のモータを正回転する|
ライン 285: ライン 286:
 システム!"​protchrm"​ 使う。 システム!"​protchrm"​ 使う。
 最初に実行=「 最初に実行=「
-  モータ!停止。+  プロッチ!停止。
 」。 」。
 繰り返し実行=「 繰り返し実行=「
   「(左ラインセンサ!読む)<​(右ラインセンサ!読む)」!なら「   「(左ラインセンサ!読む)<​(右ラインセンサ!読む)」!なら「
-    モータ!左回り。 +    プロッチ!左回り。 
  」そうでなければ「  」そうでなければ「
-    モータ!右回り。+    プロッチ!右回り。
  」実行。  」実行。
 」。 」。
ライン 310: ライン 311:
 システム!"​protchrm"​使う。 システム!"​protchrm"​使う。
 最初に実行=「 最初に実行=「
-  モータ!停止。+  プロッチ!停止。
 」。 」。
 繰り返し実行=「 繰り返し実行=「
   「(距離センサ!距離?​)<​40」!なら「   「(距離センサ!距離?​)<​40」!なら「
-    モータ!1 停止。+    プロッチ!1 停止。
   」そうでなければ「   」そうでなければ「
-    モータ!前進。+    プロッチ!前進。
   」実行。   」実行。
 」。 」。
ライン 341: ライン 342:
 システム! "​protchrm"​ 使う。 システム! "​protchrm"​ 使う。
 最初に実行=「 最初に実行=「
- シリアル!"​こんにちは"​出力+ 通信端子!"​こんにちは"​送信
 」。 」。
  
ライン 351: ライン 352:
 システム! "​protchrm"​ 使う。 システム! "​protchrm"​ 使う。
 最初に実行=「 最初に実行=「
-  受信ラベル=ラベル!""​作る。+  受信ラベル=ラベル!作る。
 」。 」。
  
 繰り返し実行=「 繰り返し実行=「
-  受信ラベル!(シリアル!読む)書く。+  受信ラベル!(通信端子!受信)書く。
 」。 」。
 </​code>​ </​code>​
ライン 365: ライン 366:
  
 ### チャットプログラム ### チャットプログラム
- 次のプログラムでは、フィールドオブジェクトに書いた文字をボタン動作で出力している。また、読む命令を0.1秒間隔で実行することで受信した文字をテキストエリアに書いている。+ 次のプログラムでは、フィールドオブジェクトに書いた文字をプロッチ左スイッッチの押下により送信している。また、
  
 <​code>​ <​code>​
ライン 371: ライン 372:
 最初に実行=「 最初に実行=「
   送信フィールド=フィールド! 作る。   送信フィールド=フィールド! 作る。
-  送信ボタン=ボタン!"​送信"​作る。 
   受信エリア=テキストエリア! 作る。   受信エリア=テキストエリア! 作る。
-  送信ボタン:動作=「シリアル! (送信フィールド! 読む)出力」。 +」。 
-  前回受信値=""​. + 
-  「 +繰り返し実行=「 
-   受値=シリアル! 読む。 +  「(左スイッチ!接触?)==はい」!なら「 
-   前回受信値! =受信値」! なら「+    通信端子! (送信フィールド! 読む)送信 
 +  実行。 
 +  受信値=通端子! 受信。 
 +  「受信値!=””」! なら「
     受信エリア! (受信値)書く。     受信エリア! (受信値)書く。
-   」実行。 +  」実行。
-   前回受信値=受信。 +
-   プロッチ!0.1 待つ。 +
-  」! 1000 繰り返す+
 」。 」。
  
 +プロッチ!転送。
 </​code>​ </​code>​
  上記のプログラムを実行すると下図のような実行画面が現れる。①はフィールドに記述した文字を「送信」ボタンを押すことで送信する。②は送られてきた文字が書かれる。  上記のプログラムを実行すると下図のような実行画面が現れる。①はフィールドに記述した文字を「送信」ボタンを押すことで送信する。②は送られてきた文字が書かれる。
ch_protchrm.txt · 最終更新: 2019/03/15 16:15 by klab