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 離れた場所からスイッチを操作したい
離れた場所にいても、スイッチを自由にオン、オフできたらいいなって思うことはないかな? 例えば、玄関の電灯を家の外から点けられたらいいよね。今回は、自分のスマートフォンをリモコンにして、遠くからでもスイッチをオン、オフできる装置をつくっていくよ。
2 装置のしくみはどうする?
スイッチを押すための装置は、obniz Boardにつないだサーボモーターを使う。サーボモーターの軸に取り付けるサーボホーンでスイッチが押されるしくみにする。スマートフォンに表示されたボタンをタップすることで、サーボモーターを動かすよ。
obnizにはサーボモーター用のブロックが用意されているので、そのブロックを使ってサーボモーターを動かすためのプログラムをつくる。スマートフォンにボタンを表示するのもプログラムでつくる。obnizには、スマートフォンやパソコンの画面にボタンやラベル、イラストなどをかんたんに表示して遊ぶことができるよ。
3 装置をつくろう
さっそく装置をつくってみよう。obniz Boardに部品をつなぐだけなのでかんたんだけど、つなぐ場所はまちがえないように注意してね。
まずはこの装置をつくる部品をそろえる。「KoKa obnizスマートホームキット」にあるもので、次の部品を使うよ。
- obniz Board
- サーボモーター
- サーボホーン
- 中継用足長ピンヘッダ(3ピン)
- 電池ボックス
- 電池ボックス接続用USBケーブル
① obniz Boardとサーボモーターをつなごう。ところが、サーボモーターのケーブル端子のままでは、obniz Boardにつなげない。そのために、中継用
足長ピンヘッダをサーボモーターのケーブル端子につけよう。
② ピンヘッダをつけたら、obniz Boardにつなげよう。サーボモーターにはケーブルがついているけれど、黄色の線がsignal、オレンジの線がvcc、茶色の線がgndとなっている。signal(黄)がobniz Boardの0番、gnd(茶)が2番にくるようにつなごう。まちがえてつなぐと故障することがあるから、接続するときは注意してね。サーボホーンはまだはめないでおこう。
③ 電池ボックスとobniz Boardをつなごう。前回と同じように、コネクターの向きに注意しながら接続しよう。
4 プログラミングしよう!
装置ができたら、電池ボックスのスイッチをオンにして、プログラミングエディタを立ち上げよう。立ち上げる方法は、「obniz Boardとスマートフォンを接続して、プログラミングエディターを立ち上げる」(旧サイト)を参考にしてね。それでは、プログラミングをしていこう。
① 一番上にある「“obniz”をobniz id“xxxx-xxxx”に接続する」ブロックだけを残し、他のブロックを削除
しよう。
② サーボモーターのブロックを用意しよう。ツールボックスのバイクのアイコンをタップし、「“obniz”に“servomotor”を接続する」ブロックを取り出し、「“obniz”をobniz id“xxxx-xxxx”に接続する」ブロックの下につなげる。signal・vcc・gndは、先ほど説明したサーボモーターのケーブルの色に対応しているよ。
③ ツールボックスの人差し指のアイコンをタップし、「“button”を“text”で作る」ブロックを取り出そう。「“obniz”に“servomotor”を接続する」ブロックの下につなげてね。“text”の部分を“スイッチ”に書きかえよう。
④ バイクのアイコンをタップし、「“servomotor”の角度を“0”度に設定する」ブロックを取り出し、「“button”を“スイッチ”で作る」ブロックの下につなげる。
⑤ ツールボックスの矢印が円を描
いているアイコンをタップして、「“500”ms 待つ」ブロックを取り出し、「“servomotor”の角度を“0”度に設定する」ブロックの下につなげよう。“500”をタップし、“1000”に書きかえよう。
ちなみに、「ms」は「ミリセカンド(millisecond)」の略で、「ミリ秒」のこと。1msは1000分の1秒のことを指すんだ。「500ms」は0.5秒、「1000ms」は1秒ということになるよ。
⑥ ツールボックスの矢印が円を描いているアイコンをタップして、「ずっと実行」ブロックを取り出し、「“1000”ms 待つ」ブロックの下につなげよう。
⑦ 2本の矢印が描かれたアイコンをタップし、「もしも“true”実行」ブロックを取り出し、「ずっと実行」ブロックの中に入れよう。
⑧ ツールボックスの人差し指のアイコンをタップし、「“button”がクリックされた」ブロックを取り出し、「もしも“true”実行」ブロックの“true”の中に入れよう。
⑨ バイクのアイコンをタップし、「“servomotor”の角度を“0”度に設定する」ブロックを取り出し、「もしも“button”がクリックされた”実行」ブロックの中に入れよう。角度を“90”に変更してね。
⑩ ツールボックスの矢印が円を描
いているアイコンをタップして、「“500”ms 待つ」ブロックを取り出し、「“servomotor”の角度を“0”度に設定する」ブロックの下につなげよう。“500”をタップし、“1000”に書きかえよう。
これでプログラムは完成だ! さっそく試してみよう。
5 サーボモーターを動かしてみよう
ここまでできたら電池ボックスをONにして、プログラムを実行してみよう。スマートフォンの画面に画像のようなボタンが表示されるね。
ボタンをタップする前にサーボモーターが動いたのがわかるかな? その位置が、サーボモーターの角度が0°の位置だ。動いたのが確認できたら、サーボホーンを写真のように取り付けよう。
取り付けたら、スマートフォンに表示されている「スイッチ」ボタンをタップしてみよう。サーボホーンがうまく回転すれば、動作チェックは完了だ。
プログラムを実行しても、サーボモーターが動かない場合は、ケーブルがobniz Boardにちゃんと接続されているか確認してね。ピンヘッダの接続も確認しよう。
再びプログラムを実行し、サーボホーンの位置を0°に戻そう。そのあと、装置を画像のようにスイッチに貼り付けてね。
「スイッチ」ボタンを押すと、スイッチを押すことができたかな。サーボモーターの貼り付け位置やテープでの固定方法を工夫して、押しやすさを調整してみてね。サーボホーンの大きさとスイッチのサイズが合わなかったり、スイッチが固かったりすると難しいかもしれないので、いろいろなスイッチでためしてみてほしい。
どのスイッチでも遊べるけれど、台所やお風呂、洗面所などの水回りは危険なので、設置しないでね。
装置を使うのをやめるときは、プログラム画面の右上にある「終了」をタップし、電池ボックスの電源を切ろう。長時間電源をONにしていると、obniz Boardとセンサーが熱くなっていることがあるから、しばらくして熱くなくなってからさわるようにしてね。
今回はスイッチをオンにすることができたけれど、このままだとオフにすることができないよね。次回はオフにもできるように装置を改良していくよ!
(文/トボリ 写真/青柳敏史)