プログラムによる計測と制御

目次
1.

はじめに ............................................................................................................................................3

1.1.

本書の目的 ........................................................................................................................................................................ 3

1.2.

授業計画............................................................................................................................................................................ 32.

計測・制御システム演習の準備 【事前準備】 ..................................................................................4

2.1.

ArtecRobo とは ................................................................................................................................................................. 4

2.2.

Studuino（スタディーノ）のセットアップ ...................................................................................................................... 4
パソコンをインターネットに接続して プログラムをダウンロードする .......................................................................... 4
USB デバイスドライバのインストール............................................................................................................................. 5
Studuino ソフトウェアのインストール ............................................................................................................................. 6

3.

プログラムの役割・機能 ....................................................................................................................7
プログラムの順番を書く （個人作業 5 分）.................................................................................................................... 7

3.1.

情報処理について 【読み合わせ 計 15 分】 .................................................................................................................... 7
仕事の流れ （教科書読み合わせ 10 分）.......................................................................................................................... 7
計測制御を行うために（教科書読み合わせ 5 分） ........................................................................................................... 7

3.2.

ArtecRobo テストシステム 【グループ作業 計 30 分】 .................................................................................................. 8
テストシステムの組立て （グループ作業 10 分） .......................................................................................................... 8
入出力設定 （グループ作業 5 分） .................................................................................................................................. 9
タッチセンサの動作確認 （グループ作業 5 分） .......................................................................................................... 10
処理の手順とフローチャート （グループ作業 5 分） ................................................................................................... 10
ブロックプログラミング（グループ作業 5 分） ............................................................................................................ 11

3.3.

ブロックプログラミング演習 【授業時間外】............................................................................................................... 12
ブロックプログラミングの編集テクニック..................................................................................................................... 12
反復-2 .............................................................................................................................................................................. 12
分岐，反復-1 ................................................................................................................................................................... 134.

計測・制御Ⅰ ― 走らせる・止める ― ............................................................................................14① 目的・条件の設定 （グループ作業 5 分） ................................................................................................................ 14② 必要な情報を挙げる（グループ作業 5 分） .............................................................................................................. 14
センサの働きを確認する（グループ作業 15 分） ..................................................................................................... 14
センサカーを動かしてみる（グループ作業 10 分） ................................................................................................. 15
センサカーの動きを計測する（グループ作業 10 分） .............................................................................................. 17③ 情報処理の順番を考える（グループ作業 5 分） ....................................................................................................... 19④ 確認と修正 ................................................................................................................................................................. 19⑤ プログラムの作成（グループ作業 15 分）................................................................................................................ 19⑥ 計測・制御の実行（グループ作業 15 分）................................................................................................................ 21⑦ 確認と修正（グループ作業 10 分） .......................................................................................................................... 221

プログラムによる計測と制御

5.

計測・制御Ⅱ ― 落ちずに走る ― ...................................................................................................22① 目的・条件の設定 （グループ作業 5 分） ................................................................................................................ 22② 必要な情報を挙げる （グループ作業 5 分） ............................................................................................................ 22③ 情報処理の順番を考える （グループ作業 15 分） ................................................................................................... 23④ 確認と修正 ................................................................................................................................................................. 24⑤ プログラムの作成（グループ作業 20 分）................................................................................................................ 24⑥ 計測・制御の実行（グループ作業 5 分）.................................................................................................................. 25⑦ 確認と修正（グループ作業 5 分） ............................................................................................................................ 25

6.

計測・制御Ⅲ ― 検知と分岐処理 ― ................................................................................................26① 目的・条件の設定（グループ作業 5 分）.................................................................................................................. 26② 必要な情報を挙げる（グループ作業 5 分） .............................................................................................................. 26③ 情報処理の順番を考える（グループ作業 10 分） ..................................................................................................... 27④ 確認と修正 ................................................................................................................................................................. 28⑤ プログラムの作成 （グループ作業 20 分）.............................................................................................................. 28⑥ 計測・制御の実行 （グループ作業 5 分） ................................................................................................................ 29⑦ 確認と修正 （グループ作業 5 分） .......................................................................................................................... 30

付録 A．身の回りの計測・制御 ..............................................................................................................31
エアコンの例 ............................................................................................................................................................... 31

付録 B．計測・制御システムと ArtecRobo の対応 .................................................................................32
付録 C．計測グリッド ............................................................................................................................33
付録 D．センサカーの組み立て ..............................................................................................................34
付録 E．フローチャートの処理とブロックプログラミングの対比表 ......................................................35
付録 F．確認と修正【発展】 ..................................................................................................................37
付録 G．トラブルシューティング...........................................................................................................392

プログラムによる計測と制御

1.

はじめに

1.1. 本書の目的
本書は平成 24 年度中学校技術家庭科 技術分野教科書の参考書です。平成 20 年に学習指導要領が改訂され，平成 24 年 4 月から新学習指導要領が全面実施されました。中学校技術家庭科 技術分野には，新たに「情報に関する技術」の中にプログラム
による計測・制御について，（ア）コンピュータを利用した計測・制御の基本的な仕組みを知ること，（イ）情報処理の手順を考え，簡単なプログラムが作成できることという２つの目標が付け加えられました。現代の高度に発達した情報化社会を生きていく子供たちにとって，情報に関する技術を正しく理解し，安全・便利に活用していく能力は必要不可欠です。情報に関する技術の進歩はまさに日進月歩であり，ハードウェアの性能はもちろん，その性能を活かすためのソフトウェアやアプリケー
ションも目まぐるしく発達しています。情報機器の単純な操作方法などの表面的知識は，すぐに役に立たなくなってしまうのが情報機器の大きな特徴です。情報に関する技術の本質を理解するためには，その基本的な仕組みを知り，どのように情報処理が行われているか，手を動かして体験することが大切です。新学習指導要領の改訂は，まさにこの点を考慮したものですが，中学教諭にとって本項を教えることは非常に大きな負担となります。教科書に記載されている概念を生徒に理解させ，演習として実際に実施するためには，情報機器のハードウェアやソフトウェアに関して高度な知識が要求されます。また，大変な手間をかけて授業を立ち上げても，年々変化する情報機器環境に対応して適切にアップデートし続けなくてはなりません。本書
では，㈱アーテックが開発した ArtecRobo シリーズを用いて，情報機器の利用でつまずきやすい箇所を丁寧に解説しています
のでスムーズな授業準備が可能です。
多くの生徒が情報に関する技術に実際に触れ，その仕組みに興味を持ってもらえれば幸いです。

1.2. 授業計画
配当
時間

ページ数

1

P.7-13

計測・制御Ⅰ ①－②

1

P.14-18

計測・制御Ⅰ ③－⑦

1

P.19-22

計測・制御Ⅱ

1

P.22-25

計測・制御Ⅲ1

P.26-30

指導項目
プログラムの役割・機能

実施内容
情報処理の手順，フローチャート，
ArtecRobo の基本的な使い方

計測・制御Ⅰ・Ⅱ・Ⅲ

プログラムの役割・機能 では情報処理の手順と，その表記法であるフローチャートの理解が教科書の主な内容ですが，簡単な構成の ArtecRobo テストシステムを作成し，フローチャートに対応したプログラム命令語で置き換えることで，プログラムの作成手法と ArtecRobo の基礎的な使い方を習得します。
計測制御Ⅰ・Ⅱ・Ⅲ では，センサカーで本格的に ArtecRobo を使いながら，コンピュータによる計測・制御の方法を学びます。このためセンサカー（計測・制御Ⅰ）は２時限かけて，生徒にじっくり理解させます。その後，さらに理解を深めるための実習例として，センサカーをテーブルから落とさずに走らせ，さらに障害物を避ける制御を計画しています。各セクションには実施の目安時間を設定しています。実施内容を取捨選択して調整して下さい。

3

プログラムによる計測と制御

2.

計測・制御システム演習の準備 【事前準備】

2.1. ArtecRobo とはArtecRobo とは株式会社アーテックが開発した形も動きも自由自在に作れるロボットキットです。縦・横・斜めに自由に挿し込めるアーテックブロックで形を自由に作れます。また，センサやアクチュエータもブロックに自由に接続でき，ロボット学
習用に設計されたコンピュータ基板である Studuino（スタディーノ）を使って制御します。

 株式会社アーテック ホームページ

http://www.artec-kk.co.jp/

2.2. Studuino（スタディーノ）のセットアップ
パソコンをインターネットに接続して プログラムをダウンロードする
本書では Windows パソコンを使います。Studuino（スタディーノ）のセットアップ・プログラムはインターネット経由でダウ
ンロードしますので，パソコンをインターネット接続して下さい。
Studuino ダウンロードページ（http://www.artec-kk.co.jp/studuino/ja/studuino.php）にアクセスします。セットアップが終われば，パソコンは必ずしもインターネットに接続されている必要はありません。

4プログラムによる計測と制御

USB デバイスドライバのインストール
USB デバイスドライバ欄から「Windows 版ダウンロード」 ボタンをクリックし，ファイルをダウンロードします。

ダウンロードしたファイル（usb_driver.zip）を解凍します。以下のファイルがあることを確認して下さい。
※ご使用の PC の設定によっては、拡張子（.zip, .vbs）が表示されない可能性があります。

setup.vbs をダブルクリックし，手順に従ってインストールを実行します。

ここまでの作業で USB ドライバはパソコンにインストールされました。Studuino 基板を正しく認識できるか確認します。
USB ケーブルで Studuino 基板とパソコンを接続します。モニタ右下に「デバイス ドライバー ソフトウェアが正しくインスト
ールされました。
」というメッセージが出れば正常に認識されています。

5

プログラムによる計測と制御

これまでの作業で Studuino 基板が正しく認識されないときには，http://artec-kk.co.jp/studuino/ja/studuino.php の『デバイスドライバのインストール方法』 を参照し，各パソコンの環境ごとの作業をして下さい。

このメッセージが出れば，正しく認識されています。

Studuino ソフトウェアのインストール
Studuino ソフトウェア Windows ボタンをクリックし，ファイルをダウンロードします。

ダウンロードしたファイル（setup_jp.exe）をダブルクリックし，手順に従ってインストールを実行します。

本ソフトウェアを使用するためには「Microsoft.NET Framework 4.5」が必要です。
パソコンに.NET Framework 4.5 がインストールされていない場合は自動的にインストールされ，終了後に本ソフトウェ
アのインストールが始まります。

① インストールで開始します。

② Studuino ソフトウェアをダウンロードしながらインストールします。

③ インストールが終了すると Studuino プロ
グラム環境が起動します。

次回以降はスタートメニュー（Windows XP/ Vista/ 7/ 10）やスタート(メトロ)画面（Windows 8/ 10）から起動できます。

6

プログラムによる計測と制御

3. プログラムの役割・機能プログラムの順番を書く （個人作業 5 分）
学習テキストを使い，自動販売機が行っていることを順番に書き出します。余裕がある生徒には，手順がある動作が他にもないかを考えさせるとよいでしょう。
◆

身近な機械が行っている情報の処理手順を明確にする◆

コンピュータに仕事させるためには手順を覚えさせる（＝プログラム）必要がある。

3.1. 情報処理について 【読み合わせ 計 15 分】
仕事の流れ （教科書読み合わせ 10 分）
仕事の手順を図式化するフローチャートを生徒に理解させます。フローチャートの基本的な記号は以下の通りです。
端子

処理の開始・終了

処理

一般的な処理判断

条件で流れが二つ以上に分岐する処理

仕事の流れには，三つの基本的な流れ(順次，分岐，反復)があります。これらを上手に組み合わせることで，複雑な仕事でも実現することができます。

処理 1

回数の決定

いいえ

条件

条件

はい
処理 2

はい

処理

処理 1

処理 2

いいえ

いいえ

処理

回数を
超えたか

はい

①順次

②分岐

③反復-1
指定回数を繰り返す④反復-2
条件を満たしている間繰り返す

学習テキストに書いた，自動販売機が行っている順番をほかの人が作った順番と比較してみましょう。
（個人作業 5 分）

計測制御を行うために（教科書読み合わせ 5 分）

① 目的・条件の設定

計測・制御をする目的やそのための条件を検討し設定する。

② 必要な情報を挙げる

目的や条件を満たすために必要な情報を挙げる。

③ 情報処理の順番を考える

情報を計測するセンサや，制御するアクチュエータを決める。

フローチャートで情報処理の順番を描き，目的に沿った計測・制御の流れを考える。フローチャートが目的に沿った流れになっているかを確認し，修正する。よ④ 確認と修正7

りよいアイディアがあれば，修正する。

プログラムによる計測と制御⑤ プログラムの作成⑥ 計測・制御の実行⑦ 確認と修正

情報処理の手順に沿って，プログラムを作成する。
プログラムをコンピュータに転送し，計測・制御を行う。
目的の計測・制御が達成できない場合はその理由を修正する。
よりよいアイディアがあれば，修正する。

3.2. ArtecRobo テストシステム 【グループ作業 計 30 分】

ArtecRobo テストシステムで LED をアクチュエータに見立て，光らせる演習をします。このテストシステムはとても簡単な構成ですので，ここでArtecRobo の基本的な使い方を覚えます。
センサ・コンピュータ・アクチュエータに，どの部品が対応するのかを確認させます。

①計測する：
センサ

押されたことを調べる：
タッチセンサテストシステムの構成②情報を判断・命令する：
コンピュータ③仕事をする：（アクチュエータと見立てる）

Studuino （スタディーノ）

光る：LED

テストシステムの組み立て （グループ作業 10 分）
各種センサ，LED，ブザーは専用のケーブルで図の A0～A7 の８個のコネクタに接続します。

タッチセンサを A2，LED を A4 にそれぞれ接続します。灰色コードの向きに気を付けて下さい。
8

プログラムによる計測と制御

パソコン
USBポートmini-USB

Studuino
A2

A4

LED

タッチセンサLED とタッチセンサを Studuino のケースに固定し，USB ケーブルでパソコンと接続します。USB ケーブルから電力が供給されて Studuino の基板上の赤い LED が点灯します。以上で組み立て完了です。

入出力設定 （グループ作業 5 分）
Studuino プログラム環境を起動し，ブロックプログラミング環境を選択します。

コンピュータに接続したセンサやアクチュエータの情報を設定します。
「編集」から「入出力設定」を開きます。
「チェックを全て外す」をクリックします。使用するセンサ/アクチュエータをさしたコネクタにチェックを入れ，プルダウンメニューから
センサ/アクチュエータを選択します。ここでは，[ボタン A2] のチェックを外し，かわりに[センサ/LED/ブザー A2] をチェッ
クし，プルダウンメニューからタッチセンサを選択します。同様に[センサ/LED/ブザー A4] をチェックして LED を選択し，最後に OK ボタンを押します。これで入出力設定は完了です。

9

プログラムによる計測と制御

タッチセンサの動作確認 （グループ作業 5 分）
テストモードを利用して，タッチセンサの動作を確認します。図のように「実行」から「テストモード開始」を開きます。テ
ストモードは起動までに少し時間がかかります。テストモードが起動すると，『センサ・ボード』が現れて現在の各センサの値がわかります。A2 に接続したタッチセンサは，押されない間は１ですが，押されると０に変化することを確認して下さい。

「実行」から「テストモード終了」でテストモードを終了します。ここまでテストシステムのハードウェア準備は完了です。

処理の手順とフローチャート （グループ作業 5 分）

ここでは ArtecRobo テストシステムを加工機械に見立てて，使用表示灯の制御を考えます。
使用表示灯は，周囲に加工機械が稼働中であることを知らせる大切な安全システムです。加工
機械の電源が ON になると点灯し，加工機械が稼働している間は点灯し続けます。加工が終了
して「加工終了ボタン」が押されると消灯します。

使用表示灯の仕事手順をフローチャートにします。順番に仕事をしていく流れなので，基本型（P.7 参照）のうちの①順次処理型です。加工機械を Studuino テストシステムで見立てると「使用表示灯」は LED，「加工終了ボタン」はタッチセンサです。
それぞれの処理に相当するプログラム言語（ブロックプログラミング言語）の命令語は以下のようになります。
加工機の電源 ON

Studuino リセット

使用灯の点灯LED 点灯加工終了ボタンが押されるまで待つ

タッチセンサが押されるまで待つ

使用灯の消灯LED 消灯加工機の電源 OFF

終了

Studuino リセット

ＬＥＤ（A4 接続）点灯
タッチセンサ（A2 接続）が押されるまで待つ
ＬＥＤ（A4 接続）消灯

次節のブロックプログラミングでは，これらのプログラム言語の命令語を実際に記述する方法を説明します。

10

プログラムによる計測と制御

ブロックプログラミング（グループ作業 5 分）①

「動き」パレットから，②「制御」パレットから，をドラッグ＆ドロップして，の下に接続します。

をドラッグ＆ドロップして，の下に接続します。

②①③「演算」パレットから，④「調べる」パレットから，をドラッグ＆ドロップして，の中に入れます。

をドラッグ＆ドロップして，の左辺に入れます。右辺にはタッチセンサが押された状態である 0 を代入します（タッチセンサの動作確認の節を確認）。
③④⑤ 「動き」パレットから，をドラッグ＆ドロップして，続します。接続したブロックのプルダウンメニューで点灯から消灯に変更し，

の下に接
の状態に

します。
⑥

「実行」から「プログラム作成・転送」を選択してプログラムを Studuino へ転送，実行します。まず LED が点灯し，⑦

タッチセンサを押すと消灯することを確認して下さい。

⑤

⑥

11

プログラムによる計測と制御

3.3. ブロックプログラミング演習 【授業時間外】
ブロックプログラミングに慣れるためには，授業時間外で演習などを行うと効果的です。ハードウェアはテストシステムそのままで使って，プログラムだけ変更します。

ブロックプログラミングの編集テクニック
 ブロックの複製方法① 右クリック② 選択
ブロックが複製されます ブロックの削除方法「編集」から「削除の取り消し」が可能。

反復-2
タッチセンサが押されるまで LED の点滅をくりかえし，タッチセンサが押されたら終了するプログラムを考えます。プログラ
ムの最初と最後には，わかりやすいように３秒間長く点灯させます。本プログラムは演習用のため，前節の「使用表示灯」のような意味合いはありません。フローチャートと対応する命令語からプログラムを作成して実行して下さい。
Studuino リセット
Studuino リセット
３秒間 LED 点灯

３秒間 LED 点灯

タッチセンサ押された

タッチセンサが押されるまで押されていない
１回 LED 点滅

くり返す(反復-2)

３秒後 LED 消灯

１回 LED 点滅

終了
３秒後 LED 消灯

12

プログラムによる計測と制御

分岐，反復-1
タッチセンサが押されているかどうかで LED の点滅速度を変えるプログラムを考えます。プログラムの最初には３秒間の点灯させ，この間にタッチセンサが押されたか否かを判断します。タッチセンサが押されていれば 0.2 秒間隔の速い点滅を 25 回行
い，押されていなければ１秒間隔の遅い点滅を５回行います。最後に３秒間点灯させ，消灯して終了します。フローチャートと対応する命令語からプログラムを作成して実行して下さい。
Studuino リセット

Studuino リセット
３秒間 LED 点灯
タッチセンサ

３秒間 LED 点灯
押されている

タッチセンサの押されていない

回数(5 回)の決定

回数(25 回)の決定

状態を調べて分岐

１秒間隔 LED 点滅

0.2 秒間隔 LED 点滅

１秒間隔で

回数を
超えたか

回数を
超えたか

いいえ

はい

はい

LED 点滅 5 回
いいえ

0.2 秒間隔でLED 点滅 25 回

３秒後 LED 消灯(反復-1)

終了

３秒後 LED 消灯

 「反復-2」，「分岐，反復-1」の解答例

反復-2

分岐，反復-1

さらにブロックプログラミングを詳しく勉強したいときには，http:// www.artec-kk.co.jp/studuino/ja/studuino.php の『ブロックプログラミング環境（前編）・（後編）』 を参照して下さい。

13

プログラムによる計測と制御

4. 計測・制御Ⅰ①― 走らせる・止める ―目的・条件の設定（グループ作業 5 分）

センサカーを障害物に当てないように計測・制御を行います。
ここでは，図のようにセンサカーを前進させ，障害物を発見したら停止させるプログラムを考えます。この動作をするためには，障害物を調べるセンサと，自由に動くためのモータが必要です。

モータ

赤外線ﾌｫﾄﾘﾌﾚｸﾀ
コンピュータArtecRobo センサカー② 必要な情報を挙げる

イラスト

前進させる

障害物を検知

停止させる

前進し障害物を検知したら停止させる（グループ作業 5 分）



障害物を検知するためには，その先に障害物がないかを判断するためのセンサが必要です。



赤外線を照射して，反射光の強さを計測する赤外線フォトリフレクタであれば，障害物があるかないかの判断ができます。

センサの働きを確認する （グループ作業 15 分）
センサは様々な種類があり，目的によって最適なセンサを選択します。赤外線フォトリフレクタは色の濃さや何かが近づいたことを調べるセンサです。Studuino のテストモードで赤外線フォトリフレクタの働きを調べます。赤外線フォトリフレクタを
Studuino の A0 コネクタに接続します。次に Studuino 基板のポート情報を設定します。
「編集」から「入出力設定」を選択し，入出力設定を表示させます。[センサ/LED/ブザー]の A0 にチェックをいれ，プルダウンメニューから赤外線フォトリフレクタ
を選択します。(P.9 参照)。

Studuinoパソコン

mini-USB

赤外線フォトリフレクタ

A0

USB ポートに接続
適当な所に
固定する

センサの値を調べるだけですのでプログラムは不要です。
「実行」から「テストモード開始」を選択してテストモードを起動します。センサ・ボード内の A0 のところに，赤外線フォトリフレクタの現在値が表示されます。赤外線フォトリフレクタと壁
14

プログラムによる計測と制御までの距離を少しずつ変えながら，センサの値を記録しましょう。赤外線フォトリフレクタのセンサ面を計測グリッド（付録 C
P.33）と一致させます。また，センサ面は壁と平行になるように注意します。

壁との距離が離れていくと，赤外線フォトリフレクタの検出値は小さくなります。また，図に示したように壁に近過ぎてしまうと赤外線フォトリフレクタは正しい値を検出できません。赤外線の反射光は壁の材質などによっても変わりますので，距離と検出値の関係は，あらかじめ調べておく必要があります。
検出できず

検出
赤外線
検出器

反射光

赤外線
LED

適正な場合

赤外線
検出器

反射光

赤外線
LED

近過ぎる場合ここでセンサカーを組み立てます（グループ作業 10 分）。
「センサカーの組み立て」は付録 D（P.34）を確認して下さい。
なお、生徒用の学習テキストには含まれていませんので，印刷してご使用ください。

センサカーを動かしてみる（グループ作業 10 分）組み立てたセンサカーを実際に動かしてみます。左右の DC モータの動かし方と，センサカーの動き（前進・後退・方向転換）がどのように対応するのかを確認しましょう。
「編集」から「入出力設定」を開き，図のように設定します。
赤外線フォトリフレクタ
USB ポートに接続
パソコン

A0

M1

mini-USB
M2

電池ボックスStuduino

右側 DC
モータ

左側 DC
モータ

まず，左右の DC モータを正転させて前進するプログラムを作成します。
「動き」パレットから，「DC モータ M1 の速さを 100にする」 ブロックをドラッグして，「制御スタート」ブロックに接続します。同様に必要なブロックを接続していきます。
15

プログラムによる計測と制御「1 秒待つ」ブロックは「制御」パレットにあります。

左右 DC モータを動かしますので，各２つめのブロックの DC モータを M2 に変更します。以上で左右の DC モータを正転させて前進するプログラムは完成です。プログラムは上から順に実行されていきます。

プログラムをテストモードで実行して，センサカーの動作を確認します。Studuino とコンピュータが USB ケーブルで接続されていることを確認して下さい。DC モータを動かす場合には，電池ボックスのスイッチを ON にする必要があります。
「実行」
から「テストモード開始」を選択してテストモードを起動して下さい。

※テストモードでは USB ケーブルでコンピュータとStuduino が接続されたままですので，センサカーを動作させるときには十分注意して下さい。

テストモードが起動すると，センサ・ボードが表示されます。その右上の「緑の旗」をクリックするとプログラムが実行されます。センサカーが１秒間だけ前進して停止します。

16

プログラムによる計測と制御

テストモードでは，各ブロックの数値や回転方向を変更することができます。数値や回転方向を変更した後，再び「緑の旗」
をクリックすることで変更されたプログラムが実行されます。DC モータの動かし方とセンサカーの前進・後進や方向転換などの対応を確認して下さい。動作の確認ができたら，「実行」から「テストモード終了」でテストモードを終了します。

センサカーの動作

左側モータ（M2）

右側モータ
（M1）

速さ 100 で正転センサカーの動作

速さ 100 で正転

左側モータ（M2）

右側モータ
（M1）

速さ 50 で正転速さ 100 で正転

速さ 100 で正転

速さ 50 で正転速さ 100 で正転

停止

左旋回

前進

速さ 100 で逆転

速さ 100 で逆転

右旋回

後進

速さ 100 で正転

速さ 100 で逆転

旋回

旋回

スピンターン

ピボットターン・DC モータの回転速度は 100 が最大です。
・DC モータの回転速度を低く設定しすぎると，力が足りずに回転できなくなります。

センサカーの動きを計測する（グループ作業 10 分）

上で作成したプログラムを利用して，センサカーが 1 秒間に進む距離を調べましょう。
「制御」パレットにある「1 秒待つ」ブ
ロックをプログラムの先頭に追加し，DC モータが動く前に 2 秒待つようにします。プログラム作成・転送を選択し，作成したプログラムをセンサカーに転送することで，USB ケーブルを外してセンサカーを動かすことができるので，より正確な距離の計測ができます。基板のリセット後にセンサカーが動きます。DC モータの速さの設定を変えて，プログラム作成・転送を実行して，センサカーの移動距離を調べます。

17

プログラムによる計測と制御①DC モータの速さを変える②プログラムを転送する③センサカーの移動距離を計測する

追加※

計測には付録 C（P.33）を使うことができます。

キャスタの位置で確認しましょう14

DC モータの速さの設定と 1 秒間に進むセンサ

12

カーの距離を計測した結果を右に記します。DC10

動距離が変化します。DC モータの個体差や電池の電圧によっても変わりますので，DC モータの速さと移動距離の関係は，あらかじめ調べておく必要があります。

距離(cm)

モータの速さの設定により図に示したように移

8
6
4
2
0
0

10

20

30

40

50

60

70

80

90

100

DCモータの速さ

18プログラムによる計測と制御③ 情報処理の順番を考える（グループ作業 5 分）

センサカーを障害物に当てないための計測・制御の情報処理の順番を考えます。動作との対応を確認させながら，各グループ
でフローチャートを描かせます。
始め

左右のモータを回転させて，
前進させる

前進させる

いいえ

赤外線フォトリフレクタが反射光を検知したか

赤外線ﾌｫﾄﾘﾌﾚｸﾀで光の反射の強さを検知させる。

はい
左右のモータを
止めて
停止させる

停止させる

終了

④ 確認と修正
今回はプログラム作成に重きを置くため，この工程は省略します。

④

プログラムの作成（グループ作業 15 分）

ここではアーテック ブロックプログラミング環境を使用します。アーテック ブロックプログラミング環境は，MIT(マサチューセッツ工科大学)メディアラボによって開発された Scratch(スクラッチ)とよばれるプログラム言語をカスタマイズしたものです。文字ではなくグラフィックによる記述と，マウスによる操作で直観的にプログラムを作成できます。フローチャートに対応した命令語が用意されていますので，フローチャートができていれば比較的簡単にプログラムに変換できます。センサカ
ーをテーブルから落とさずに走らせるために必要なセンサカーの動作とフローチャート，それに対応するブロックプログラミ
ング環境の命令語を調べましょう。
③で作成したフローチャートをより詳細な処理で表すと次の左図のようになり、さらにブロックプログラミング用に表すと右図のようになります。

19

プログラムによる計測と制御

Studuino リセット

始め

前進
前進させる
0.5 秒待ついいえ

赤外線フォトリフレクタが反射光を検知したか

いいえ

赤外線フォトリフレクタの反射の強さが□以上か

はい

はい

停止させる

停止

終了

終了

付録 E（P.35）のフローチャートの処理とブロックプログラミング環境の命令語の対比表を確認しましょう。

Studuino リセット

プログラムの始めとモータの速さの初期設定

前進
0.5 秒待ついいえ

赤外線フォトリフレクタの反射の強さが□以上か
はい
停止

終了

20

プログラムによる計測と制御⑥ 計測・制御の実行（グループ作業 15 分）

センサカーとパソコンを USB ケーブルで接続します。プログラムを実行するには２つの方法（モード）があります。
テストモードパソコン上でプログラムを実行して，USB ケーブルで接続された Studuino を直接制御
メリット

デメリット

 モータの速さなどの設定値をすぐに変更して実行できる

 パソコンと Studuino は USB ケーブルで接続されていな

 センサの現在値を調べることができる

転送モード

ければならない（動くときには特に注意）

プログラムを Studuino に転送してから，Studuino 上でプログラムを実行・制御
メリット

 パソコンと Studuino が接続されていなくてもよい 電源を切ってもプログラムは残ったまま
 プログラムを高速に実行できるデメリット
 最初の 1 回だけ，パソコンと Studuino を USB ケーブルで接続してプログラムを転送する必要がある
 センサの現在値を調べられない

今回はテーブルの上をセンサカーが動き回りますので，Studuino 基板がパソコンと USB ケーブルで接続されていては動けません。転送モードでプログラムを実行してみましょう。最初にパソコンと Studuino 基板が USB ケーブルで接続されているか確認して下さい。メニューバーの「実行」から「プログラム作成・転送」を選択します。

パソコンと Studuino が USB ケーブルで接続されていることを確認して下さい。
プログラムの転送中は Studuino 基板上のオレンジの LED が点灯します。オレンジの LED が消えたら，Studuino 基板から USB
ケーブルを抜きます。電池ボックスのスイッチを ON にし※，Studuino 基板上のリセットボタンを押して，プログラムを最初から実行させます。

オレンジ色の LED※プログラムは転送した後すぐに実行されるため，電池ボックスのスイッチを ON にした瞬間にモータが動き出すことがあります。十分に注意して下さい。
21

プログラムによる計測と制御⑦ 確認と修正（グループ作業 10 分）●目的の計測・制御が達成できない場合はその理由を考える。
センサカーを動作させたとき，いろいろな原因でセンサカーが思うように動かないことがあります。
■ 前進のときにまっすぐ進まない
左右車輪の２つの DC モータは，いろいろな原因があり，同じ大きさの電流を流しても同じ速さで回転するとは限りません。
左右車輪の DC モータの回転の速さに差があると，モータカーはまっすぐには進みません。左右の DC モータの回転の速さを調整して下さい。
■同じセンサカーなのに，教室の場所によって，うまく動いたり動かなかったりする
赤外線フォトリフレクタは，照明や太陽光など，周囲のいろいろなものから影響を受けます。場所によって動作が変わってしまう場合，周囲をよく観察しましょう。照明を ON・OFF したり，太陽光をカーテンで遮ったりして，テストモードでセンサが読み取っている値を確認すると，原因を探すことができます。

実際にセンサカーを動かしていると，これらの他にも意図しない動作が現れます。グループで原因をよく考察し，プログラ
ムをどのように修正すれば改善できるか話し合いましょう。

5. 計測・制御Ⅱ ― 落ちずに走る ―①

目的・条件の設定（グループ作業 5 分）

ここでは，センサを使用してテーブルから落ちずに走る車を作ります。
図のようにセンサカーを前進させ，センサカーがテーブルの端に来たら，停止させます。その後，後進して方向転換をし，また前進させる動作を考えます。4 章で作成したセンサカーを改造して使います。
モータ

赤外線ﾌｫﾄﾘﾌﾚｸﾀ

前進して，テーブルの端を検知し停止

方向転換

後進コンピュータArtecRobo センサカー

イラスト

前進しテーブルの端を検知したら停止させ
その後，後進して方向転換する例②

必要な情報を挙げる （グループ作業 5 分）



テーブルの端からセンサカーを落とさないためには，その先にテーブルがないかを判断するためのセンサが必要です。



テーブルに赤外線を照射し反射光の強さを計測する赤外線フォトリフレクタであれば，テーブルがあるかないかの判断ができます。

センサカーを動かしたり，方向転換をさせたりするためにモータを左右に 1 台ずつ取り付けます。
22

プログラムによる計測と制御

4 章で作成したセンサカーから赤外線フォトリフレクタを取り外し，写真①のようブロックと接続し，写真②のように赤外線
フォトリフレクタが下を向くようにセンサカーに取りつけます。赤外線フォトリフレクタを A0 に接続し，センサカーの完成です(写真③)。

①②③

A0：赤外線フォトリフレクタ③ 情報処理の順番を考える（グループ作業 15 分）

センサカーをテーブルから落とさない計測・制御の情報処理の順番を考えます。手順を考えたら，動作との対応を確認させながら，各グループでフローチャートを描かせます。
始め
左右のモータを回転させて前進させる

センサカーを
赤外線フォトリフレクタと
車輪軸の距離分
前進させる

前はテーブルか

赤外線ﾌｫﾄﾘﾌﾚｸﾀで光の反射の強さを
検知させる

いいえ

はい
センサカーを
赤外線フォトリフレクタと
車輪軸の距離分
前進させる

センサカーを停止させる
光の反射が弱ければ停止させ後進させる
センサカーを 1 台分後進させる

センサカーを左回りさせる

23

その場で左に向かせて進ませるので，右のモータを正転，
左のモータを逆に回転させる

プログラムによる計測と制御④ 確認と修正
センサカーがテーブルから落ちないように制御するには，前にテーブルがあるかどうかを判断する前に，センサカーの移動
距離をセンサと車輪の軸間以内にする必要があります。P.17 で計測した移動距離を参考にモータの速さと回転時間を割り出しましょう。

⑤ プログラムの作成（グループ作業 20 分）

4 章と同様にアーテック ブロックプログラミング環境を使用します。センサカーをテーブルから落とさずに走らせるために必要なセンサカーの動作とフローチャート，それに対応するブロックプログラミング環境の命令語を調べましょう。
③で作成したフローチャートをより詳細な処理で表すと下記のようになります。センサカーの前進時間は，④で割り出した値を参考にしましょう。
始め

Studuino リセット

センサカーを
赤外線フォトリフレクタと
車輪軸の距離分
前進させる

前進

前はテーブルか

0.5 秒待つ

赤外線フォトリフレクタの反射の強さが□以上かいいえ

はい
センサカーを
赤外線フォトリフレクタと
車輪軸の距離分
前進させる

いいえ

はい
センサカーを
停止させる

前進

停止

0.5 秒待つ

2 秒待つ

センサカーを 1 台分
後進させる

後進
2 秒待つ

センサカーを左回りさせる左回り
2 秒待つ

フローチャートの処理とブロックプログラミング環境の命令語の対比表は付録 E（P.35）を確認して下さい。

24

プログラムによる計測と制御

Studuino リセット

プログラムの始めとモータの速さの前進

初期設定

0.5 秒待ついいえ
赤外線フォトリフレクタの反射の強さが□以上かはい
前進
0.5 秒待つ

停止

2 秒待つ

後進

2 秒待つ
左回り

2 秒待つ

⑥ 計測・制御の実行（グループ作業 5 分）

プログラムを実行するモードの説明や実行手順は 4 章の⑥を参照してください。
※プログラムは転送した後すぐに実行されるため，電池ボックスのスイッチを ON にした瞬間にモータが動き出すことがあります。十分に注意して下さい。

⑦ 確認と修正●（グループ作業 5 分）

目的の計測・制御が達成できない場合はその理由を考える。
センサカーを動作させたとき，いろいろな原因でセンサカーが思うように動かないことがあります。

■ うまく左旋回しない
左旋回のときには，動作時間で回転角度を調整しています。動作時間が長すぎたり短すぎたりする場合があります。テーブ
ルの上から落ちないように左旋回するために必要な時間を調整する必要があります。

25

プログラムによる計測と制御■ テーブルから落ちてしまう１
今回のプログラムではセンサは 0.5 秒毎にテーブルがあるかどうかを調べます。前進の速さが速すぎる場合，この 0.5 秒の間にテーブルの端に達してしまうことがあります。前進の速さを遅くするか，センサカーを進める時間間隔を短くして下さい。
■ テーブルから落ちてしまう２センサがテーブルの端を検出したあとの２秒間の後進は，その後の左旋回中にテーブルから落ちないための動作です。もし後進中や左旋回中にテーブルから落ちるようであれば，後進時間を調整して下さい。
■ 前進や後進のときにまっすぐ進まない
左右車輪の２つの DC モータは，いろいろな原因があり，同じ大きさの電流を流しても同じ速さで回転するとは限りません。
左右車輪の DC モータの回転の速さに差があると，モータカーはまっすぐには進みません。左右の DC モータの回転の速さを調整して下さい。
■ センサカーが前進しない
テーブルの色や材質によっても赤外線の反射光の強さは変わりますので，最適なセンサの検出値を探しましょう。
■ 同じセンサカーなのに，教室の場所によって，うまく動いたり動かなかったりする
赤外線フォトリフレクタは，照明や太陽光など，周囲のいろいろなものから影響を受けます。場所によって動作が変わってしまう場合，周囲をよく観察しましょう。照明を ON・OFF したり，太陽光をカーテンで遮ったりして，テストモードでセンサが読み取っている値を確認すると，原因を探すことができます。
実際にセンサカーを動かしていると，これらの他にも意図しない動作が現れます。グループで原因をよく考察し，プログラム
をどのように修正すれば改善できるか話し合いましょう。

6. 計測・制御Ⅲ① 目的・条件の設定― 検知と分岐処理 ―（グループ作業 5 分）

テーブルの上に障害物を準備して，障害物にあたると避けて進むプログラムを考えます。
5 章で作成したセンサカーにテーブルの上にある障害物に当たると，その障害物を避ける機能を追加します。

② 必要な情報を挙げる（グループ作業 5 分）
テーブルの上の障害物に当たったことを検知するためのセンサが必要になります。タッチセンサは物体に押されたことを検知するセンサです。センサカーにタッチセンサを新たに追加します。

1. センサカーにタッチセンサをそれぞれ写真のように取りつけます。

26

プログラムによる計測と制御

2. センサカーに向かって左側のタッチセンサを A5 に右側のタッチセンサを A4 に接続し，センサカーの完成です。

A5

③

A4

情報処理の順番を考える（グループ作業 10 分）

5 章のフローチャートに，前がテーブルの場合に障害物に当たったら避けるフローチャートを追加します。
始め

センサカーを
赤外線フォトリフレクタと
車輪軸の距離分
前進させる

前はテーブルか
はい

前に障害物はないか

いいえ

センサカーを停止させる

障害物に当たったら避けて進む処理
タッチセンサで障害物に触れたかを
検知させる

いいえ

はい
センサカーを
赤外線フォトリフレクタと
車輪軸の距離分
前進させる

センサカーを停止させる

障害物に触れたら停止させ後進させる

センサカーを 1 台分後進させる

センサカーを左に向かせる

センサカーを 1 台分後進させる

センサカーを左に向かせる

27

その場で左に向かせて進ませるので，右のモータを正転，
左のモータを逆に回転させる

プログラムによる計測と制御

④

確認と修正

時間がある場合は，付録 F（P.37）を参照してください。

⑤

プログラムの作成（グループ作業 20 分）

センサカーをテーブルから落とさずに走らせるために必要なセンサカーの動作とフローチャート，それに対応するブロック
プログラミング環境の命令語を調べましょう。③のフローチャートを具体的な処理に変換すると，下記のようになります。
Studuino リセット

前進
0.5 秒待つ

赤外線フォトリフレクタの反射の強さが□以上か
停止

はい
どちらの
タッチセンサも押されていない

2 秒待つ
いいえ
後進
停止

はい

2 秒待つ

2 秒待つ
左回り
前進
0.5 秒待つ

後進

2 秒待つ

2 秒待つ
左回り
2 秒待つ

プログラム環境の A4 と A5 をタッチセンサに設定します。
「編集」から「入出力設定」を開き，図のように設定します。

28

プログラムによる計測と制御

フローチャートの処理とブロックプログラミング環境の命令語の対比表は付録 E（P.35）を確認して下さい。
Studuino リセット

プログラムの始めとモータの速さの前進

初期設定

0.5 秒待つ

赤外線フォト
リフレクタの反射の強さが
□以上か

いいえ

はい
どちらの
タッチセンサも押されていないいいえ

はい前進
0.5 秒待つ

停止
2 秒待つ

後進
2 秒待つ

左回り
2 秒待つ

停止
2 秒待つ

後進
2 秒待つ

左回り
2 秒待つ

⑥

計測・制御の実行（グループ作業 5 分）

プログラムを実行するモードの説明や実行手順は 4 章の⑥を参照してください。
※プログラムは転送した後すぐに実行されるため，電池ボックスのスイッチを ON にした瞬間にモータが動き出すことがあります。十分に注意して下さい。

29

プログラムによる計測と制御⑦ 確認と修正（グループ作業 5 分）

目的の計測・制御が達成できない場合はその理由を考えます。センサカーを動作させたとき，いろいろな原因でセンサカーが思うように動かないことがあります。
■ うまく左旋回しない
左旋回のときには，動作時間で回転角度を調整しています。２秒間では動作時間が短すぎる場合があります。テーブルの上から落ちないように左旋回するために必要な時間を調整する必要があります。
■ テーブルから落ちてしまう１
今回のプログラムではセンサは 0.5 秒毎にテーブルがあるかどうか調べます。前進の速さが速すぎる場合，この 0.5 秒の間にテーブルの端に達してしまうことがあります。前進の速さを遅くするか，センサカーを進める時間の間隔を短くして下さい。
■ テーブルから落ちてしまう２センサがテーブルの端を検出したあとの２秒間の後進は，その後の左旋回中にテーブルから落ちないための動作です。もし後進中や左旋回中にテーブルから落ちるようであれば，後進時間を調整して下さい。
■ 同じセンサカーなのに，教室の場所によって，うまく動いたり動かなかったりする
赤外線フォトリフレクタは，照明や太陽光など，周囲のいろいろなものから影響を受けます。場所によって動作が変わってしまう場合，周囲をよく観察しましょう。照明を ON・OFF したり，太陽光をカーテンで遮ったりして，テストモードでセンサが読み取っている値を確認すると，原因を探すことができます。
■ センサカーが何度も障害物に当たる
付録 F （P.37）を参照してください。

実際にセンサカーを動かしていると，これらの他にも意図しない動作が現れます。グループで原因をよく考察し，プログラ
ムをどのように修正すれば改善できるか話し合いましょう。

30

プログラムによる計測と制御

付録 A．身の回りの計測・制御
私たちの身の回りにある電気製品は，計測・制御の仕組みを使って自動的にさまざまな仕事をしています。決まった動作を繰り返したり，外部の情報を元に柔軟に対応したりすることができるのは，コンピュータやセンサが使われているからです。エアコンの例を見てみましょう。

エアコンの例

ここでは ArtecRobo を使って，実際にどのような仕組みで情報を瞬時に判断して制御を行うのかを学んでいきま
しょう。

31

プログラムによる計測と制御

付録 B．計測・制御システムと ArtecRobo の対応

32

プログラムによる計測と制御

付録 C．計測グリッド□に計測した値を記入しましょう。

33

プログラムによる計測と制御

付録 D．センサカーの組み立て

1. DC モータにタイヤを取りつけます。センサカーを動かしたり，方向転換をさせたりするためにモータを左右に 1 台ずつ取り付けます。左右対称に１組作って下さい。

2. DC モータを Studuino 基板台座の裏面に取りつけます。モータをコネクタ M1（右側），M2（左側）に接続します。
M２：左側モータ

M1：右側モータ

3. 電池ボックス固定具を Studuino 基板台座に取りつけます。電池ボックスを固定して POWER コネクタに接続します。

POWER コネクタ

4. 赤外線フォトリフレクタの取りつけ台座とキャスターを作成し，それぞれ写真のように取りつけます。

5. 赤外線フォトリフレクタを A0 に接続し，センサカーの完成です。

A0：赤外線フォトリフレクタ

34

プログラムによる計測と制御

付録 E．フローチャートの処理とブロックプログラミングの対比表
フローチャートの処理とブロックプログラミング環境の命令語の対比表です。

フローチャートの処理実行する処理と命令語

Studuino リセット

Studuino リセット

LED 点灯ＬＥＤ（A4 接続）点灯

タッチセンサが押されるまで待つ

タッチセンサ（A2 接続）の値が押されて変化するまで待つ

LED 消灯ＬＥＤ（A4 接続）消灯

１回 LED 点滅
LED1 回点滅（0.1 秒間）

前進

停止

左右のモータを回転させて前進を始める

左右のモータを
停止させる

35

後進

左右のモータを逆に回転させて後進を始める

左回り

右のモータを正転，
左を逆に回転させて，その場で左回転をさせる□ 秒待つ

次の命令まで□秒待つプログラムによる計測と制御

タッチセンサが押されたか

いいえ

タッチセンサが押されるまでくり返す
(反復)

はい

無限に「処理」を処理

赤外線フォトリフレクタの反射の強さが□以上か

反復する

いいえ

はい
処理 2

処理 1

赤外線フォトリフレクタで反射光の強さが□以上かどうかで分岐処理する

どちらのタッチセンサも押されていない

いいえ

はい
処理 1

処理 2

左右どちらのタッチセンサの値も 1(押されていない)かどうかで分岐処理する

36

プログラムによる計測と制御

付録 F．確認と修正【発展】時間がある場合は，次の制御の検討をしましょう。
6.計測・制御Ⅲで作成するセンサカーは，タッチセンサが障害物に当たると常に左に回避します。この制御の場合，障害物を左側で検知した場合も左に旋回するため，再度同じ障害物に当たる可能性があります。確実に障害物を回避するためには，障害物に当たったタッチセンサで右折・左折を分ける必要があります。

左のタッチセンサで障害物を検知タッチセンサで方向を変える
後進して左を向かせる

前進すると再び障害物に
当たる

障害物を
回避できる

障害物に当たったら避けて進むフローチャートとプログラムは，次のようになります。

37

プログラムによる計測と制御障害物に当たったら避けて進む処理

右に障害物はあるか

はい
センサカーを停止させる
センサカーを 1 台分後進させる
センサカーを左に向かせる

左に障害物はあるか

はい
センサカーを停止させる
センサカーを 1 台分後進させる
センサカーを右に向かせる

センサカーを
赤外線フォトリフレクタと
車輪軸の距離分前進させる

38

プログラムによる計測と制御

付録 G．トラブルシューティング

39

プログラムによる計測と制御

40

プログラムによる計測と制御

41

プログラムによる計測と制御

42

プログラムによる計測と制御

43

プログラムによる計測と制御

44

プログラムによる計測と制御

45

プログラムによる計測と制御

46

プログラムによる計測と制御

計測と制御キット A
プログラムによる計測と制御
教員用

発行 株式会社アーテック【本社】大阪府八尾市北亀井町３－２－２１
ＴＥＬ：０７２－９９０－５５０９【支社】東京都千代田区丸の内１－８－１
丸の内トラストタワーＮ館 17Ｆ
ＴＥＬ：０３－５２０８－１８８２

067355K0617

47