Mbedとmicro:bitでクリスマスツリーの装飾をしてみた
これは、Mbed Advent Calendar 2017の25日目の記事です。
オフィスの受付には毎年クリスマスツリーが設置されるのですが、これにMbedとmicro:bitを組み込んで少しだけ派手に装飾をしてみました。
用意するモノ
- 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 側のプログラムは、以下のような感じです。特に連携して動いているわけではありません。
動作例
こんな感じで動きました。micro:bitのLEDは、人が近づいたときに少しだけ派手に光ります。
以上です。メリークリスマス!
Please log in to post comments.