ミニスーファミ買えなかったせいで色々買ってしまった pic.twitter.com/Iwq71Vn8wX
— 太鼓@MT-03 (@taiko19xx) 2017年9月16日
色々あって、前々から気になっていたmicro:bitを買ってきました。
ついでに、Pi3もセールで安くなってた(element14版)ので一緒に。
併せて、sparkfunのブレークアウト基板(ピン実装済み)もマルツで買いました。
色は黄色。
で、micro:bitが何かというと...
- 25個のLEDと2つのボタンがある
- 加速度センサと磁力センサとBLE付き
- ブラウザで簡単に開発できる
- よくあるブロックっぽいのを組み合わせるやつに加えて、JavaScriptとPythonに対応
- mbed(らしい)
という感じです。(詳しくはWikipedia)
これで2000円前後というのはかなりお手軽ですし、半田付けとか追加パーツを買わなくても色々試せるのは良いですね。
どんな風に動作するのかと言うと、例えば
makecode.microbit.orgこんな感じでプログラムを組むと
micro:bit打ち上げ花火 pic.twitter.com/UNwCqxJFFR
— 太鼓@MT-03 (@taiko19xx) 2017年9月18日
こうなる訳です。
プログラムの転送も、コンパイル済みのhexファイルを「MICROBIT」のドライブにドラッグするなり何なりで転送するだけなので楽です。
(多分)転送する過程でフラッシュに書き込んでいるので、ドライブ自体には何も残りません。
更に、一緒に買ったようなブレークアウト基板を使えばブレッドボードに差し込むなどして、色々制御する事ができます。
sparkfunの場合はピンがこうなります。I2C/SPIが付いてるのでかなり幅広くできそうですね。
ピン0/1/2を使って、ボタンを押すとLEDが光るというのを実装するとこんな感じになります。
makecode.microbit.orgそれぞれに1か0渡してるだけなんでこんなもんです。
ちなみに、LCxのピンをGPIOとして使う場合は、最初にmicro:bit側のLCDをオフにする事が推奨されているのでそうしています。(使ってないけど)
micro:bitでLチカしてる様子 pic.twitter.com/colG2ZPGzO
— 太鼓@MT-03 (@taiko19xx) 2017年9月18日
動作の様子がこんな感じです。
両方押すと真ん中が光るという仕組みなのですが、片方だけ押した場合の判定が走るけどご愛敬。
というわけでちょっと触ってみました。
エディタ見てると色んなブロックが容易されているので、コード書かなくても十分遊べそうです。
とはいえ、複雑になると見栄えがよくないので、ある程度の量になったらコードに移行した方が良い気がします。勉強になるかもしれませんし。
ブロックとコード(JavaScript)の相互変換が可能なので、お引っ越ししたり戻したりも簡単にできます。
まだ触れてない機能も色々あるので、時間を見つけて触ってようと思います。
mbed互換という事はArduino化もできる(というかできた)ので、この辺も追々試してみたいですね。
ちなみに、Pi3がこんなおしゃれな感じで包まれててびっくりしました。