前のページへ戻る

キミもレスキュー隊に入隊

13-1 「明かりをつけたり消したりする」

前準備

スクラッチサイトにアクセスして、サインインしよう。
(まだ自分のアカウントを作っていない人は、「スクラッチのはじめ方」にしたがってアカウントを作ってね)
why_programming_13のスタジオ(※NHKサイトをはなれます)を見てみよう。

why_programming_13のスタジオで、プロジェクト「13_1_明かりをつけたり消したりする」(※NHKサイトをはなれます)を選び、「中を見る」、次に「リミックス」をおして、自分のアカウントにコピーしてね。
(コピーの仕方は「自分の作品を作ろう!リミックス(改造)をする」も読んでね)

ラム

ワンだふぉーについて

イメージ画像

ワンだふぉーはマックスが作った明かりがついたり消えたりする基板(きばん)のついたイヌ型ロボット。自分で作れるように、「きょうざい」に「ワンだふぉーの基板の組み立て説明書」が用意してあるわ。
ワンだふぉーは、
① スクラッチの「明かりをつける」「明かりを消す」命令で、目の明かりを消したりつけたりできる
② 基板(きばん)上の光センサーが感じる明るさが、スクラッチの「外の世界の明るさ」という変数に0~100の間の数で入る

ようになっているの。
※「明かりをつける」「明かりを消す」という命令や「外の世界の明るさ」という変数は元からあるものではなく、このプロジェクトで作った命令だから、注意してね。

ラム

イメージ画像

さらに、これらの情報は、“音”でやりとりされているのがポイントなの。ワンだふぉーからは2本の音声ケーブルがでていて、それをパソコンのヘッドフォン端子(たんし)とマイク端子にさしこんでいるの。
スクラッチからは、ある命令(次に紹介するわ)によって、ずっと音が出ていて、その音がパソコンのヘッドフォン端子からケーブルを伝わってワンだふぉーに行って、その音量によって目の明かりをつけたり消したりできる。逆に、ワンだふぉーからも、光センサーが感じた明るさに応じて音がでていて、その音量に応じて、「外の世界の明るさ」という変数に数が入るのよ。
だから、ワンだふぉーをつなげても、パソコンにUSBをつなげたり、特別なソフトウェアをインストールしなくてもいいの。 それが、このワンだふぉーのいいところ。ワンだふぉーの使い方は、「きょうざい」の「ワンだふぉーの基板の使い方」を見てね。

ラム

明かりをつける命令

イメージ画像

イメージ画像

イメージ画像

まず、基板(きばん)の命令を見てみましょ。
・旗(はた)がクリックされたとき
明かりをつける
この「明かりをつける」はみんな見たことないわよね。これは、このプロジェクトの中で新しく作った、つまり、「定義(ていぎ)」したものなの。定義した内容もあるはずよ。次を見て。。

ラム

・定義 明かりをつける
音量を100%にする
これは、明かりをつける、という命令を実行したときに、音量を100%にしろ、ということなの。何の音量かって?それは画面の下のほうにかくれている“音を出す命令”を見ればわかるわ。

ラム

ポイントは、
・楽器を20▼にする
・69▼の音符を6000拍鳴らす
これはシンセリードという楽器の“ラ”の音を100分間鳴らし続けているの。まあ、このプログラムは変えずに、そのまま使えばいいわ。

ラム

用意されている4つの命令を使う

イメージ画像

「その他」カテゴリーをクリックしてみて。4つの定義された命令が見えるはず。
・「明かりをつける」(明かりの明るさを100にする)
・「明かりを消す」(明かりの明るさを0にする)
・「明かりの明るさを○にする」(0~100の数を入れる)
・「明かりの明るさを○ずつ変える」(0~100の数を入れる)
これらを使えば、明かりを自由にコントロールできるわ。
※一番上にある「ブロックを作る」ボタンをおすと、新しい命令を自由に定義することができるわよ。

ラム

イメージ画像

まず、こんなプログラムを組んでみましょう。
・右向き矢印キー▼が押されたとき
・明かりをつける

・左向き矢印キー▼がおされたとき
・明かりを消す
ほら、かんたんでしょ。右向き矢印キーと左向き矢印キーで明かりをつけたり消したりできるわね。

ラム

今回のまとめ

  • ワンだふぉーの基板(きばん)は、音声コードをつなぐだけで、スクラッチで明かりをコントロールすることができる。
  • 「その他」のカテゴリーにある4つの命令を使って、明かりをつけたり消したりできる。
  • ワンだふぉーの作り方は、「ワンだふぉーの基板の組み立て説明書」をみよう。

今回のリミックス

・上矢印キーを押すと、だんだん明かりが明るくなるようにしてみよう
・「○秒かんかくで明かりを点滅(てんめつ)させる」という新しい命令を作ってみよう。