手洗いうがい装置をつくろう①

 obniz(オブナイズ)は、センサーやモーターなどの電子部品を、インターネット上でかんたんに操作
そうさ
できるようにするシステムで、obniz OS(オブナイズ オーエス)、obniz Board(オブナイズ ボード)、obniz Cloud(オブナイズ クラウド)で構成
こうせい
されている。obniz OSが搭載
(とうさい)
されているマイコンボードobniz Boardに接続した電子部品は、インターネット上のobniz OSを経由してパソコンやスマートフォンから遠隔
えんかく
操作ができる。これを使うと、IoT(Internet of Things、モノのインターネット)がかんたんにできるんだ。

 『子供の科学』本誌では、obnizを使って家をスマートホーム(いろいろなものをインターネットにつないで遠隔操作できる家)にするための装置
そうち
をつくる連載
れんさい
をしてきたよ。今回からは「スタプロ」のWeb連載として、引き続きスマートホームを実現する装置をつくっていくぞ。

 これまでの連載は「obnizでつくろうスマートホーム!」旧サイトで公開しているよ。これまでにつくった装置のつくり方を解説しているので、まだ見たことがない人は見てみてね。Web連載は、本誌の連載の続きになっているので、基本的なことがわからなくなったら、本誌のバックナンバーを振り返ろう。

 この連載では、「KoKa obnizスマートホームキット」が必要なので、持っていない人は「KoKa Shop!」で手に入れよう。プログラミングはスマートフォンを使うよ。親子でいっしょに取り組んでみてね。

1 手洗いやうがいをする時間を測りたい

 手洗いは30秒、うがいは10~15秒を2回など、ベストな時間があることを知っているかな? でもわざわざタイマーで測るのは面倒
めんどう
だよね。そこで、obnizの音を鳴らす機能を使って、楽しく手洗いやうがいができる装置をつくるよ! これで、ウイルスや細菌
さいきん
撃退
げきたい
しよう。

2 装置のしくみを考えよう

 手洗いうがいを始める前に、装置に手をかざすと、スマートフォンから一定の時間、音楽が流れるようにしていくよ。

 装置に手をかざしたことを検知
けんち
するには、「赤外線
せきがいせん距離
きょり
センサー」を使うよ。スマートフォンから流す音楽は、「ハッピーバースデー」にするよ。ハッピーバースデーを2回歌うと、ちょうど30秒になるから、手洗いの時間を測るのにぴったりだね!

 赤外線距離センサーの詳しい説明と、スマートフォンから曲を流す方法については、『子供の科学』2020年1月号に載っているから、ぜひ読んでみてね。バックナンバーはこちらから見られるよ!

3 装置をつくろう!

 さっそく装置をつくってみよう。obniz Boardに部品をつなぐだけなのでかんたんだけど、つなぐ場所はまちがえないように注意してね。

 まずはこの装置をつくる部品をそろえる。「KoKa obnizスマートホームキット」にあるもので、次の部品を使うよ。

 obniz Board 
 赤外線距離センサー 
 3ピンジャンパーケーブル
 電池ボックス 
 電池ボックス接続用USBケーブル

手洗いうがい装置につかう部品一式

 ① 赤外線距離センサーと3ピンジャンパーケーブルをつなごう。

赤外線距離センサーと3ピンジャンパーケーブルをつなぐ

② obniz Boardと赤外線距離センサーをつなごう。赤い線をobniz Boardの0番、黒い線を1番、黄色の線を2番につないでね。

obniz Boardと赤外線距離センサーをつなぐ

③ 電池ボックスとobniz Boardをつなごう。前回と同じように、コネクターの向きに注意しながら接続
せつぞく
しよう。

電池ボックスとobniz Boardをつなぐ

4 プログラミングしよう!

 装置ができたら、電池ボックスのスイッチをオンにして、プログラミングエディターを立ち上げよう。立ち上げる方法は、「obniz Boardとスマートフォンを接続して、プログラミングエディターを立ち上げる」(旧サイト)を参考にしてね。それでは、プログラミングをしていこう。

① 一番上にある「“obniz”をobniz id“xxxx-xxxx”に接続する」ブロックだけを残し、ほかのブロックを削除
さくじょ
しよう。「obniz id」のところには自分のobniz IDを入力してね。

「“obniz”をobniz id“xxxx-xxxx”に接続する」ブロック

② 赤外線距離センサーのブロックと、obniz Boardのディスプレイに文字を表示するブロックを用意するよ。
 温度計のアイコンから「“obniz”に“gp2y0a21yk0f”を接続する」ブロックを、丸のアイコンから「“obniz”に“Hello,world!”を表示する」を取り出してつなげよう。“Hello,world!”は「手をかざそう」に書きかえてね。

赤外線距離センサーのブロックと、obniz Boardのディスプレイに文字を表示するブロックを用意

③ 矢印が円を
いているアイコンから「ずっと実行」ブロックを取り出して、「obnizに“手をかざそう”を表示する」ブロックにつなげる。その中に、人差し指のアイコンから「“text”をコンソールに表示する」ブロックを入れるけど、“text”には、温度計のアイコンから「“gp2y0a21yk0f”の計測距離」ブロックを取り出して組み込もう。
 これで、赤外線距離センサーと手の距離をコンソールに表示することができるよ。

赤外線距離センサーと手の距離をコンソールに表示することができるようにする

④ 2本の矢印が描かれたアイコンから「もしも“true”実行」「“10” “=” “10”」ブロックを取り出す。温度計のアイコンから「“gp2y0a21yk0f”の計測距離」ブロックを取り出して、「“10”“=”“10”」アイコンの左側の“10”に組み込もう。“=”は“<”、右側の“10”は“100”にする。
「“gp2y0a21yk0f”の計測距離 <“100”」となるよ。これは、「赤外線距離センサーと手の距離が10cm(100mm)より小さくなった」ということを示している。

 このブロックを「もしも“true”実行」ブロックの“true”のところに組み込む。できたブロックは③でつくったブロックの下に入れよう。

赤外線距離センサーで計測する距離を設定するプログラム

⑤ 丸のアイコンから「“obniz”に“Hello,world!”を表示する」ブロックを、人のアイコンから「“ハッピーバースデー”の曲を演奏
えんそう
する」ブロックを取り出してつなげよう。“Hello,world!”は「手洗いモード」に変えよう。

 できたブロックは、 ④でつくったブロックの中に入れよう。「赤外線距離センサーと手の距離が10cmより小さくなったら、obniz Boardのディスプレイに「手洗いモード」と表示され、ハッピーバースデーの曲が流れる」というプログラムになっているよ。

obniz Boardのディスプレイに表示されるメッセージと音楽を設定

5 赤外線センサーに手をかざして試してみよう

 ここで試しに装置を動かしてみよう。プログラムを実行して、赤外線距離センサーに手をかざしてみてね。ところが、予定していたように動かない部分があるよね。順番に確認して、直していこう。

5-1「手洗いモード」だけ表示してみよう!

 obniz Boardのディスプレイを見ると、「手をかざそう」の下に「手洗いモード」が表示される。「手をかざそう」が消えて、その場所に「手洗いモード」が表示された方がかっこいいよね! 

 そこで、丸のアイコンから「“obniz”のディスプレイを消す」ブロックを取り出し、「“obniz”に“手洗いモード”を表示する」ブロックの上に入れよう。これで直前まで表示されていた文字を消すことができるよ。

ディスプレイに表示するメッセージを変更

 実行してみると、「手洗いモード」だけが表示されるようになったね!

5-2 ハッピーバースデーを2回流そう!

 ハッピーバースデーが1回しか流れないので、30秒が測れない。2回流すには、「“ハッピーバースデー”の曲を演奏する」ブロックを2つつなげればいいかもしれない。

ハッピーバースデーを2回演奏するプログラム

 でも、もっとかんたんな方法があるよ。
 矢印が円を描いているアイコンから「“10”回繰り返します」ブロックを取り出して、「“ハッピーバースデー”の曲を演奏する」ブロックと組み合わせてみよう。“10”回を“2”回に変えてね。

ハッピーバースデーを2回繰り返すプログラム

 このブロックを使えば、好きな回数だけ繰り返すことができるんだ。

5-3 手をかざした後、少し待ってもらおう!

 赤外線距離センサーに手をかざした後、すぐにハッピーバースデーが流れてしまう。もう少し待ってもらえたら、手を濡らしたりハンドソープを出す時間が取れて便利だね。

 矢印が円を描いているアイコンから「“500”ms待つ」ブロックを取り出して、「“obniz”に“手洗いモード”を表示する」ブロックの下につなげよう。“500”msをちょうどいい時間に書きかえてね。ここでは“3000”ms(3秒)に書きかえたよ。

赤外線距離センサーをかざした後、3000ms待つプログラム

 実行すると、赤外線距離センサーに手を近づけてから、ハッピーバースデーの曲が流れるまで、少し時間がかかるようになったね。

 今回はここまで! 手洗いモードをもう少し工夫すれば、もっと便利になるかもしれないので、プログラミングにチャレンジしてみてね。

 次回は「うがいモード」もプログラミングして、装置を完成させるよ!

最新号好評発売中!

子供の科学 2020年 12月号

CTR IMG