チラシの裏の落書き

意識はあまり高くないです

micro:bitを買ったので遊んだ

f:id:taiko19xx:20170918175344j:plain

色々あって、前々から気になっていたmicro:bitを買ってきました。
ついでに、Pi3もセールで安くなってた(element14版)ので一緒に。

f:id:taiko19xx:20170918175413j:plain

併せて、sparkfunのブレークアウト基板(ピン実装済み)マルツで買いました。

f:id:taiko19xx:20170918175422j:plain

色は黄色。

で、micro:bitが何かというと...

  • 25個のLEDと2つのボタンがある
  • 加速度センサと磁力センサとBLE付き
  • ブラウザで簡単に開発できる
    • よくあるブロックっぽいのを組み合わせるやつに加えて、JavaScriptPythonに対応
  • mbed(らしい)

という感じです。(詳しくはWikipedia)
これで2000円前後というのはかなりお手軽ですし、半田付けとか追加パーツを買わなくても色々試せるのは良いですね。

どんな風に動作するのかと言うと、例えば

makecode.microbit.org

こんな感じでプログラムを組むと

こうなる訳です。

プログラムの転送も、コンパイル済みのhexファイルを「MICROBIT」のドライブにドラッグするなり何なりで転送するだけなので楽です。

f:id:taiko19xx:20170918180135p:plain

(多分)転送する過程でフラッシュに書き込んでいるので、ドライブ自体には何も残りません。

更に、一緒に買ったようなブレークアウト基板を使えばブレッドボードに差し込むなどして、色々制御する事ができます。
sparkfunの場合はピンがこうなります。I2C/SPIが付いてるのでかなり幅広くできそうですね。

ピン0/1/2を使って、ボタンを押すとLEDが光るというのを実装するとこんな感じになります。

makecode.microbit.org

それぞれに1か0渡してるだけなんでこんなもんです。
ちなみに、LCxのピンをGPIOとして使う場合は、最初にmicro:bit側のLCDをオフにする事が推奨されているのでそうしています。(使ってないけど)

動作の様子がこんな感じです。
両方押すと真ん中が光るという仕組みなのですが、片方だけ押した場合の判定が走るけどご愛敬。


というわけでちょっと触ってみました。
エディタ見てると色んなブロックが容易されているので、コード書かなくても十分遊べそうです。
とはいえ、複雑になると見栄えがよくないので、ある程度の量になったらコードに移行した方が良い気がします。勉強になるかもしれませんし。
ブロックとコード(JavaScript)の相互変換が可能なので、お引っ越ししたり戻したりも簡単にできます。

まだ触れてない機能も色々あるので、時間を見つけて触ってようと思います。
mbed互換という事はArduino化もできる(というかできた)ので、この辺も追々試してみたいですね。

f:id:taiko19xx:20170918175457j:plain

ちなみに、Pi3がこんなおしゃれな感じで包まれててびっくりしました。