新しいものづくりがわかるメディア

RSS


日常をテクノロジーでハッピーに!IoTシュフのニチテク

らくらくタイマーで朝ルーティンを管理する!

すっきり目覚めたさわやかな朝は、楽しい事が起きそうな気がしますよね。

オンライン勤務が増えて、通勤の時間がなくなった分、何か新しい事をはじめたい。そんな気持ちがムクムクと湧いてはいるものの、なぜか朝は時間が取れない…いつのまにか時間が過ぎている…そんな毎日を繰り返してはいませんか?

「やりたい事」と「やらなければならない事」をバランス良く「朝のルーティン」に取り入れて上手に時間を管理したいですよね。

そこで日常のテクノロジー(略して「ニチテク」)の力を借りて上手に自分の時間を管理する方法を「IoTシュフ(主婦・主夫)」の「Yamada3」が伝授します。

自分の時間を確保するのには、スマホじゃなくて家族にも触ってもらえる便利な道具が必要ですよね!

そこで登場するのが、micro:bit (マイクロビット)というマイコンボードです。初めて使う方は、micro:bitの詳しい紹介や基本的な使い方を説明したこちらの記事をご覧ください。

今回は効果的な方法として、「3つのやりたい事」と「2つのやらなければならない事」を交互に実施します。いつもの朝ルーティンが楽しくなるようなことを考えましょう。

photo

私は「マインドフルネスを3分」、「エクササイズを5分」、「学びタイムを10分」の3つを取り入れてみました。

それでは早速micro:bitのプログラミングソフトMakeCodeを使ってプログラムを作っていきましょう!

プログラムをしよう!

まずは今回作成するプログラム全体をご覧ください。

このプログラムは、

  • Aボタンを押して、マインドフルネス
  • Bボタンを押して、エクササイズ
  • AとBボタンを同時に押して、学びタイム

それぞれ3分、5分、10分のタイマーになっています。

使い方ですが、

  • マインドフルネスの後に、朝食の準備
  • エクササイズの後に、リビングの掃除

を実施します。いつもの「やらなければならない」朝ルーティンを間に挟んで実行する事で効率よく習慣化を目指します。

プログラムについて詳しく説明していきましょう! このプログラムは以下の5つの部分に分けることができます。

photo
  1. 初期設定では、電源が入ったらLEDでハートを表示させます。
  2. リセット設定では、ロゴ(micro:bitのオモテにある顔のマーク)を長くタップすると、リセットします。

ボタンを連打すると押した回数だけタイマーを続けてしまいます。操作ミスした場合はロゴを長く触ってリセットしましょう。

Aボタンが押されたとき、どうなるの?

Aボタンが押されたときのプログラムを見てみましょう。

photo
  • 関数「3分タイマー」を呼び出す。
  • 「3分タイマー」が終わったら、LEDでアイコンの「スマイル」を表示する。
  • 「3分タイマー」が終わった事を効果音「ハッピー」でお知らせする。

という動作をするようにプログラミングされています。

ここで、「関数」とは何だろう?と思われる方がいると思います。私はプログラム全体が工場だとしたら、関数は、その中で何かを実行する機械だと考えています。

何かをプログラムする場合に、関数としてひとかたまりにして名前をつけていた方が、何をやっているのか「理解しやすい」、「複製しやすい」、「繰り返し使いやすい」といった効果があります。

それでは関数「3分タイマー」のプログラムを見てみましょう。

photo

稼働時間(ミリ秒)はもともと設定されている値で、micro:bitの電源を入れた時間からの経過時間(ミリ秒)を示しています。

実は、micro:bitにはタイマー機能がないので、何時何分といった事を単体では知ることができません。しかし、この稼働時間をmicro:bitが記憶していて取り出すことができるので、それを使ってタイマー機能を作り出しているのです。

「タイマー経過時間」と「タイマースタート時間」は自分で作った変数です。この名前でなくても自分がわかりやすい名前にして構いません。「変数」とは、値を格納する場所です。よく箱に例えられますね。変数を作ることで、経過時間の変化を計算して比べることができるようになります。

このタイマー部分は、比較する値を変えることで、好きな時間に設定変更が可能です。(例えば、1分タイマーにしたい場合は60000ミリ秒に変更する。)

ミリ秒の計算が面倒な人は、Google検索で「3分 ミリ秒」等と検索すると計算してくれて便利ですよ。

photo

次に関数「ドキドキアニメ」のプログラムを見てみましょう。

photo

アイコンの表示を変えることで、簡単だけど、ハートがドキドキしているアニメーションになります。

photo

この部分を関数にすることで、アニメーション部分の変更がやりやすくなります。

Bボタンが押されたとき、どうなるの?

photo

Aボタンが押されたときと、ほとんど同じですね。

違うのは、「タイマー経過時間」を比べるところが5分なので、比較が300000ミリ秒になるところです。

あとアニメーション部分が違いますね。エクササイズアニメという関数を見てみましょう。

photo
photo

ロゴを顔と考えて、LED画面をこのように交互に表示させると、あら不思議、走っているように見えますね!

ぜひ皆さんも「LED画面に表示」を作り変えて、自分の好きな動きをするアニメーションを作ってみてください。

AとBボタンが一緒に押されたとき、どうなるの?

AとBボタンが一緒に押された時も、同じようなプログラムになっていますね。

photo

違うのは、「タイマー経過時間」を比べるところが10分なので、600000ミリ秒になるところです。

そして、「もし〜なら〇〇、でなければ△△」という条件文が新たに加わっていますね。これは「タイマー稼働時間」が540000ミリ秒より大きければ、関数「早送りアニメ 50 」を呼び出す。そうでなければ、関数「早送りアニメ 300 」を呼び出しています。

どういう意味でしょうか??

実は関数を作るときに、引数(ひきすう)というのを作ることができます。これは何かというと関数に引き渡すパラメーターのことです。

photo

ブロックで関数を作るときに「数値」を選択すると、関数に「数値」を引き渡せるようになるのです。

関数「早送りアニメ」を見てみましょう。

photo

「スピード」というパラメーターを関数に渡すことができるように作られています。

先程の10分タイマーの関数を思い出してください。「タイマー稼働時間」が540000ミリ秒より大きければ、このスピードが50になるのでしたよね。

つまりLEDの光が1ドットずつ50ミリ秒ごとに左に移動します。540000ミリ秒以下なら300ミリ秒ごとにスクロールするので、540000ミリ秒=9分、つまり9分過ぎていたらスクロールの時間が早くなります。

実際に動作させてみると、早送りをしているようなアニメーションになりますね。あと残り1分だとLEDの光が速く移動するようになります。

photo

オンラインで10分のプレゼンをする予定がある人は、そのまま使えますね!

ぜひ、最初の全体図を見ながら、このプログラムを作ってみてくださいね。

最後に「工作コーナー」

「朝のルーティン」が楽しくなるようなmicro:bitの置き場所を作りましょう!

1.材料

  • ランチョンマット(100円ショップで購入)
  • カッター
  • カッターマット

を準備してください。

photo

2.micro:bitのボタンとロゴの位置に合わせてカッターで切ります。

photo

3.ピッタリに切れました!

photo

4.micro:bitの電源を入れます。

photo

5.ハイテクランチョンマット!完成しました! カンタンですね!

photo

それでは今回作ったプログラムを動画で見てみましょう!

多忙な朝時間、ランチョンマットの下のやわらかな光を放つアニメーションにあなたも癒されることでしょう。

photo

おすすめ記事

 

コメント

ニュース

編集部のおすすめ

連載・シリーズ

注目のキーワード

もっと見る