Mbedとmicro:bitでクリスマスツリーの装飾をしてみた

これは、Mbed Advent Calendar 2017の25日目の記事です。

オフィスの受付には毎年クリスマスツリーが設置されるのですが、これにMbedとmicro:bitを組み込んで少しだけ派手に装飾をしてみました。

/media/uploads/MACRUM/img_1733.jpg

用意するモノ

  • Mbed NXP LPC1768
  • Jksoft Blue mbed Board
  • NeoPixelRGB Ring WS2812B 時計回り 120mm
  • micro:bit
  • Grove Inventor Kit for micro:bit
  • GROVE - PIRモーションセンサ

接続

NeoPixelは、JBBのJ7端子に接続しています(オンボードのNeoPixelは点灯しないようにしています)。MbedのUSBポートでは電流容量が足りないので、ACアダプタからJBBのDC5V端子に電源供給しています。

micro:bit側は、Grove Shield for micro:bitのコネクタにGrove - WS2812 Waterproof LED StripとPIRモーションセンサを接続します。こちらも、micro:bitボード上からの電源給電では電流が制限されるようなので、Grove ShieldのUSBポートから電源給電しています。PIRモーションセンサはP0に、 WS2812 Waterproof LED StripはP1に接続しています。

一点ハマったのが、PIRセンサーから入力レベルです。他のターゲットマイコンでテストした時には問題無く動くのですが、micro:bitだと何故か反応せず・・・。オシロで調べてみると、3.3V電源の場合に出力が2.0V程度しか出ていないため、micro:bit側でHighレベルとして認識されていなかったようです。とりあえず、15kΩのプルアップ抵抗を入れて無理矢理動かしました。 今思えば、アナログ入力として判定処理しても良かったかも知れません。

プログラム

コードは、こちらにパブリッシュしました。インポートして使ってください(去年と同じですすみません)。

Import programXmas-tree-2016

Xmas tree serial LED blinking example code

micro:bit 側のプログラムは、以下のような感じです。特に連携して動いているわけではありません。

/media/uploads/MACRUM/microbit_prog.png

動作例

こんな感じで動きました。micro:bitのLEDは、人が近づいたときに少しだけ派手に光ります。

以上です。メリークリスマス!


Please log in to post comments.