子どもから大人まで、ダンボールで作ったロボットを動かすプログラミングが楽しめる「embot」(エムボット)。今回は「embot」が他のデバイスと連携してできる面白い機能を紹介します。
「embot」はNTTドコモが開発し、タカラトミーが販売する商品です。2020年度から小学校で必修化されているプログラミング教育、STEM教材として人気があります。東京の葛飾区では区内すべての小学校や特別支援学校に支給していくことを発表しています。
「embot」が選ばれる理由のひとつは、子どもが楽しくプログラミングできるアプリが用意されていること。ロボットに指示する各種コマンドがブロックになっていて、ドラッグ&ドロップでそのブロックを配置することでロボットを動かすことができます。プログラミングの操作はスマートフォンやタブレットでできますが、画面が大きいタブレットが良いでしょう。ここではタブレット「iPad Pro」で操作する例を紹介します。
センサーと連携ってどういうこと?
embotが奥深いところは、単に音を出したりサーボモーターを動かすということだけにとどまらず、各種センサー類と連携したプログラミングもできることです。これからの社会では、センサーとタブレット、センサーとロボットを連携するプログラミングを学ぶことはとても重要です。
ICT業界では数年前から注目されているキーワードで「IoT」(アイオーティー)という言葉をご存じでしょうか? 「Internet of Things」の頭文字をとったもので、直訳すると「モノのインターネット」という意味になります。
スマート家電、ロボットやクルマなど、いろいろなモノをネットワークに繋げて便利に活用しようという概念です。そして、IoTで最も重要なのが「センサー」なのです。
センサーにはいろいろな種類のものがあります。例えば、気温や湿度を測るセンサー、明るさ、体温や脈拍、血圧、人が近づいたり、ドアの開け閉めを検知するセンサーもあります。
embotのプログラミングでは、このようなセンサーの数値を読み取って、それに応じてロボットが反応をする、といったプログラミングもできます。
最も身近なセンサーは?
「でも、センサーなんて持ってないよ」という読者の方もいるでしょう。でも、きっと身近に高性能なセンサーがあるはずです。それはスマートフォンやタブレットです。embotのプログラミングを行なっているタブレットにはセンサーが内蔵されています。
タブレットの「方位センサー」(コンパス)と連携
iPad Proには「3軸ジャイロ」「加速度センサー」「環境光センサー」「方位センサー」「GPS」の5つが搭載されていますが、そのうちの3つ「3軸ジャイロ」「方位センサー」「GPS」がembotと連携することができます。
3軸ジャイロ
回転や向きの変化を検知することが出来るセンサー
加速度センサー
移動の変化を検知することが出来るセンサー
環境光センサー
周囲の明るさを検知してくれるセンサー
方位センサー
東西南北、方角を示してくれるセンサー
GPS
衛星と連携して緯度と経度(自分がいる位置)がわかるセンサー
例えば、東西南北、どの方角を向いているのかを検知する「方位センサー」を使うと、タブレットを方位コンパスとして使用できます。このセンサーを利用して、タブレットが「北西」を向いたら「ロボットが手を振る」というプログラミングを作ってみました。
タブレットからは北が「0度」、東が「90度」、南が「180度」、西が「270度」という情報が取得できます。プログラミングの流れではここで「条件分岐」を使います。タブレットのコンパス情報が北西だったら「〇」へ、そうでなければ「×」に進むという流れです。
東西南北のいずれかで指定することもできます。例えば、真北「0」を向けたときにロボットに独特な動作をさせる、などです。その場合、タブレットの方向を正確に0度に向ける必要があります。今回はサンプルなので、方位が「271」以上だったら(すなわちタブレットを「北西の方向を向けたら」)というプログラムの指定をしました。
なお、タブレット自身のコンパスアプリや、またはスマートフォンのコンパスアプリ等で「東西南北」の向きを確認してテストするとよいでしょう。
外部IoTセンサー「Linking」との連携
NTTドコモがIoT(Internet of Things)の拡大・発展を目指して推進しているプロジェクト「Project Linking」(プロジェクト・リンキング)から、IoTプラットフォーム「Linking」とembotの連携を紹介します。「Linking」に様々なセンサー製品がラインアップされていますが、今回は2種類の「しずくちゃん(通称)」を使ってみましょう。
温度、湿度、気圧を計るセンサー「Sizuku_tha」と、明るさ(lux)を計るセンサー「Sizuku_Lux」です。
「Sizuku_tha」は温度・湿度・気圧センサーを搭載した製品です。しずく型本体の底に磁石が入っていて、金属製の様々なところに取りつけて使用することができます。
気温が35度以上になったらロボットがお知らせ
embotのアプリはユーザーのスキルに合わせてレベルが用意されていて、IoTセンサーが活用できるのは「レベル3」以上です。「レベル3」以上でembotのアプリを起動したら、アプリに「Sizuku_tha」との接続を登録します。
これだけでアプリ上から「Sizuku_tha」が計測した温度、湿度、気圧が確認できるようになります。
例えば、「温度が35度以上になったら、ロボットが手を振り、ブザーを鳴らして教えてくれる」というプログラムを作ってみました。夏場の熱中症の予防に活用できるかもしれませんね。プログラムには「WAIT」(待て)というコマンドを使います。「WAIT」を解除する条件は「気温が35度を超えたら」とします。
早速、実験をしてみましょう。なお、温度を上昇させるのにドライヤーを使っています。
明るくなったらロボットがお知らせ
同様に、明るさを測定できる「Sizuku_Lux」を使って、明るさが「300」以上になったらロボットが教えてくれるプログラムを作りました。
最初は紙コップをセンサーに被せておきます。紙コップをかぶせると照度は暗くなりますよね。
紙コップをはずして明るくなったセンサーの数値の上昇を受けて、ロボットが反応して手を動かし、ブザーが鳴ります。
ブザーで演奏もできる
IoTとは話題が異なりますが、embotのブザーはアプリを使って曲を流すことができます。「聖者の行進」の冒頭部分をプログラミングして演奏してみました。前述した「センサーに反応してブザーを鳴らす」のところに、単なるブザー音ではなく、このように曲を作って再生させると、なお楽しいかもしれませんね。
今回紹介したIoTとの連携やブザーでの曲の演奏はembotの公式ページの動画で分かりやすく紹介されていますので、そちらを参照してください(一部の動画は画面のデザインが旧バージョンのものがありますのでご注意ください)。
https://app.embot.jp/learn/tutorial/links