応用セット

教員用

応用

デジタル砂時計を作成しよう

学習内容●加速度センサーについて

達成目標●加速度センサーの仕組みの理解

想定人数

2人

想定コマ数

2～4コマ

●スピーカーについて●出力装置についての理解

活動内容

評価

●加速度センサー‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.2

知識及び技能①

導入○加速度センサーの仕組み○加速度センサーブロックの使い方●スピーカー‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.4

知識及び技能①○スピーカーの仕組み○スピーカーブロックの使い方

基本課題①

デジタル砂時計を作成しよう●デジタル砂時計を作成しよう‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.5

知識及び技能②○プログラム内容の説明○フローチャートの作成○プログラムの作成○プログラムの実行
○振り返り

発展課題
●デジタル砂時計をもっと使いやすくしよう‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.9

知識及び技能②○アイデアを考える

思考・判断・表現○フローチャートの作成

学向力・人間性○プログラムの作成○プログラムの実行○発表

アイコンシート ご活用ください！
生徒がカードを並べて課題解決のヒントにできる補助教材です。

無料
ダウン
ロード

プログラムの①アイデアを整理できる②流れを考えられる③段階的に考えられる

アイコンシート：ダウンロード URL：https://www.artec-kk.co.jp/arteclinks/school/juniorhigh/応用セット ① デジタル砂時計を作成しよう

応用

デジタル砂時計を作成しよう
年

知識技能①

i

組

番

名前

加速度センサー

加速度センサーについて
この拡張ユニットは加速度を計測することができます。
「センサーがどちらの向きにかたむいているのか？」「速さがどちらの向きに変化しているのか？」をセンサーで計測します。
身近な製品では、ゲームのコントローラーやスマートフォンなどで使われています。

加速度センサーの仕組み
加速度センサーは、センサーに対してどの方向から加速度が加わっているかを調べることで、センサーの向きを検知しています。
加速度センサー内部イメージバネ

１から３の方向に加速度（重力）が加わっている。
→「１」が上になっていることを認識

重石

加速度センサーを90度右に回転
４から２の方向に加速度（重力）が加わっている。
→「４」が上になっていることを認識

加速度センサーブロックの使い方
加速度センサーは、センサーに対してどの方向から加速度が加わっているかを調べることで、センサーの向きを検知しています。

このブロックでは、加速度センサーがどのような動きをしているかを計測することができます。
このブロックをクリックすると、右のような表示になります。この表示を変更することで、計測する条件を任意に設定することができます。

※加速度センサーを傾けて、ユニットボードの数値がどのように変化するのかを確認させましょう。

1

加速度センサーを上下左右に大きく動かし、X, Y, Z のどの数字が変化しているのかに注目するようにしましょう。

2【センサーブロックの表示方法】(1) メインユニットと加速度センサーチップをつなげ、メインユニットとパソコンを接続します。
メインユニットとセンサーチップをつなげる場所はどこでも構いません。

(2) 接続完了後、カテゴリーに以下のようにブロックが表示されていることを確認してください。

※「加速度センサーｘ」と「ゆさぶられている」ブロックが追加されていない場合
以下の方法でもブロックを表示させることができます。
①タブから「編集」を選択します。
②「ブロックの表示・非表示」を選択します。
③「加速度センサーブロック」を選択します。
この方法でブロックを「調べる」カテゴリーに表示させることができます。
非表示にしたい場合も同様の手順を行ってください。また、ほかのセンサーブロックについても同様です。

このブロックでは、加速度センサーの数値を調べることができます。加速度センサーの数値は、ユニットボードの赤枠
内から読み取ることができます。
X, Y, Z の数値はセンサーに加わる加速度（重力）が下のイラストのどの方向を向いているかを表しています。数値は、-1.00 ~ 1.00 の間で変化します。

重力

Z

Y

X

センサーが図の向きの場合、センサーに対して加速度（重力）が Z の
数字は、ほぼ -1.00 になっています。

i

スピーカー

方向に加わるので、「加速度センサー Z」の

センサーが図の向きの場合、センサーに対して加速度（重力）が Z の方向に加わるので、「加速度センサー Z」の数字は、ほぼ -1.00 になっています。

知識技能①

i

スピーカー

スピーカーについて
この拡張ユニットは、音を鳴らすことができます。
スピーカーに電気が流れると、中に入っている金属の板（振動板）が震えて音が鳴ります。この仕組みはイヤホンやヘッドホンなどに使われています。

スピーカーの仕組み
スピーカーは電気を流すことで中に入っているコイルが磁力を発生させ、この磁力で振動板を震わせて音を出します。
磁力の強さの違いによって振動板の震え方を変えることができ、音の高低や強弱を調整することができます。

コイル 磁石電気

振動板

2スピーカーブロックの使い方【スピーカーブロックの表示方法】(1) メインユニットとスピーカーをつなげ、メインユニットとパソコンを接続します。
(2) 接続完了後、カテゴリーに以下のようなブロックが表示されていることを確認してください。

【スピーカーブロックの使い方】

このブロックでは、スピーカーから音を鳴らすプログラムを実行することができます。数字の部分を変更することで、音の高低を変更することができます。

4

このブロックでは、指定した秒数だけスピーカーから音を鳴らすプロ
グラムを実行することができます。
このブロックでは、スピーカーから鳴っている音を止めるプログラムを実行することができます。

応用セット ① デジタル砂時計を作成しよう

応用

デジタル砂時計を作成しよう
年

知識技能②

組

番

アイコン
シート

名前

デジタル砂時計を作成しよう【課題】
加速度センサーの向きを変えるとタイマーがスタートする、デジタル砂時計のプログラムを作成しましょう。

ひっくり返す10 秒経過したらタイマースタート①フローチャートを作成しましょう。「アイコンシート」も参考にして作成しましょう。

点灯させる

グループ学習「アイコンシート」を並べられる広い場所で行ってください。

5

知識技能②
フローチャート例

開始
1が上に
なっている

No

Yes
3が上になるまで待つ

1が上になるまで待つタイマーをリセット

タイマーをリセット

10秒待つ

10秒待つ

LEDライトを点灯させる

LEDライトを点灯させる

終了②「アイコンシート」と P.5 で作成したフローチャートを参考にしてプログラムを作成しましょう。

プログラ
ミング

実習

プログラム例

イロ

ハ6

知識技能②
解説イ ) 加速度センサーがどの向きを向いているかを判定するためのプログラム

まず、デジタル砂時計がの向きなのか、の向きなのかを計測しなければなりません。最初の向きが認識されていないと、ひっくり返されたことをプログラム上で認識できないためです。そのために以下のプログラムを作成します。

「加速度センサーの数字の 1 が上側にあるかどうか」という条件で、条件分岐を行います。

もし「加速度センサーの数字の 1 が上側にある」（＝ True）なら、もし「加速度センサーの数字の 1 が上側にない」（＝ False）なら、

この向き

この向きと認識することができます。

ロ ) デジタル砂時計がひっくり返されたときにタイマーをスタートさせるプログラム
まず、デジタル砂時計がひっくり返されたことを認識するためのプログラムを作成します。

このブロックを使って、デジタル砂時計がひっくり返される（加速度センサーの向きが「1 が上の状態」から「3が上の状態」になる）まで、プログラムを一時停止します。
ひっくり返されたことを計測した後、タイマーをリセットします。10 秒カウントして、LED ライトを赤色で点灯させます。

ハ )（ロ）と同様に、ひっくり返されたときにタイマーをスタートさせるプログラム

7

知識技能②③プログラムが完成したら、プログラムを実行しましょう。
加速度センサーをひっくり返し、10 秒後にメインユニットの LED ライトが点灯することを確認してください。
※ USB ケーブルを外して、プログラムを実行させたい場合、プログラムの転送を行ってください。
①タブから「転送」を選択します。

② 3 द੿ਛखञইট‫ॳش‬ক‫॑ॺش‬૞અपखथ‫ؚ‬উটॢছ঒॑੿ਛखऽखॆअ‫؛‬ਰৣभَઞ৷ঈটॵॡُ॑૞અप
खथऎटऔः‫؛‬
使用ブロック②「接続」を選択し、ユニットボードの表示が消えたら転送完了です。
③ USB ケーブルを外し、バッテリーを接続してください。

④バッテリーの電源をオンにし、下図の赤枠の LED が光っていることを確認します。
⑤加速度センサーをひっくり返して、正しくプログラムが実行されるか確認してください。
メインユニットの LED を点灯させるためのブロックです。
条件分岐を行うためのブロックです。条件が満たされている場合は、ブロックの上側に挟まれているプログラムを実行します。満たされていない場合は、下側に挟まれているプログラムを実行します。

次の処理の実行を遅らせるためのブロックです。条件が満たされるまでプログラムをス
トップします。
加速度センサーの状態を調べるためのブロックです。

知識技能②

時間を計測するためのブロックです。

④達成できた項目にチェックを入れましょう。
タイマーを 0 秒に戻すためのブロックです。タイマーはソフトウェアを立ち上げた時点から秒⃞加速度センサーの仕組みについて理解できた
数をカウントしています。このブロックで任意のタイミングから計測しなおすことができます。
⃞スピーカーの仕組みについて理解できた
左の値と右の値が「等しい」かどうかを判定するためのブロックです。
⃞デジタル砂時計を作成することができた③プログラムが完成したら、転送を行い、プログラムを実行しましょう。
加速度センサーをひっくり返し、10 秒後にメインユニットの LED ライトが点灯することを確認しましょう④達成できた項目にチェックを入れましょう。
□ 加速度センサーの仕組みについて理解できた□ スピーカーの仕組みについて理解できた□ デジタル砂時計を作成することができた

4

8

応用セット ① デジタル砂時計を作成しよう

応用

デジタル砂時計を作成しよう
年

思考・判断・表現学向力・人間性①

アイコン
シート

組

番

名前

デジタル砂時計をもっと使いやすくしよう【課題】
デジタル砂時計をキッチンタイマーとして使いたい場合、どのような工夫をすればもっと使いやすくなるかを考えましょう。

グループ学習「アイコンシート」を並べられる広い場所で行ってください。

①「アイコンシート」を使ってプログラムの流れを考え、どのような工夫ができるかを考えましょう。またその工夫によって、どのような課題を解決することができるかを以下の表に書き入れましょう。

課題点

LED ライトが光るだけでは気づかない場合がある。

工夫

スピーカーを使って音が鳴るようにした。

課題点

手がふさがっていると、タイマーをひっくり返すことができない。

工夫

人感センサーを使って、手をかざしたときに、タイマーをスタートできるよ
うにした。

課題点

10 秒など、決まった時間のタイマーしか設定できない。

工夫

ボタンを押した回数ごとに、設定するタイマーの秒数を変更する。
5

人感センサーについて
人感センサーの詳細な説明は次章の P.16 で行っています。そちらを参考にしてください。
「アイコンシート」にも人感センサーの具体的な動作が記載されているので、そちらも参考にしてください。

9

知識技能②
学向力・人間性②② P.5 で書いた「課題点と工夫」から１つ選んで、プログラムを作成しましょう。プログラム完成後、プログラム
を実行しましょう。「アイコンシート」でつくったプログラムの流れも参考にしましょう。

プログラ
ミング

実習

③作成したプログラムをみんなに発表しましょう。

【アイデア名】【アイデア概要】【課題点】【課題に対して工夫した点】【今後解決したい改善点】

6

10

〔解説〕
例 １

課題点：LED ライトが光るだけでは気づかない場合がある。
工

夫： スピーカーを使って音が鳴るようにした。
プログラム例

メインユニットの LED を点灯させると同時にスピーカーから音を鳴らします。

例 ２

課題点：手がふさがっていると、タイマーをひっくり返すことができない。
工

夫：人感センサーを使って、手をかざしたときに、タイマーをスタートできるようにした。
プログラム例

加速度センサーの向きの代わりに、
人感センサーが感知しているかどうかをタイマーがスタートするための条件とします。

11

例 3

課題点：10 秒など、決まった時間のタイマーしか設定できない。
工夫：ボタンを押した回数ごとに、設定するタイマーの秒数を変更する。
プログラム例

イ（イ）変数でボタンが押された回数を計測するプログラム（ロ）ボタンが押された回数によって、計測する秒数を変更するプログラムイ ) 変数でボタンが押された回数を計測するプログラム
ボタンが押されるごとに変数の値が 1 つずつ変わるプログラムを作成します。

次にプログラムが実行されるたびに変数の値を 0 に戻さなければなりません。前回の変数の値がそのまま残っていると、ボタンが押された回数を正しく計測できないためです。
また「5 秒待つ」のプログラムを入れることで、ユーザーがボタンを押す時間を確保します。
このプログラムがない場合、プログラムの実行と同時に条件分岐が行われてしまうため、ボタンが押された回数によって、計測する時間を変更することができません。

12

MEMO

13

MEMO

14

応用

防犯ライトを作成しよう

学習内容●人感センサーについて

達成目標●人感センサーの仕組みの理解

想定人数

2人

想定コマ数

2～4コマ

活動内容

評価

●人感センサー‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.16

知識及び技能①

導入○人感センサーの仕組み○人感センサーブロックの使い方

基本課題●防犯ライトの作成‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.18

知識及び技能②○プログラム内容の説明○フローチャートの作成○プログラムの作成○プログラムの実行
○振り返り

発展課題
●学校の防犯システムを考えよう‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ P.21

知識及び技能②○アイデアを考える

思考・判断・表現○フローチャートの作成

学向力・人間性○プログラムの作成○プログラムの実行○発表

アイコンシート ご活用ください！
生徒がカードを並べて課題解決のヒントにできる補助教材です。

無料
ダウン
ロード

プログラムの①アイデアを整理できる②流れを考えられる③段階的に考えられる

アイコンシート：ダウンロード URL：https://www.artec-kk.co.jp/arteclinks/school/juniorhigh/応用セット ② 防犯ライトを作成しよう

応用

防犯ライトを作成しよう
年

i

組

番

名前

人感センサー

人感センサーについて
この拡張ユニットは、センサーで赤外線を計測することで、人やものの動きを計測することができます。
身近な製品では、自動ドアなどに使われています。

人感センサーの仕組み
人やものはその温度（体温）に応じて、赤外線を放っています。温度を持った人やものが動くと、その場の赤外線が変化します。
人感センサーは、赤外線の数値の変化を読み取って、人やものの動きを検知しています。
例 りんごが右上から左下に動いた場合

人感センサーの上に手をかざして、ユニッ
トボードの表示がどのように変化するか確認してください。

ものが動いている！

例 リンゴが動いていない場合

ものが動いていない！

このように人感センサーは、人やものから放出される赤外線の変化をセンサーで検知して、人やものの動きを計測しています。

716

人感センサーの使い方【人感センサーブロックの表示方法】(1) メインユニットと人感センサーをつなげ、メインユニットとパソコンを接続します。メインユニットと人感センサー
をつなげる場所はどこでも構いません。

(2) 接続完了後、カテゴリー に以下のようなブロックが表示されていることを確認してください。

【人感センサーの使い方】
このブロックでは、人感センサーが感知しているかどうかを調べることができます。
このブロックのをクリックすると、以下のような表示になります。この表示を変更することで、人感センサーが感知しているかどうかの条件を設定することができます。

防犯ライトを作成しよう【課題】

人感センサーは「感知している」→「感知し人感センサーが感知したときに、メインユニットの LED が点灯するプログラムを作成しましょう。

ていない」にセンサーの値が変化するまでに、数秒のタイムラグが発生します。

ものを検知したらものを検知しなくなったら

17このブロックでは、人感センサーが感知しているかどうかを調べることができます。
このブロックのをクリックすると、以下のような表示になります。この表示を変更することで、人感センサーが感知しているかどうかの条件を設定することができます。

知識技能②
学向力・人間性②

アイコン
シート
防犯ライトを作成しよう【課題】
人感センサーが感知したときに、メインユニットの LED が点灯するプログラムを作成しましょう。

ものを検知したらものを検知しなくなったら①「アイコンシート」を使用して、プログラムの流れを考えましょう。
② ①で作成した「アイコンシート」を参考にして、フローチャートを作成しましょう。

グループ学習「アイコンシート」を並べられる広い場所
で行ってください。

818

知識技能②
フローチャート例

開始

人感センサーが感知している

No

Yes
LEDライトを点灯させる

LEDライトを消灯させる(3)「アイコンシート」と P18 で作成したフローチャートを参考にしてプログラムを作成しましょう。
プログラム例

プログラ
ミング

実習

19

解説
人感センサーが感知しているかどうかを計測するために、条件分岐を行います。
そのために以下のプログラムを作成します。

応用セット ② 防犯ライトを作成しよう

応用

防犯ライトを作成しよう

人感センサーが「感知しているかどうか」という条件で、条件分岐を行います。
もし「人感センサーが感知している」（＝ True）→ LED を点灯
もし「人感センサーが感知していない」False）→ LED を消灯

年

組

番

名前

③ P.2 で作成したフローチャートを参考にして、プログラムを作成しましょう。以下の「使用ブロック」を参考にしてください。
【使用ブロック】
メインユニットの LED を光らせるためのブロックです。

応用

応用セット ② 防犯ライトを作成しよう
メインユニットの LED を消灯するためのブロックです。

防犯ライトを作成しよう

ずっと繰り返して実行するためのブロックです。このブロックの間に挟まれて
年

組

番

いるブロックのプログラムをずっと繰り返し実行します。

名前

以上のプログラムだと一瞬でプログラムが終了してしまいます。そのため、「ずっと～する」のブロックを使用します。
③ P.2 で作成したフローチャートを参考にして、プログラムを作成しましょう。以下の「使用ブロック」を参考に
こうすることで、常に人感センサーの条件分岐を行うことができます。
してください。

条件分岐を行うためのブロックです。条件が満たされている場合は、ブロック【使用ブロック】の上側に挟まれているプログラムを実行します。満たされていない場合は、下側に挟まれているプログラムを実行します。

メインユニットの LED を光らせるためのブロックです。

知識技能②

人感センサーの状態を調べるためのブロックです。
メインユニットの LED を消灯するためのブロックです。
ずっと繰り返して実行するためのブロックです。このブロックの間に挟まれて④プログラムが完成したら、プログラムを実行しましょう。
いるブロックのプログラムをずっと繰り返し実行します。
人感センサーに手をかざして、かざしている間のみ LED ライトが点灯することを確認してください。
条件分岐を行うためのブロックです。条件が満たされている場合は、ブロック⑤ 達成できた項目にチェックを入れましょう。
の上側に挟まれているプログラムを実行します。満たされていない場合は、下⃞ 人感センサーの仕組みについて理解できた。
側に挟まれているプログラムを実行します。
人感センサーは「感知している」→「感知⃞ 防犯ライトを作成することができた。
人感センサーの状態を調べるためのブロックです。

していない」にセンサーの値が変化する
までに、数秒のタイムラグが発生します。

学向力・人間性②④プログラムが完成したら、プログラムを実行しましょう。
人感センサーに手をかざして、かざしている間のみ LED ライトが点灯することを確認してください。
⑤ 達成できた項目にチェックを入れましょう。
⃞ 人感センサーの仕組みについて理解できた。
⃞ 防犯ライトを作成することができた。

20
9思考・判断・表現

アイコン
シート

学向力・人間性①
学校の防犯システムを考えよう【課題】
これまでに学習したユニットを使って、教室の防犯力を向上させるアイデアを考えましょう。教室のどこにアーテックリンクスをとりつけ、どのような動きをさせるか考えましょう。

①「アイコンシート」を使ってプログラムの流れを考えながらアイデアを考えましょう。またそのアイデアによって、どのような課題を解決することができるかを以下の表に書き入れましょう。

設置する場所プログラムの動き

グループ学習「アイコンシート」を並べられる広い場所
で行ってください。
解決する課題設置する場所プログラムの動き

解決する課題10②「アイコンシート」を参考にして、プログラムを作成しましょう。
③ プログラムを実行してみましょう。
④ 企画書を作成しましょう。
作成したプログラムの特徴と、工夫した点をまとめて製品企画書を作成します。

21

アイデア例とプログラミング例[ 例 1] プログラムの動き：人感センサーが反応したときに、LED とブザー音でお知らせする。
設置する場所

教室のドア

プログラムの動き

人感センサーが反応したときに、LED とブザー音でお知らせする。

解決する課題LED が点灯しただけでは気づかないが、ブザー音も合わせることで気づかせることができる。

プログラ
ミング

プログラム例実習

人感センサーが検知して い る と き の み、 ブ
ザーを鳴らします。

[ 例 2] プログラムの動き：加速度センサーを窓に取り付ける。窓が動いたら LED とブザーでお知らせする。
設置する場所

教室の窓

プログラムの動き

加速度センサーを窓に取り付ける。窓が動いたら LED とブザーでお知らせする。

解決する課題

教室の窓からの侵入を防ぐことができる。

22

プログラ
ミング

プログラム例

実習
加速度センサーが動きを感知しているときに、ブザーと LED ラ
イトを点灯します。

[ 例 3] プログラムの動き： 加速度センサーと人感センサーをものに取り付ける。加速度センサーと人感センサーが両方ともに検知しているときに LED とブザーを鳴らす。

設置する場所プログラムの動き

解決する課題持ち出し禁止のもの

加速度センサーと人感センサーをものに取り付ける。加速度センサーと人感センサーが両方ともに検知しているときに LED とブザーを鳴らす。

人感センサーと加速度センサーを組み合わせることで、防犯力を強化する。

プログラ
ミング

プログラム例

実習も の が 動 か さ れ て い る、かつ人感センサーが反応しているときに、このセンサーが取り付けられたものが移動されていることを認識します。

23

応用

デジタル楽器を作成しよう（作例集）

これ以降のページは、応用セットのセンサーでつくれる例の紹介です。生徒の興味・関心に応じて参考にしてください。
ユニットを組み合わせて、以下のデジタル楽器を作成していきましょう。

【目次】○ 電子オルゴールを作成しよう…………………………………………………………………………………………………………… P. ２5
メインユニットのボタンを押したときに、「きらきら星」を演奏するプログラムを作成します。
（使用ユニット：メインユニット、スピーカー）

♬ ♫

♪ ♪
♪♪

♪

○ デジタルハンドベルを作成しよう………………………………………………………………………………………………………… P.29
加速度センサーによって、揺さぶられたことを検知し、スピーカーから音を鳴らします。
（使用ユニット：メインユニット、スピーカー、加速度センサー）

ド

レ

ミ

ファ

○ デジタルエアギターを作成しよう………………………………………………………………………………………………………… P.32
加速度センサーによって傾きを調べ、傾きによって異なる音を鳴らします。
（使用ユニット：メインユニット、スピーカー、加速度センサー、バッテリー）

♬ ♫

♪ ♪
♪♪

♪

♬ ♫

♪ ♪
♪♪

24

♪

電子オルゴールを作成しよう【課題】
ボタンを押したときに、「きらきら星」を演奏する、電子オルゴールのプログラムを作成しましょう。

♬ ♫

♪ ♪
♪♪

♪

① きらきら星は 3 種類のメロディーでつくられています。
青枠の「ド・ド・ソ・ソ・ラ・ラ・ソ」のメロディーを作成しましょう。

(1) カテゴリーからをスクリプトエリアにドラッグします。
「60」の部分をクリックすると、鍵盤が表示されます。

ド

レ

ミ ファ

ソ

ラ

シ

ド

この鍵盤は音階通りに配置されていて、鍵盤をクリックするとブロックの数字が変更されます。プログラム上では、この数字によって音の違いを判定しています。

25

(2) メロディーが鳴るようにプログラムを作成していきます。楽譜に合わせてブロックを並べていきます。
【プログラム例】(3) 音の鳴る長さを決定します。
(2) で作成したプログラムをクリックして、実際に音を再生してみましょう。テンポがおかしいと感じた場合は、音を鳴らす
秒数を変更してみましょう。
【プログラム例】(4) 作成したプログラムを関数でまとめます。
「きらきら星」は 6 小節の曲ですが、3 種類のメロディーで構成されています。6 小節分のプログラムを作成するとプログラ
ムが長くなってしまうため、同じメロディーは関数を使ってまとめます。
①カテゴリーから「ブロックを作る」をクリックします。

②関数の名前を設定します。今回の例では、「ドドソソララソ」としています。この関数にまとめるプログラムに関連した名
前だと、整理しやすくなります。
③「OK」をクリックすると関数のブロックがパレット上に表示されます。

26

(5) 関数を作成すると、スクリプトエリアにます。

が作成されます。このブロックの下にまとめたいプログラムをつなげを実行することで、関数でまとめたプログラムを実行することができます。

このプログラムが実行されます。

②赤枠と緑枠のメロディーを作成します。
①の (1) ～ (5) を参考にして、以下のプログラムを作成しましょう。

（プログラム例・赤枠）（プログラム例・緑枠）

27

③「きらきら星」のメロディーを作成します。

メロディーが鳴るように、作成した関数のブロックをつなげていきます。
（プログラム例）④ボタンを押したときにメロディーが再生されるようにします。
カテゴリー

から

をスクリプトエリアにドラッグし、③で作成したプログラムの上につなげます。

⑤メインユニットのボタンを押して、実際に「きらきら星」が演奏されるか試してみましょう。

28

デジタルハンドベルを作成しよう【課題】
アーテックリンクスをゆさぶったときに、設定した音を鳴らすプログラムを作成しよう。

今回のプログラムは 1 つのメインユニットに１つの音を保存します。実際のハンドベルのように演奏する場合は、演奏する人数
でグループをつくってプログラムを作成してください。

①カテゴリー

ド

レ

ミ

ファ

A

B

C

D

から

をスクリプトエリアにドラッグします。

29

②カテゴリーから③カテゴリーからをスクリプトエリアにドラッグします。①で作成したプログラムの下につなげます。

をスクリプトエリアにドラッグします。②で作成したプログラムのの間に挿入します。

④カテゴリーからのをスクリプトエリアにドラッグします。③で作成したプログラムのの部分に挿入します。

30

⑤カテゴリーからをスクリプトエリアにドラッグします。④で作成したプログラムののブロックの間に挿入します。

以上でプログラムは完成です。作例では、ゆさぶったときに「ド」の音が流れるようにしました。ほかの音も流れるようにプログラムを作成してみましょう。

31

デジタルエアギターを作成しよう【課題】
アーテックリンクスの傾きによって、音が変わるプログラムを作成しましょう。

♬ ♫

♪ ♪
♪♪

♪

♬ ♫

♪ ♪
♪♪

♪

アーテックリンクスが以下のように傾いているときに、設定した音をスピーカーから流します。

ド

0°

レ

ミ

右へ 45°

右へ 90°

ソ
右へ 180°①カテゴリーからをスクリプトエリアにドラッグします。

32

ファ

右へ 135°

②カテゴリーからをスクリプトエリアにドラッグします。①で作成したプログラムの下につなげます。

③加速度センサーの傾きを調べるために、「センサーボード」から加速度センサーの値を確認します。
以下の図のようにアーテックリンクスを置いたときの、加速度センサー X，Y，Z の値をそれぞれ確認しましょう。
加速度センサーは図の通りに置いてください。図と異なる場合、例と値が変わる可能性があります。

（1）

机

加速度センサー X

0.03

加速度センサー Y-1.00

加速度センサー Z

0.05

加速度センサー X

0.86

加速度センサー Y-0.50

加速度センサー Z

-0.13

（2）
右へ 45°机33

（3）加速度センサー X

0.99

加速度センサー Y-0.02

加速度センサー Z-0.05

加速度センサー X

0.83

加速度センサー Y

0.51

加速度センサー Z-0.01

加速度センサー X-0.05

加速度センサー Y

0.98

加速度センサー Z

0.02

右へ 90°
机（4）

右へ 135°机（5）右へ 180°

机（1）と（5）を比較すると加速度センサー Y の値が最も大きく変化していました。そのため、加速度センサー Y の値を鳴らす音を変えるための条件とします。
（1）

（2）

（3）

（4）

（5）

加速度センサー X

0.03

0.86

0.99

0.83

-0.05

加速度センサー Y

-1.01

-0.51

-0.02

0.51

0.98

加速度センサー Z

0.05

-0.13

-0.05

-0.01

0.02

34

④しきい値を設定します。
加速度センサーの傾きを区別する場合に、2 つの状態の境目となる値を決めて判断します。このような境目となる値のことを「しきい値」と言います。③で確認した加速度センサー Y の値を元にしきい値を決定して、プログラムを作成していきます。

【しきい値の決定】
しきい値は 2 つの値の中央となる値にします。
（③の（１）と（２）の状態を区別するためのしきい値）（１）の加速度センサー Y の値

しきい値（中央値）（２）の加速度センサー Y の値

-1.00

-0.75

-0.50

⑤カテゴリーからをスクリプトエリアにドラッグします。また、カテゴリー
をスクリプトエリアにドラッグし、「X」の部分を「Y」に変更します。

このブロックにを以下のように挿入します。

35から

⑥ ⑤で作成したプログラムにしきい値を入力していきます。③の（1）と（2）のしきい値を入力します。ここで作成したプログ
ラムを②で作成したプログラムに挿入します。

⑦カテゴリーからをスクリプトエリアにドラッグします。⑥で作成したプログラムに挿入します。

⑧ ②～⑦を参考にして以下のプログラムを作成し、⑦で作成したプログラムの「～でなければ」の下に挿入します。

36

⑨⑧を参考にして、③で確認した値ごとにプログラムを作成します。

③の（5）のしきい値のプログラムでは、加速度センサー Y の値に上限を定める必要がないため、のブロックを取り除いてください。

（1）の傾き（2）の傾き（3）の傾き（4）の傾き（5）の傾き⑩以上でプログラムは完成です。加速度センサーの傾きを変えて、メインユニットのボタンを押してみましょう。
傾きを変えるごとにスピーカーから流れる音が変わっていくことを確認しましょう。

37

応用

トレーニング補助装置を作成しよう（作例集）

ユニットを組み合わせて、以下のトレーニング補助装置を作成していきましょう。
【目次】○ウェアラブル端末を作成しよう① ……………………………………………………………………………………………………… P. 39
加速度センサーを使って、歩数を計測するプログラムを作成します。
（使用ユニット：メインユニット、加速度センサー、バッテリー）○ウェアラブル端末を作成しよう② ………………………………………………………………………………………………………

P.45

加速度センサーとスピーカーを使って、座りすぎなどの運動不足のときに警告するプログラムを作成します。
（使用ユニット：メインユニット、スピーカー、加速度センサー、バッテリー）○ダンベル挙げカウント計測装置を作成しよう …………………………………………………………………………………………
加速度センサーとスピーカーを使って、ダンベルを持ち上げた回数を数えることができるプログラムを作成します。
（使用ユニット：メインユニット、スピーカー、加速度センサー、バッテリー）

38

P.49

ウェアラブル端末を作成しよう①【課題】
加速度センサーを使って、歩数を計測するプログラムを作成します。

①カテゴリーから②カテゴリーからをスクリプトエリアにドラッグします。

をスクリプトエリアにドラッグします。①で作成したプログラムの下につなげます。

39

③しきい値を確認します。
今回は腕に取り付けるため、腕を振ったときに、加速度センサーの値がどのように変化するのかを確認します。以下の 3 つの場
合を考えます。

腕が体の前にあるとき

腕が体の横にあるとき

腕が体の後ろにあるとき（1）腕が体の前にあるとき
加速度センサー X-0.49

加速度センサー Y-0.85

加速度センサー Z-0.21

加速度センサー X

0.06

加速度センサー Y-1.05

加速度センサー Z-0.13

加速度センサー X

0.53

加速度センサー Y-0.84

加速度センサー Z-0.19（2）腕が体の横にあるとき（3）腕が体の後ろにあるとき40

今回のプログラムでは、しきい値として、確認した値のなかで最も変化が大きかった「加速度センサー X」を使います。
今回の例では、「加速度センサー X」の値は以下のように変化しています。
0.53

0.06

腕が前

腕が後ろ

-0.49
加速度センサー X

歩数を計測するプログラムを作成するためには、腕が前と後ろに振られたときのみに回数を計測する必要があります。そこで今回確認した値の場合では、腕が前か後ろに振られているかどうかを判定するためのしきい値を「0.06」とします。

④カテゴリーからをスクリプトエリアにドラッグし、②で作成したプログラムの「ずっと～する」の間に挿入します。

⑤歩数を計測するための変数を作成します。
カテゴリー

から「変数を作る」を選択し、変数名を設定します。今回の例では、新しい変数名を「歩数」としています。

41

⑥カテゴリーからをスクリプトエリアにドラッグします。また、カテゴリー
をスクリプトエリアにドラッグします。このブロックに⑦③で確認したしきい値を入力し、④で作成したプログラムに挿入します。

42

からを以下のように挿入します。

⑧カテゴリーからをスクリプトエリアにドラッグし、⑦で作成したプログラムの「もし～なら」のブロックの間に挿入します。

⑨カテゴリーからをスクリプトエリアにドラッグします。⑥の「腕が体の横にあるとき」を参考にして以下のブロックを作成し、⑧で作成したプログラムに挿入します。

⑩以上でプログラムは完成です。実際にアーテックリンクスを腕に取り付け、歩数を計測してみましょう。

43

【～まで待つブロック】「～まで待つブロック」はある条件を満たすまで次のプログラムの実行を止めるためのブロックです。
このブロックを挿入することによって、歩数を数えすぎることを防ぎます。
③でしきい値を設定しましたが、このままだと加速度センサー X の値が「0.06」より小さい場合に、繰り返しのプログラムを実行することになってしまいます。

腕が前にあるとき（-0.49 < 加速度センサー X < 0.06）（「～まで待つブロック」がない場合）
0.53

腕が前

を繰り替えし実行する。

0.06

歩数が

腕が後ろ

1, 2, 3, 4, 5, …

-0.49
腕が前にあるとき（-0.49 < 加速度センサー X < 0.06）（「～まで待つブロック」がある場合）を実行する。

0.53
歩数が 1

腕が前

0.06

腕が後ろ
腕が後ろに来る（0.06 < 加速度センサー X）まで歩数を数えない

-0.49

…

腕が前にあるとき（-0.49 < 加速度センサー X < 0.06）

を実行する。

歩数が 2

このように加速度センサー X の値が「0.06」より大きくなるまで、プログラムの実行を停止することによって、腕を振ったタイ
ミングのみのプログラムを実行させることができます。

44

ウェアラブル端末を作成しよう②【課題】
加速度センサーとスピーカーを使って、座りすぎているときに警告するプログラムを作成します。
ポケットに入れて使用します。

①しきい値を設定します。
座っているときの加速度センサーの値と立っているときの加速度センサーの値を比較します。

（座っているとき）
加速度センサー X

0.99

加速度センサー Y

0.02

加速度センサー Z

0.05

加速度センサー X

0.04

加速度センサー Y-1.01

加速度センサー Z

0.06（立っているとき）

45今回の例では、センサーの値の変化の大きかった加速度センサー Y の値からしきい値を設定します。
今回は加速度センサー Y「-0.5」をしきい値として設定します。
立っているときのしきい値（中央値）

加速度センサー Y の値

-1.01

②カテゴリーから③カテゴリーから座っているときのの加速度センサー Y の値

-0.5

0.02

をスクリプトエリアにドラッグします。

をスクリプトエリアにドラッグします。②で作成したプログラムの下につなげます。

46

④カテゴリーからをスクリプトエリアにドラッグし、③で作成したプログラムの「ずっと～する」の間に挿入します。

⑤ ①で確認したしきい値を入力します。座っていることをセンサーの値から認識するために、以下のプログラムを作成します。

⑥ ⑤で作成したプログラムを④で作成したプログラムの「もし～なら、でなければ～」の47に挿入します。

⑦どれだけの時間座っているかを計測するプログラムを作成します。
カテゴリー

から

をスクリプトエリアにドラッグします。「タイマー」ブロックを使って、座っている時間を計測します。
もし 30 分座り続けているときに警告する場合は、以下のプログラムを作成します。

タイマーの数値が 30 分（＝ 1800 秒）を過ぎた場合に、LED を点灯し、スピーカーから音を流します。
⑧ ⑦で作成したプログラムを⑥で作成したプログラムの「もし～でなければ」の間に挿入します。

⑨立ち上がっている場合には、タイマーをリセットして警告しないようにプログラミングします。
カテゴリー

から

をスクリプトエリアにドラッグします。⑧で作成したプログラムの「～でなければ」のブロックの下に挿入します。

⑩以上でプログラムは完成です。実際にアーテックリンクスをポケットに入れてプログラムを実行してみましょう。
またテストとしてプログラムを実行する際は、タイマーの数値を 60 秒にするなどしてください。

48

ダンベル挙げカウント計測装置を作成しよう【課題】
加速度センサーを使って、ダンベルを持ち上げたときに自動で回数を数えるプログラムを作成しよう。
アーテックリンクスを腕に取り付ける際は、マジックテープやバンドを使用してください。

①しきい値を設定します。
腕を下げているときと、腕を上げているときの加速度センサーの値を確認します。

加速度センサー X-0.27

加速度センサー Y

0.92

加速度センサー Z-0.16

加速度センサー X-0.14

加速度センサー Y-1.00

加速度センサー Z-0.15

今回の例では、加速度センサー Y「-0.04」をしきい値として設定します。

挙げているときのしきい値（中央値）

加速度センサー Y の値-1.00下げているときのの加速度センサー Y の値

-0.04

49

0.92

②カテゴリーからをスクリプトエリアにドラッグします。

③カテゴリーからをスクリプトエリアにドラッグします。②で作成したプログラムの下につなげます。

④カテゴリーからをスクリプトエリアにドラッグし、③で作成したプログラムの「ずっと～する」の間に挿入します。

50

⑤歩数を計測するための変数を作成します。
カテゴリー⑥カテゴリーから「変数を作る」を選択し、変数名を設定します。今回の例では、新しい変数名を「挙げた回数」としています。

からをスクリプトエリアにドラッグします。また、カテゴリー
をスクリプトエリアにドラッグし、「X」の部分を「Y」に変更します。

このブロックにを以下のように挿入します。

51から

⑦ ①で確認したしきい値を入力し、④で作成したプログラムに挿入します。

⑧カテゴリーからをスクリプトエリアにドラッグし、⑦で作成したプログラムの「もし～なら」のブロックの間に挿入します。

⑨カテゴリーからをスクリプトエリアにドラッグします。⑧で作成したプログラムに挿入します。

52

⑩カテゴリーからをスクリプトエリアにドラッグします。⑦を参考にして以下のブロックを作成し、⑨で作成したプログラムに挿入します。

以上でプログラムは完成です。実際にアーテックリンクスを取り付けてプログラムを実行してみましょう。

53

MEMO

54

応用セット 教員用
テキストに関するお問い合わせ

B095764

K0424