【マイクロビット×MakeCode】ネコのおひるね(チュートリアル:Cat Napping)

この記事では、MakeCode for micro:bitのチュートリアル「ネコのおひるね(Cat Napping)」解説かいせつします。

「ネコのおひるね(Cat Napping)」では、拡張かくちょう機能きのうdataloggerを使って、明るさと温度を記録きろくするプログラムを作ります。

ネコのライチのために、おひるねスポットをさがしてあげましょう!

※新しいバージョン(V2.0~)用のチュートリアルです。

 

スポンサーリンク

拡張機能「datalogger」とは

今回使用する拡張かくちょう機能きのう「datalogger」では、マイクロビットをデータロガーとして使うことができるようになります。

新しいバージョン(V2.0~)のマイクロビットのみ使用可能しようかのうです。

データロギングは、時間の経過けいかにともなうデータの記録きろくのこと。

センサーで測定そくていされたをフラッシュメモリへ記録きろくすることができ、マイクロビットの電源でんげんを切っても記録きろくされたデータは保持ほじされます。

 

記録きろくしたデータをWebブラウザで開くと、画像がぞうのような表が表示ひょうじされます。

MY_DATAをブラウザで開くと表が表示される。

 

チュートリアルを開始する

MakeCode for micro:bitのホーム画面を開きます。

チュートリアル「Cat Napping」選択せんたくし、ブロックの「チュートリアルを開始」をクリックしましょう。

「Cat Napping」をはじめる

 

不要なブロックを消す

「ずっと」ブロックは今回使わないので消しましょう。

「ずっと」ブロックを消す

 

変数「logging」を作成する

変数へんすうカテゴリをえらんで変数へんすう追加ついかする…」をクリックし、loggingという名前の変数へんすうを作りましょう。

変数へんすうとは、プログラムで使う数字や文字のようなデータを一時的いちじてき保存ほぞんするための場所のこと。

よく数字や文字を入れておく箱と言われたりします。

くわしくは「変数へんすうとは?スクラッチ(Scratch)を使ってわかりやすく解説かいせつ」で解説かいせつしています。

 

変数「logging」はデータを記録しているかどうか表す

変数へんすう「logging」は、マイクロビットがデータを記録きろくしているか」または記録きろくしていないか」表す役割やくわりがあります。

  • 記録きろくしている場合は「真(しん)」保存ほぞん
  • 記録きろくしていない場合は「偽(ぎ)」保存ほぞん

真(しん)偽(ぎ)とは、かんたんにいうと、

  • しんはそうだよ
  • はちがうよ

という意味。コインの表とうらのような関係かんけいです。

英語えいごで、しんはtrue、はfalseと表現ひょうげんされます。

真偽しんぎについては「【子ども向け】論理ろんり演算えんざん(かつ・または・ではない)とは?スクラッチ(Scratch)を使って解説かいせつ」でくわしく解説かいせつしています。

 

変数「logging」の初期値を設定する

変数へんすう「logging」作成さくせいしたら、変数へんすうカテゴリから変数へんすう logging を 0 にする」ブロックを出し、最初さいしょだけ」ブロックの中に配置はいちします。

最初さいしょは「記録きろくしていない」状態じょうたいにしたいので、論理ろんりカテゴリからブロックを出し、変数へんすう logging を 0 にする」ブロックの 0 の部分に配置はいちしましょう。

変数「logging」を作成する

 

Aボタンをスイッチにする

Aボタンを記録きろくの開始/停止ていしのスイッチにします。

入力カテゴリから「ボタンAがされたとき」ブロックを出し、プログラミングエリアに配置はいちします。

変数へんすうカテゴリから変数へんすう logging を 0 にする」ブロックを出し、「ボタンAがされたとき」ブロックの中に配置はいちしましょう。

論理ろんりカテゴリから「ではない」ブロックを出し、変数へんすう logging を 0 にする」ブロックの 0 の部分に配置はいちします。

変数へんすうカテゴリから変数へんすう「logging」ブロックを出し、「ではない」ブロックの空いている部分に配置はいちしましょう。

Aボタンをスイッチにする

これでAボタンをおすたびに、変数へんすう「logging」ぎゃくあたい(真⇔)にわります。

 

インジケータを作る

人間が見てデータを記録きろく中であることが分かった方が便利べんりですよね。

LED画面とスピーカーを使ってインジケータを作りましょう。インジケータとは、動作状態じょうたいを表す装置そうち機能きのうのことです。

インジケータを作る

 

もし記録中なら/でなければ

論理ろんりカテゴリから「もし<真>なら/でなければ」ブロックを出し、変数へんすう logging を loggingではない にする」の下に配置はいちしましょう。

変数へんすうカテゴリの変数へんすう「logging」を出し、「もし<真>なら/でなければ」ブロックの<真>の部分に配置はいちします。

 

「もし logging なら」という条件じょうけんは、変数へんすう「logging」が真なら」と同じ意味です。

「もし<真>なら/でなければ」は、もし条件じょうけんが正しい(真)場合「なら」の下にある命令めいれいを実行し、正しくない()場合は「でなければ」の下にある命令めいれいを実行するブロック。

なので変数へんすう「logging」あたいの場合、「なら」の下にある命令めいれいが実行されます。

 

記録中はLED画面にアイコンを表示する

記録きろく中は、LED画面にアイコンを表示ひょうじします。

基本きほんカテゴリから「アイコンを表示ひょうじブロックを出し、「もし logging なら/でなければ」ブロックの「もし logging なら」の下に配置はいちします。

アイコンは太陽にている「まと」をえらびましょう。

 

記録を開始した時音を鳴らす

記録きろくを開始した時、音を鳴らしてお知らせしましょう。

音楽カテゴリから「play sound くすくすわらう until done」ブロックを出し、「アイコンを表示ひょうじブロックの下に配置はいちします。

鳴らす音は「くすくすわらう」から「ハロー」に変更へんこうします。

 

記録をしていない時は表示を消す

記録きろくをしていない時は、LED表示ひょうじを消しましょう。

基本きほんカテゴリから表示ひょうじを消す」ブロックを出し、「もし logging なら/でなければ」ブロックの「でなければ」の下に配置はいちします。

 

1分ごとにデータを記録する

フラッシュストレージ(保存ほぞんする場所)がいっぱいにならないように、1分ごとにデータを記録きろくするようにします。

ループカテゴリから「every 500 ms」ブロックを出し、プログラミングエリアに配置はいちしましょう。

待ち時間は「500」ms から「60000」msにえます。1minute(1分)をえらぶと自動的じどうてきに60000に変更へんこうされます。

「every 500 ms」ブロック

「every 500 ms」ブロック
指定した時間(ミリ秒)ごとに、中に配置はいちしたプログラムを実行します。
1ミリ秒は1,000分の1秒です。

 

記録きろく中(loggingが真)のときだけ記録きろくしたいです。

論理ろんりカテゴリから「もし<真>なら」ブロックを「every 60000 ms」の中に配置はいちし、変数へんすう「logging」「もし<真>なら」ブロックの<真>の部分に配置はいちします。

1分ごとにデータを記録する

 

温度と明るさを記録する

Data Loggerカテゴリから「log data colmn ” ” value 0」ブロックを出し「もし logging なら」ブロックの中に配置はいちします。

columnの後ろの””をクリックして、”temp”と入力します。tempは温度という意味。

入力カテゴリから「温度(℃)」ブロックを出し、valueの後ろの0の部分に配置はいちします。

同じように、明るさも記録きろくしましょう。

「log data colmn “temp” value 温度(℃)」ブロックの右側みぎがわにある「+」をクリックすると、新しい行が追加ついかされます。

columnの後ろの””をクリックして、”light”と入力します。lightは光という意味。

入力カテゴリから「明るさ」ブロックを出し、valueの後ろの0の部分に配置はいちします。

温度と明るさを記録する

「log data colmn ” ” value 0」ブロック
フフラッシュストレージにデータを記録きろくする。
・column:列の見出しになる文字列
・value:記録きろくするあたい

 

シミュレーターで確認する

シミュレーターで作ったプログラムをためしてみましょう。

「Show data シミュレーター」ボタンで記録を見る

Aボタンをおして、データの記録きろくを開始してみてください。

「Show data シミュレーター」ボタンをクリックすると、記録きろくしたデータを見られます。

timeは電源でんげんが入ってから経過けいかした時間(秒)を表していて、tempとlightはcolumnで指定した文字列です。温度と明るさが記録きろくされています。

「←もどる」ボタンでプログラミングの画面にもどります。

 

マイクロビットにプログラムを転送する

シミュレーターで正しく動くことを確認かくにんできたら、マイクロビットに転送して動かしてみましょう。

マイクロビットにプログラムを転送する方法ほうほうは「【マイクロビット】パソコンとのつなぎ方・外し方、プログラムの転送方法ほうほう」でくわしく紹介しょうかいしています。

Aボタンをおして、データの記録きろくを開始してみてください。

1時間ぐらい放置ほうちした後、もう一度Aボタンをおしてデータの記録きろく停止ていしします。

 

記録したデータを確認する

記録きろくしたデータを見てみましょう。

MY_DATAファイル

USBケーブルでマイクロビットとパソコンをつなぐと、「MICROBIT」ドライブが表示ひょうじされます。

その中に、MY_DATAというファイルができているはずです。

MY_DATAをダブルクリックしてウェブブラウザ(ChromeやEgeなど)で開くと、データの入った表が表示ひょうじされます。

MY_DATAをブラウザで開くと表が表示される。

  • Downloadボタン:データを CSV (カンマ区切り値) ファイルとしてダウンロードする。
  • Copyボタン:データをコピーする。スプレッドシート(Excel、Google Sheets、Apple Numbers など)に直接ちょくせつけることができる。

 

まとめ

チュートリアル「ネコのおひるね(Cat Napping)」について紹介しょうかいしました。

家の中で一番日当たりがよくて、一番あたたかい場所をさがして、ライチの日向ひなたぼっこスポットをさがしてみてくださいね。

今回使用したブロック

  • 「every 500 ms」ブロック
    指定した時間(ミリ秒)ごとに、中に配置はいちしたプログラムを実行します。
    1ミリ秒は1,000分の1秒です。
     
  • 「log data colmn ” ” value 0」ブロック
    フラッシュストレージにデータを記録きろくする。
    column:列の見出しになる文字列
    value:記録きろくするあたい

 

拡張機能「datalogger」

拡張かくちょう機能きのう「datalogger」は、マイクロビットをデータロガーとして使うことができるようになります。

ツールボックスにある「+拡張かくちょう機能きのう」をクリックし「datalogger」を選択せんたく

拡張機能「datalogger」

 

ツールボックスに「Data Logger」カテゴリが追加されます。

「Data Logger」のブロック

  • 「set columns ” “」ブロック
    今後のデータロギングに必要ひつような列の見出しを設定せっていします。
     
  • 「delete log」ブロック
    列の見出しをふくめて、記録きろくをすべて消します。
     
  • 「on log full」ブロック
    データログがいっぱいになったとき、中にあるプログラムを実行します。

マイクロビットから記録きろくしたデータを消したい場合は、プログラム上で「delete log」ブロックを使って消すか、プログラムをもう一度ダウンロードすることで消せます。

データログがいっぱいになった時の対処たいしょ方法ほうほうもプログラムすることができますよ。

マイクロビット公式「micro:bitによるデータロギング

 

タイトルとURLをコピーしました