micro:bit...micro:bit で micro:bitのプログラミング環 かん 境 きょう である...

8
micro:bit micro:bit のプログラミング環 かん きょう である MakeCode が バージョンアップしたよ。 くわ しくは特 とく せつ サイトで紹 しょう かい しているけれ ど、今 こん かい は新 あたら しいバージョンを使 つか って、 たん けん ウォッチの機 のう をつくってみよう! 3 物の高さを測る 探検メーターをつくろう 文/倉本大資  写真/青柳敏史  イラスト/うえたに夫婦、新保基恵 自分だけの探検ウォッチをつくろう MakeCode 新バージョンを使ってみよう MakeCodeがバージョンアップしたよ。この を執 しっ ぴつ した時 てん では、まだベータ版 ばん だったの で、正 せい しき ばん とは表 ひょう などが違 ちが うところもあるかも しれない。新 しん バージョンについては、特 とく せつ サイトで しょう かい をしているので、必 かなら ずそちらを確 かく にん してね。 案内役は「子供の科学★ミライサイエンスシリーズ」で おなじみのネコプログラマーとチュータだよ。 micro:bit 特設サイト prog.kodomonokagaku.com/microbit 連載のバックナンバーは特設サイトで誌面を公開して いるよ。読み逃した人は特設サイトでチェック ! 連載で使用する「KoKa micro:bit 探検ウォッチ キット」は「KoKa Shop!」で入手しよう。 shop.kodomonokagaku.com/ あたら しいバージョンでも操 そう の基 ほん は一 いっ しょ だ。ブ ロックの見 た目 が少 すこ し変 わるけれど、便 べん な機 のう MakeCode 新バージョン(ベータ版)の画面。 クリック

Upload: others

Post on 30-Dec-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

micro:bitで

micro:bitのプログラミング環かん

境きょう

であるMakeCodeがバージョンアップしたよ。詳くわ

しくは特とく

設せつ

サイトで紹しょう

介かい

しているけれど、今

こん

回かい

は新あたら

しいバージョンを使つか

って、探たん

検けん

ウォッチの機き

能のう

をつくってみよう!

第3回物の高さを測る探検メーターをつくろう

文/倉本大資  写真/青柳敏史  イラスト/うえたに夫婦、新保基恵

自分だけの探検ウォッチをつくろう

MakeCodeの新バージョンを使ってみよう

 MakeCodeがバージョンアップしたよ。この記き

事じ

を執しっ

筆ぴつ

した時じ

点てん

では、まだベータ版ばん

だったので、正

せい

式しき

版ばん

とは表ひょう

示じ

などが違ちが

うところもあるかもしれない。新

しん

バージョンについては、特とく

設せつ

サイトで紹しょう

介かい

をしているので、必かなら

ずそちらを確かく

認にん

してね。

案内役は「子供の科学★ミライサイエンスシリーズ」で

おなじみのネコプログラマーとチュータだよ。

micro:bit特設サイトprog.kodomonokagaku.com/microbit

連載のバックナンバーは特設サイトで誌面を公開しているよ。読み逃した人は特設サイトでチェック!

連載で使用する「KoKa micro:bit探検ウォッチキット」は「KoKa Shop!」で入手しよう。

shop.kodomonokagaku.com/

 新あたら

しいバージョンでも操そう

作さ

の基き

本ほん

は一いっ

緒しょ

だ。ブロックの見

た目め

が少すこ

し変か

わるけれど、便べん

利り

な機き

能のう

MakeCode新バージョン(ベータ版)の画面。

クリック

35

関数でプログラムを整理 さてここから、(2)のカウントダウンと、(3)の角

かく

度ど

の判はん

定てい

をつくっていくけど、ここで「関かん

数すう

」を使

つか

ってみよう。関かん

数すう

とは、与あた

えられた数すう

値ち

などに対

たい

して、決き

められた処しょ

理り

を行おこな

って結けっ

果か

を出だ

す機き

能のう

のことだ。1つのプログラムでいろいろなことをやろうとすると、プログラムはどんどん長

なが

くなってわかりづらくなる。しかし、関

かん

数すう

を使つか

うと、その機

能のう

ごとにプログラムを分わ

けることができる。これで全

ぜん

体たい

のプログラムが短みじか

くでき、わかりやすくなるんだ。 ではさっそく、新

あたら

しく「関かん

数すう

」をつくってみよう。「高

こう

度ど

なブロック」をクリックして「関かん

数すう

」カテゴリーを表

ひょう

示じ

、この中なか

にある、「関かん

数すう

を作さく

成せい

する...」でつくることができる。ここでは「関

かん

数すう

“まとまった動

どう

作さ

”」ブロックをつくった。

た動どう

作さ

”」ブロックを使つか

うことで実じっ

行こう

できるというしくみだ。今

いま

まで使つか

っていたブロックの中なか

身み

を自じ

分ぶん

でつくるということだね。何なん

度ど

も使つか

う機き

能のう

や、プログラムが長なが

くなってわかりづらくなる場ば

合あい

に使つか

うと便べん

利り

だよ。

カウントダウン それでは、角

かく

度ど

当あ

てゲームで使つか

う関かん

数すう

「カウントダウン」をつくってみよう。下

した

のようにブロックを組

んでいこう。

 関かん

数すう

「カウントダウン」は、LEDディスプレイにアイコンを表

ひょう

示じ

させながら、「ピッ」と音おと

を鳴な

らすことを7回

かい

繰く

り返かえ

すプログラムだ。この間あいだ

に腕うで

の角かく

度ど

を決き

めて、7回かい

目め

の音おと

が鳴な

り終お

わった時じ

点てん

での角かく

度ど

が、お題だい

に対たい

する回かい

答とう

となる。 音

おと

を鳴な

らすのには音おと

の高たか

さを周しゅう

波は

数すう

で指し

定てい

できるブロックを使

つか

いたいけど、これは「音おん

楽がく

」カテゴリーにはない。「高

こう

度ど

なブロック」をクリックして「入

にゅう

出しゅつ

力りょく

端たん

子し

」カテゴリーの「…more」にある、「音

おと

を鳴な

らす(Hz)“0” 長なが

さ(ミリ秒びょう

)“0” 」ブロックを使

つか

って、Hzとミリ秒びょう

の数すう

値ち

を変へん

更こう

しよう。

 「関かん

数すう

」カテゴリーには、つくったブロック以い

外がい

に、その関かん

数すう

を実じっ

行こう

するためのブロックが追つい

加か

される。「関

かん

数すう

“まとまった動どう

作さ

”」ブロックの中なか

につくったプログラムを、「関

かん

数すう

を呼よ

び出だ

す “まとまっ

「関数」ブロック

「関数を呼び出す」ブロック

関数名を入力

1

2

3

3

2

1「くりかえし」ブロックで7回にする2「アイコンを表示」ブロックでアイコンを指定3 600Hzと200ミリ秒にする

37

も増ふ

えている。今こん

回かい

は、新あたら

しいバージョンから使つか

えるようになった機き

能のう

を使つか

ったプログラムにチャレンジするよ。 MakeCodeのページにアクセスすると、前

ぜん

ページの図ず

のような画が

面めん

が表ひょう

示じ

される。左ひだり

上うえ

の「新

あたら

しいプロジェクト」をクリックすれば、MakeCodeのプログラミング画

面めん

が表ひょう

示じ

されるよ。ブロックの見

た目め

が少すこ

し違ちが

うけれど、ほとんど同

おな

じだと感かん

じてもらえるはずだ。

角度当てゲームをつくろう

 新あたら

しい機き

能のう

をつくる前まえ

に、まずは探たん

検けん

ウォッチで遊

あそ

べる「角かく

度ど

当あ

てゲーム」をつくってみるよ。探たん

検けん

ウォッチをつけて腕うで

をゆさぶると、LEDディスプレイにお題

だい

となる角かく

度ど

が表ひょう

示じ

されるので、腕うで

を水すい

平へい

にした状じょう

態たい

からその角かく

度ど

に合あ

うように上あ

げる。すると腕

うで

の角かく

度ど

が合あ

っているかどうか、判はん

定てい

してくれるというゲームだ。 次

つぎ

の流なが

れで進しん

行こう

するゲームのプログラムをつくっていくよ。

(1)�micro:bitをゆさぶると、お題だい

となる角かく

度ど

が表ひょう

示じ

される。

(2)�カウントダウン(この間あいだ

に、腕うで

を上あ

げる)。

(3)�micro:bitの傾かたむ

きを測はか

って、角かく

度ど

の判はん

定てい

を行おこな

う。

乱数で角度を出題 まずはゲームの進

しん

行こう

(1)の、micro:bitが「ゆさぶられたとき」に0~90°の範

はん

囲い

で角かく

度ど

が出しゅつ

題だい

されるプログラムをつくろう。「計

けい

算さん

」カテゴリーにある「“0”から“10”までの乱

らん

数すう

」ブロックを使つか

う。これは乱

らん

数すう

をつくるブロックだ。乱らん

数すう

とは、規き

則そく

性せい

がなく、次つぎ

に何なに

が出で

るのかわからない数すう

字じ

のことで、「“0”から“10”までの乱

らん

数すう

」ブロックは指し

定てい

した数かず

の範はん

囲い

から、ランダムに数かず

を選えら

んでくれる。

 「変へん

数すう

“出しゅつ

題だい

角かく

度ど

” を “0” にする」ブロックと、「“0”から“90”までの乱

らん

数すう

」ブロックを、「“ゆさぶられたとき”」ブロックに組

み合あ

わせよう。

 これで最さい

初しょ

のステップが完かん

成せい

する。シミュレーターで試

ため

したり、micro:bitに書か

き込こ

んで確かく

認にん

してみよう。ゆさぶるたびに、LEDディスプレイに0から90のいろいろな数

すう

字じ

が表ひょう

示じ

されるはずだ。

 ゲームが実じっ

行こう

されている間あいだ

、出しゅつ

題だい

する角かく

度ど

を記き

録ろく

しておかなければいけないので、「変へん

数すう

」ブロックを使

つか

う。しかし、「変へん

数すう

」カテゴリーには最さい

初しょ

はブロックがないので、自

分ぶん

でつくらなくてはならない。「変

へん

数すう

」カテゴリーに「変へん

数すう

を追つい

加か

する...」というボタンがあるので、これで変

へん

数すう

「出しゅつ

題だい

角かく

度ど

」をつくろう(変

へん

数すう

の説せつ

明めい

は前ぜん

回かい

参さん

照しょう

)。

90に変更

クリック

変数名を入力

36

関数でプログラムを整理 さてここから、(2)のカウントダウンと、(3)の角

かく

度ど

の判はん

定てい

をつくっていくけど、ここで「関かん

数すう

」を使

つか

ってみよう。関かん

数すう

とは、与あた

えられた数すう

値ち

などに対

たい

して、決き

められた処しょ

理り

を行おこな

って結けっ

果か

を出だ

す機き

能のう

のことだ。1つのプログラムでいろいろなことをやろうとすると、プログラムはどんどん長

なが

くなってわかりづらくなる。しかし、関

かん

数すう

を使つか

うと、その機

能のう

ごとにプログラムを分わ

けることができる。これで全

ぜん

体たい

のプログラムが短みじか

くでき、わかりやすくなるんだ。 ではさっそく、新

あたら

しく「関かん

数すう

」をつくってみよう。「高

こう

度ど

なブロック」をクリックして「関かん

数すう

」カテゴリーを表

ひょう

示じ

、この中なか

にある、「関かん

数すう

を作さく

成せい

する...」でつくることができる。ここでは「関

かん

数すう

“まとまった動

どう

作さ

”」ブロックをつくった。

た動どう

作さ

”」ブロックを使つか

うことで実じっ

行こう

できるというしくみだ。今

いま

まで使つか

っていたブロックの中なか

身み

を自じ

分ぶん

でつくるということだね。何なん

度ど

も使つか

う機き

能のう

や、プログラムが長なが

くなってわかりづらくなる場ば

合あい

に使つか

うと便べん

利り

だよ。

カウントダウン それでは、角

かく

度ど

当あ

てゲームで使つか

う関かん

数すう

「カウントダウン」をつくってみよう。下

した

のようにブロックを組

んでいこう。

 関かん

数すう

「カウントダウン」は、LEDディスプレイにアイコンを表

ひょう

示じ

させながら、「ピッ」と音おと

を鳴な

らすことを7回

かい

繰く

り返かえ

すプログラムだ。この間あいだ

に腕うで

の角かく

度ど

を決き

めて、7回かい

目め

の音おと

が鳴な

り終お

わった時じ

点てん

での角かく

度ど

が、お題だい

に対たい

する回かい

答とう

となる。 音

おと

を鳴な

らすのには音おと

の高たか

さを周しゅう

波は

数すう

で指し

定てい

できるブロックを使

つか

いたいけど、これは「音おん

楽がく

」カテゴリーにはない。「高

こう

度ど

なブロック」をクリックして「入

にゅう

出しゅつ

力りょく

端たん

子し

」カテゴリーの「…more」にある、「音

おと

を鳴な

らす(Hz)“0” 長なが

さ(ミリ秒びょう

)“0” 」ブロックを使

つか

って、Hzとミリ秒びょう

の数すう

値ち

を変へん

更こう

しよう。

 「関かん

数すう

」カテゴリーには、つくったブロック以い

外がい

に、その関かん

数すう

を実じっ

行こう

するためのブロックが追つい

加か

される。「関

かん

数すう

“まとまった動どう

作さ

”」ブロックの中なか

につくったプログラムを、「関

かん

数すう

を呼よ

び出だ

す “まとまっ

「関数」ブロック

「関数を呼び出す」ブロック

関数名を入力

1

2

3

3

2

1「くりかえし」ブロックで7回にする2「アイコンを表示」ブロックでアイコンを指定3 600Hzと200ミリ秒にする

37

全体を組み立てる これで、「角

かく

度ど

当あ

てゲーム」のすべての要よう

素そ

が揃そろ

ったことになる。最さい

初しょ

につくった「“ゆさぶられた” とき」ブロック内

ない

の「数かず

を表ひょう

示じ

」ブロックの下した

に「関かん

数すう

を呼よ

び出だ

す」ブロックを2つ追つい

加か

して完かん

成せい

だ。

角度を使って物の高さを測る方法

 プログラムをつくる前まえ

に、角かく

度ど

を使つか

って高たか

さを測はか

る方ほう

法ほう

について説せつ

明めい

しておこう。直ちょっ

角かく

三さん

角かく

形けい

の性せい

質しつ

を利り

用よう

していて、1つの角かく

の大おお

きさと隣りん

辺ぺん

の長なが

さがわかると、対たい

辺へん

の長なが

さを求もと

めることができる(下

図ず

)。ここでいう「対たい

辺へん

」は測はか

る物もの

の高たか

さで、「隣

りん

辺ぺん

」は測はか

る物もの

からキミたちまでの距きょ

離り

だ。このときtan(タンジェント)という三

さん

角かく

関かん

数すう

を使つか

う。三さん

角かく

関かん

数すう

は高こう

校こう

の数すう

学がく

で習なら

うけれど、tanを使つか

うことで、micro:bitと計

けい

測そく

する物もの

との距きょ

離り

、見み

上あ

げた角かく

度ど

から、対たい

辺へん

の高たか

さを求もと

めることができる。この数

すう

値ち

に自じ

分ぶん

の目め

線せん

の高たか

さ(地じ

面めん

からのmicro: bitの高

たか

さ)を足た

せば、計けい

測そく

する物もの

の高たか

さになる。

 さてここからいよいよ、今こん

月げつ

の探たん

検けん

ウォッチの新しん

機き

能のう

「クリノメーター」をつくっていくよ。聞き

き覚おぼ

えのない名な

前まえ

かもしれないけど、簡かん

単たん

にいうと角

かく

度ど

を使つか

って物もの

の高たか

さを測はか

る道どう

具ぐ

のことだ。その機

能のう

を探たん

検けん

ウォッチに搭とう

載さい

するよ。ここでの名な

前まえ

は「探たん

検けん

メーター」にするぞ。

探検メーター補助パーツの組み立て

 まずは、探たん

検けん

ウォッチを少すこ

し改かい

造ぞう

して使つか

いやすくしよう。用

よう

意い

するものは割わ

りばしかストローを1本ぽん

、それと輪わ

ゴムが2本ほん

だ。 写

しゃ

真しん

のように、探たん

検けん

ウォッチの右みぎ

側がわ

に、輪わ

ゴムで割

りばし(ストロー)を本ほん

体たい

と平へい

行こう

になるように取

り付つ

けるだけだ。これは高たか

さを測はか

る目もく

標ひょう

に狙ねら

探検メーターをつくろう

 プログラムができたら、さっそくmicro:bitに書か

き込こ

んで試ため

してみよう。

いを定さだ

めるときに使つか

うよ。わりばしやストローは目め

の近ちか

くで使つか

うので尖とが

った部ぶ

分ぶん

がない物もの

にしよう。清

せい

潔けつ

なことも重じゅう

要よう

だ。

1「“ ”かつ“ ”」ブロック2「“ ”>“ ”」ブロック3「“ ”<“ ”」ブロック

12 3

「関数を呼び出す」ブロック

目の高さ

計測する物の高さ

歩 数

隣 辺

39

 関かん

数すう

「角かく

度ど

の判はん

定てい

」を詳くわ

しく見み

てみよう。micro: bitでは2方

ほう

向こう

の角かく

度ど

が検けん

出しゅつ

できる。micro:bitを前ぜん

後ご

に傾かたむ

ける「ピッチ」と左さ

右ゆう

に傾かたむ

ける「ロール」だ。今

こん

回かい

は探たん

検けん

ウォッチをつけた腕うで

を上あ

げて、その角

かく

度ど

を測はか

りたいので、ロール方ほう

向こう

の角かく

度ど

を検けん

出しゅつ

する。

 ピッチもロールも水すい

平へい

の状じょう

態たい

が0°で、ピッチは−90°から90°、ロールは−180°から180°を

検けん

出しゅつ

できる。探たん

検けん

ウォッチを左さ

右ゆう

どちらの腕うで

につけても測

はか

れるように、ロールの角かく

度ど

は絶ぜっ

対たい

値ち

にしている(絶

ぜっ

対たい

値ち

は負ふ

の数かず

の場ば

合あい

も−(マイナス)の記

号ごう

をとって正せい

の数かず

に変へん

換かん

する)。 ❷では変

へん

数すう

「判はん

定てい

角かく

度ど

」をつくり、ロールの角かく

度ど

の絶ぜっ

対たい

値ち

を「変へん

数すう

“判はん

定てい

角かく

度ど

” を “0” にする」ブロックに入

れている。その値あたい

を「もし“ ”なら 〜でなければ〜」ブロックで振

り分わ

けている。振ふ

り分わ

けるための条じょう

件けん

は「判はん

定てい

角かく

度ど

」=「出しゅつ

題だい

角かく

度ど

」でもよいけれど、それでは難

むずか

しすぎるので、前ぜん

後ご

5°までの範はん

囲い

をつくった(❸)。次つぎ

のページの上うえ

に示しめ

したようにブロックを組く

み合あ

わせて、条じょう

件けん

の範はん

囲い

を設せっ

定てい

したよ。これで、「出しゅつ

題だい

角かく

度ど

」が45°なら、41°(=45−5より大

おお

きい)から49°(=45+5より小

ちい

さい)まで正せい

解かい

となるぞ。 これに、「メロディを開

かい

始し

する」ブロック❹と「アイコンを表

ひょう

示じ

」ブロック❺を使つか

って、それぞれの条

じょう

件けん

に応おう

じた音おと

と、アイコンを設せっ

定てい

しているぞ。

角度の判定 関

かん

数すう

「カウントダウン」と同おな

じように、関かん

数すう

「角かく

度ど

の判はん

定てい

」もつくろう。この関かん

数すう

は、micro:bitの傾かたむ

きを検けん

知ち

して、変へん

数すう

「出しゅつ

題だい

角かく

度ど

」と比くら

べるという処

しょ

理り

を実じっ

行こう

する。下した

のようにブロックを組く

もう。

2つの値を比べるのって、どうやるのかな?

1

2

4

4

5

5

3

1「関数“角度の判定”」ブロック2「変数“判定角度”」ブロックをつくり、「傾斜(°)」ブロック(ロー

ルに設定)と「“ ”の絶対値」ブロックを組み合わせる

3「もし“ ”なら 〜 でなければ〜」ブロックで振り分ける4「メロディを開始する」ブロック5「アイコンを表示」ブロック

ロール方向

ロールピッチ

38

全体を組み立てる これで、「角

かく

度ど

当あ

てゲーム」のすべての要よう

素そ

が揃そろ

ったことになる。最さい

初しょ

につくった「“ゆさぶられた” とき」ブロック内

ない

の「数かず

を表ひょう

示じ

」ブロックの下した

に「関かん

数すう

を呼よ

び出だ

す」ブロックを2つ追つい

加か

して完かん

成せい

だ。

角度を使って物の高さを測る方法

 プログラムをつくる前まえ

に、角かく

度ど

を使つか

って高たか

さを測はか

る方ほう

法ほう

について説せつ

明めい

しておこう。直ちょっ

角かく

三さん

角かく

形けい

の性せい

質しつ

を利り

用よう

していて、1つの角かく

の大おお

きさと隣りん

辺ぺん

の長なが

さがわかると、対たい

辺へん

の長なが

さを求もと

めることができる(下

図ず

)。ここでいう「対たい

辺へん

」は測はか

る物もの

の高たか

さで、「隣

りん

辺ぺん

」は測はか

る物もの

からキミたちまでの距きょ

離り

だ。このときtan(タンジェント)という三

さん

角かく

関かん

数すう

を使つか

う。三さん

角かく

関かん

数すう

は高こう

校こう

の数すう

学がく

で習なら

うけれど、tanを使つか

うことで、micro:bitと計

けい

測そく

する物もの

との距きょ

離り

、見み

上あ

げた角かく

度ど

から、対たい

辺へん

の高たか

さを求もと

めることができる。この数

すう

値ち

に自じ

分ぶん

の目め

線せん

の高たか

さ(地じ

面めん

からのmicro: bitの高

たか

さ)を足た

せば、計けい

測そく

する物もの

の高たか

さになる。

 さてここからいよいよ、今こん

月げつ

の探たん

検けん

ウォッチの新しん

機き

能のう

「クリノメーター」をつくっていくよ。聞き

き覚おぼ

えのない名な

前まえ

かもしれないけど、簡かん

単たん

にいうと角

かく

度ど

を使つか

って物もの

の高たか

さを測はか

る道どう

具ぐ

のことだ。その機

能のう

を探たん

検けん

ウォッチに搭とう

載さい

するよ。ここでの名な

前まえ

は「探たん

検けん

メーター」にするぞ。

探検メーター補助パーツの組み立て

 まずは、探たん

検けん

ウォッチを少すこ

し改かい

造ぞう

して使つか

いやすくしよう。用

よう

意い

するものは割わ

りばしかストローを1本ぽん

、それと輪わ

ゴムが2本ほん

だ。 写

しゃ

真しん

のように、探たん

検けん

ウォッチの右みぎ

側がわ

に、輪わ

ゴムで割

りばし(ストロー)を本ほん

体たい

と平へい

行こう

になるように取

り付つ

けるだけだ。これは高たか

さを測はか

る目もく

標ひょう

に狙ねら

探検メーターをつくろう

 プログラムができたら、さっそくmicro:bitに書か

き込こ

んで試ため

してみよう。

いを定さだ

めるときに使つか

うよ。わりばしやストローは目め

の近ちか

くで使つか

うので尖とが

った部ぶ

分ぶん

がない物もの

にしよう。清

せい

潔けつ

なことも重じゅう

要よう

だ。

1「“ ”かつ“ ”」ブロック2「“ ”>“ ”」ブロック3「“ ”<“ ”」ブロック

12 3

「関数を呼び出す」ブロック

目の高さ

計測する物の高さ

歩 数

隣 辺

39

距離の入力モードをつくる 次

つぎ

に、高たか

さを測はか

りたい物もの

からの距きょ

離り

を設せっ

定てい

する「ボタン“A+B”が押

されたとき」という部ぶ

分ぶん

を見み

てみよう。まずA、Bボタンを同どう

時じ

に押お

すと距きょ

離り

の設せっ

定てい

モードになる。歩ほ

数すう

の入にゅう

力りょく

は、Aボタンを押

すと数すう

値ち

が1増ふ

え、Bボタンを押お

すと数すう

値ち

が1減

るようにした。A、Bボタンで歩ほ

数すう

を入にゅう

力りょく

したら、micro:bitの端

たん

子し

P1とGNDを同どう

時じ

にタッチして設

せっ

定てい

を完かん

了りょう

させるよ。

ブロックがどこにあるかわからなくなったら、

ブロックの色を確認しよう。ブロックの色はカテゴリーの文字の色と同じだから、どのカテゴリーのブロックか

すぐわかるよ。

1 AとBのボタンが同時に押されると、設定した文字が表示される(「文字列を表示」ブロック)

2端子P1がタッチされていなければ、以下の作業を繰り返す(「もし“ ”ならくりかえし」ブロック)3Aボタンが押されている場合(「もし“ ”なら」ブロック)4距離(高さを測る物からの歩数)を1だけ増やす(「変数“ ”を“ ”だけ増やす」ブロック)5入力された数を表示(「数を表示」ブロック)

6 Bボタンが押されている場合7距離を1だけ減らす8 500ミリ秒待つ(「一時停止」ブロック)9セットされた数を表示する(「文字列をつなげる」ブロックと、「文字列を表示」ブロックを組み合わせる)

3

4

6

7

5

5

8

1

2

 P1をタッチして入にゅう

力りょく

が完かん

了りょう

したら、次つぎ

に、LEDディスプレイにセットした数

すう

字じ

を表ひょう

示じ

する。表ひょう

示じ

のプログラムは、高こう

度ど

なブロックの中なか

にある「文も

字じ

列れつ

」カテゴリーの「文も

字じ

列れつ

をつなげる」ブロックを使

つか

った。これはそれぞれの欄らん

に入い

れた文も

字じ

列れつ

をつなげるブロックで、変へん

数すう

「距きょ

離り

steps」に5が入

はい

っている場ば

合あい

は「Set Distance=5」と表ひょう

示じ

されるぞ。

ブロックをいくつか組み合わせると、複雑で意味がわかりにくく

なることも……。正しい意味でプログラムが組まれているか、よく確認する必要があるよ。

「もし、端子P1がタッチされていないなら、くりかえし」という意味になる

41

プログラムを考える 探

たん

検けん

ウォッチで物もの

の高たか

さを測はか

るときの手て

順じゅん

を考かんが

えてみよう。この手て

順じゅん

に合あ

わせてプログラムを考えていくんだ。

(1)�自じ

分ぶん

の目め

線せん

の高たか

さ、歩ほ

幅はば

など計けい

算さん

に必ひつ

要よう

な数すう

字じ

はあらかじめ測はか

って決き

めておく。

(2)�高たか

さを測はか

りたい物もの

からの歩ほ

数すう

(距きょ

離り

)を数かぞ

えなが

ら、ある程てい

度ど

離はな

れる。

(3)�数かぞ

えた歩ほ

数すう

を探たん

検けん

ウォッチに入にゅう

力りょく

する。

(4)�探たん

検けん

ウォッチをつけた腕うで

を、目め

の前まえ

あたりで構かま

える。

(5)�高たか

さを測はか

りたいポイントに照しょう

準じゅん

を合あ

わせる。

(6)�照しょう

準じゅん

が合あ

ったところでボタンを押お

すと、高たか

さが

計けい

算さん

される。

 これから、手て

順じゅん

に合あ

わせたプログラムをつくっていくよ。プログラム全

ぜん

体たい

は特とく

設せつ

サイトに掲けい

載さい

しているので、それを見

ながらブロックを組く

んでいこう。ここでは、各

かく

部ぶ

分ぶん

のつくり方かた

について説せつ

明めい

をしていくよ。

必要なデータをそろえる まずは「最

さい

初しょ

だけ」の部ぶ

分ぶん

を見み

てみよう。ここでは「変

へん

数すう

」ブロックを新あたら

しくつくって、下か

記き

の4つの変

へん

数すう

を設せっ

定てい

している。それぞれの変へん

数すう

の内ない

容よう

については、下した

の図ず

を見み

てほしい。・step単

たん

位い

cm

・目め

の高たか

さcm

・距きょ

離り

steps

・rad

割りばしの先を測りたい物に合わせる

「rad」はラジアンと呼ばれる角度の単位だよ。

プログラミングの場合、角度は「°」ではなくてradを使うんだ。

1

2

3

4

1変数「step単位cm」は自分の歩幅の大きさを設定する(ここでは執筆者の大きさに設定している)。単位はcm。2変数「目の高さcm」にはまっすぐ立ったときの自分の目の高さを測って入れる。単位はcm。

3変数「距離steps」は実際に測った歩数を設定するので最初は0にしている。

4変数「rad」は「計算」カテゴリーの「“ ”÷“ ”」ブロックで設定する。「3.14÷180」と入力しよう。これで、測った角度(°)を「rad」に変換することができる。

ココの高さが知りたい!

40

距離の入力モードをつくる 次

つぎ

に、高たか

さを測はか

りたい物もの

からの距きょ

離り

を設せっ

定てい

する「ボタン“A+B”が押

されたとき」という部ぶ

分ぶん

を見み

てみよう。まずA、Bボタンを同どう

時じ

に押お

すと距きょ

離り

の設せっ

定てい

モードになる。歩ほ

数すう

の入にゅう

力りょく

は、Aボタンを押

すと数すう

値ち

が1増ふ

え、Bボタンを押お

すと数すう

値ち

が1減

るようにした。A、Bボタンで歩ほ

数すう

を入にゅう

力りょく

したら、micro:bitの端

たん

子し

P1とGNDを同どう

時じ

にタッチして設

せっ

定てい

を完かん

了りょう

させるよ。

ブロックがどこにあるかわからなくなったら、

ブロックの色を確認しよう。ブロックの色はカテゴリーの文字の色と同じだから、どのカテゴリーのブロックか

すぐわかるよ。

1 AとBのボタンが同時に押されると、設定した文字が表示される(「文字列を表示」ブロック)

2端子P1がタッチされていなければ、以下の作業を繰り返す(「もし“ ”ならくりかえし」ブロック)3Aボタンが押されている場合(「もし“ ”なら」ブロック)4距離(高さを測る物からの歩数)を1だけ増やす(「変数“ ”を“ ”だけ増やす」ブロック)5入力された数を表示(「数を表示」ブロック)

6 Bボタンが押されている場合7距離を1だけ減らす8 500ミリ秒待つ(「一時停止」ブロック)9セットされた数を表示する(「文字列をつなげる」ブロックと、「文字列を表示」ブロックを組み合わせる)

3

4

6

7

5

5

8

1

2

 P1をタッチして入にゅう

力りょく

が完かん

了りょう

したら、次つぎ

に、LEDディスプレイにセットした数

すう

字じ

を表ひょう

示じ

する。表ひょう

示じ

のプログラムは、高こう

度ど

なブロックの中なか

にある「文も

字じ

列れつ

」カテゴリーの「文も

字じ

列れつ

をつなげる」ブロックを使

つか

った。これはそれぞれの欄らん

に入い

れた文も

字じ

列れつ

をつなげるブロックで、変へん

数すう

「距きょ

離り

steps」に5が入

はい

っている場ば

合あい

は「Set Distance=5」と表ひょう

示じ

されるぞ。

ブロックをいくつか組み合わせると、複雑で意味がわかりにくく

なることも……。正しい意味でプログラムが組まれているか、よく確認する必要があるよ。

「もし、端子P1がタッチされていないなら、くりかえし」という意味になる

41

探検メーターで、公園の木の高さを測ってみたいな!

探検メーターの使い方は、特設サイトで動画を公開しているから見てみてね!

角度検知と計算 最

さい

後ご

に「ボタン“B”が押お

されたとき」の部ぶ

分ぶん

を見み

てみよう。ここは、高たか

さを測はか

りたい物もの

に探たん

検けん

ウォッチの照しょう

準じゅん

を合あ

わせて、ボタンBを押お

すと角かく

度ど

を検けん

知ち

して、高たか

さを計けい

算さん

するプログラムだ。今こん

回かい

はmicro:bitのピッチ方ほう

向こう

の角かく

度ど

を検けん

出しゅつ

する。変へん

数すう

「角かく

度ど

」、「tシ ー タ

heta」、「距きょ

離り

cm」、「求もと

めた三さん

角かく

形けい

の高たか

さcm」は新あたら

しくブロックをつくるよ。

 これで、探たん

検けん

メーターのプログラムが出で

来き

上あ

がったよ! プログラムをmicro:bitに書

き込こ

んだら、初はじ

めはテストも兼か

ねて、部へ

屋や

にある物もの

の高たか

さを測はか

ってから、結けっ

果か

をメジャーで確

かく

認にん

してみよう。多た

少しょう

の誤ご

差さ

はあっても、なかなかよい結

けっ

果か

が出で

るんじゃないかな。それが終

わったら、外そと

に出で

て、いろいろなものを測

はか

ってみよう! 大

だい

好こう

評ひょう

につき、次じ

号ごう

以い

降こう

も引ひ

き続つづ

き探たん

検けん

ウォッチづくりを紹しょう

介かい

していくゾ! まだキットを持

っていない人ひと

は今いま

のうちにゲットしておこうね。

1 micro:bitのピッチ方向の傾きの値を入れる。見上げるように傾ける場合は正の角度となる。

2変数「角度」に変数「rad」をかけた数値を入れる。ここで角度(°)をプログラムで扱えるように、radに変換している。3変数「距離steps」と変数「step単位cm」をかけた値で、歩数で測った距離をcmに換算している。4変数「求めた三角形の高さcm」に変数「目の高さcm」を足して、結果を「文字列を表示」ブロックで表示する。

1

2

3

4

これは直角三角形の性質を使った計算式だ。計算カテゴリーの「tan」ブロックに「theta」の値を入れ、それに「距離cm」をかけると高さが求められる。それらのブロックを「小数点以下四捨五入」ブロックに入れると、小数点以下は四捨五入される。

ここで使うかけ算のブロックは「計算」カテゴリーにあるよ!

子供の科学YouTubeチャンネルで

配信!

42