教育向けマイコン「micro:bit」で温度計を作ってみた ビジュアルプログラミングは簡単?(2/2 ページ)
教育向けマイコン「micro:bit」のビジュアルプログラミングを記者が試してみた。
物理ボタンで表示をオンオフしたい
さて、物理ボタンAで表示が始まり、物理ボタンBで表示を終了するようにしたい。表示中だけループしたいので、「ループ」内の「もし[真]ならくりかえし」を使用して条件式でループを判断できるようにする。
「もし[真]ならくりかえし」の[真]部分を真偽切り替えられるようにしたいので、2つ目の変数“isLoop”を用意する。ボタンAが押された時にisLoopを真にすれば表示のループが回り、ボタンBが押された時にisLoopを偽にすることでループを止めるという考え方だ。
後はループ内で表示する文字列の設定だけ。「基本」内に「文字列を表示」ブロックがあるので、ここにtemperatureをつなげてみるのだが、実はこれでは動かない。温度は数値であり、文字列ではないためだ。
「基本」の中に「数を表示」ブロックもあるのでこちらを使ってもいいが、せっかく温度なので「24C」という風に表示したい(℃は文字として登録されていないのか、micro:bit上で表示できなかった)。
数値を文字列に変換するのは、テキストでのプログラミングに親しんでいる人なら簡単なことで、(数値).toString()関数を使えばいいだけだ。という発想の元、筆者はここだけコーディングをJavaScriptに切り替えて書くことにした。
JavaScriptでも編集できる
ブロックからテキストに切り替えるには、上部の「{}JavaScript」をクリックするだけ。ここまでブロックでプログラミングした内容をテキストで眺めてみると、変数宣言、イベント処理関数、そしてbasic.forever()というバックグラウンド処理関数の3つの大きな要素でできていることが分かる。
バックグラウンド処理ができたり、ボタンクリックのイベント処理ができたり、変数宣言にletを使っていたり、アロー関数を使っていたりする辺りにモダンさが感じられる。このようにブロックが意味するコードを随時確認できるのもMakeCodeの良いところである。
さて、文字列の表示に当たる現在のコードがbasic.showString(temperature)なので、temperature.toString()として文字列に変換する。これだけだと温度の数字しか表示しないので、temperature.toString() + "C"として文字列を結合する。
以上でプログラムは完成だ。もう一度ブロック側に戻ってみると、「文字列を表示」ブロックに「文字列をつなげる」ブロックがつながり、さらにその中に「temperature.toString()」ブロックと「“C”」ブロックが内包される構造になっていた。
「temperature.toString()」はカラー的にどのブロックにも属していない。これは既存のブロックに変換できなかったということのようだ。もしブロックのみでプログラミングするとしたら、数値から文字列への変換にはもしかしたらてこずるのかもしれない(他にやり方があるかもしれないが)。
この状態で左側にあるシミュレーターを動かしてみると、確かにボタンAを押すと温度表示のループが始まり、ボタンBを押すと表示が終了する。
シミュレーターでうまく動いたら、左下のダウンロードでプログラムファイルをダウンロードし、micro:bit直下のフォルダに配置する。これだけでインストールは終了し、実機でボタンを押せば温度表示のオンオフができるようになっているのが分かる。
ブロックを組み始めてから完成までかかった時間は30分ほど。その程度の時間で自分が考えたプログラムがmicro:bit上で動くのは、プログラミング体験としてはなかなか楽しいと感じた。
温度センサーの他にも、光センサー、加速度センサー、コンパス、Bluetoothモジュール、外部接続コネクターなど拡張性は高い。これらを使ってどんなプログラムを作るかはユーザーの発想次第だ。
micro:bitの価格は約2000円(税込)。遊べる幅を考えると安いといえるのではないだろうか。
関連記事
MSなど業界団体、小学校100校にマイコン「micro:bit」寄贈プロジェクトを発足
日本マイクロソフトなどが参画する業界団体、「ウィンドウズ デジタルライフスタイル コンソーシアム」(WDLC)は6月13日、プログラミング教育にいち早く取り組む小学校100校にマイコンボード「micro:bit」を寄贈する「MakeCode×micro:bit 100プロジェクト」を発表した。1校当たり20台、計2000台のmicro:bitを無償提供する。玄人志向、自走ロボットミニカーを作れるガイドブック付き工作キット
玄人志向は、ロボットミニカーを組み立てられる工作キット「KR-MBBOT」を発売する。Arduinoでプログラミング――「小型ロボット『ベゼリー』 ロボット開発はじめてキット」
上海問屋が、さまざまな機能をArduinoでプログラミングできるロボットキットを発表、5月3日より発売する。価格は1万9999円。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.