Geek Women Japanアドベントカレンダー5日目 micro:bitのおはなし

Geek Women Japanアドベントカレンダー5日目の記事になります!
技術系の話をブログに書くのは初めてなので分かりづらかったらごめんなさい。。!
今回はmicro:bitについて紹介したいと思います!
私は全くハードに詳しくなく、ハードコワイ。。と思っていたのですが、micro:bitを触ってみてちょっと面白そうかもと思ったので共有させていただきます:)

micro:bitについて

micro:bitとはこの写真のようなポケットサイズのシングルボードコンピューターと呼ばれるものです。イギリスでは11,12歳の子どもたちに無償で配布されるものであり、子供向けのプログラミング教材に使われています。

f:id:sasamihoo:20171206010459j:plain

f:id:sasamihoo:20171206010528j:plain

実際にできること

実際とっても小さく、メモリ数も多くないため複雑なことはできませんが、様々な機能を持っています。 入出力端子もバナナクリップで挟めるようになっているのではんだ付けしたりせずに簡単に接続できます。

  • 地磁気センサー
  • 3次元加速度センサー
  • Bluetooth Smart Technology アンテナ
  • 入出力端子(19)
  • 温度センサー など

試しにやってみた

基礎

気温の表示

まず基本としてはここにアクセスし、オンライン上でコードを書くことが可能です。
scratchみたいなもので、ブロック単位でコードを書くことができます。
f:id:sasamihoo:20171206010812p:plain 試しに気温の出力をやってみました!
下のダウンロードボタンを押し、ローカルにファイルをおとします。 .dexファイルがDownloadsフォルダに入ると思うのでドラッグ&ドロップでmicro:bitプロジェクトにファイルを移します。 micro:bitが点滅し、書き込みが始まります。点滅が終われば書き込み終了です。

Aのボタンを押してみると。。!

気温が表示されていますね!部屋の温度は24℃でした

f:id:sasamihoo:20171206010721j:plain

発展

何かもっとライブラリを使用してやりたい!普通にコード書きたい!という場合に2つの方法をご紹介します。

Arduino IDE

iBeacon

主にこちらの記事を参考にさせていただきました。
https://ht-deko.com/arduino/microbit.html#10 Arduino IDEを使ってもmicro:bitに書き込むことが可能になります。
今回はこのライブラリを使用し、micro:bitをiBeacon化してみました!
https://github.com/sandeepmistry/arduino-BLEPeripheral/blob/master/examples/iBeacon/iBeacon.ino

②外部からのイベントの検知

ライブラリを使い書き込むことは可能ですが、前述のBluetoothモジュールを動かすだけでほぼメモリを食い尽くしてしまいます。
なのでmicro:bit側では複雑な処理はせずに、micro:bitのイベントを監視し、ボタンを検知したり、外部からLEDに出力させたりするだけにし、処理は別のところでやるほうが良さそうです。

Node.jsでイベントの検知

よく使われているライブラリとしてnode-bbc-microbitがあります。
使い方はまずmicro:bit側に用意されているdexファイルを書き込み、micro:bitの検知を可能にします。その後ライブラリを使用し、外部からmicro:bitに接続・操作する事が可能になります。
サンプルファイルがたくさんあるのでいろいろ試してみることができます! 私はled-text.jsを動かしてみました!
f:id:sasamihoo:20171206010834p:plain

さいごに

micro:bitを触ってみた所感としては、小さいながらもかなりいろんなことができるなーと思いました。
まだまだ触ったばかりなので、何か作って見たときにはまた記事にしたいなと思います!
ご覧いただきありがとうございました!