mbedで作る光りものBuilding christmas tree with mbed
この記事はmbed Advent Calender 2014 の14日めのエントリーです。
mbedと3Dプリンターでクリスマスツリーを作りました。
1. はじめに
mbed Advent Calenderなのでクリスマスネタです。
なるべく手を抜くお手軽に作ることが今回のテーマです。アリモノを最大限に活用しました。
2. 電子回路の構成
2012年にルネサスナイト向けに作ったクリスマスツリー用ライトは、FLIS/UNOeとGR-SAKURAを使いました。フルカラーLED+Tiny10を12個使ってノードの色を自由に設定することができるものでしたが、ノードを組み立てるのに、それなりに手間がかかりました。
現在はマイコン内蔵のフルカラーLEDが安価に手に入るようになったので、採用することにしました。
WS2812は秋月で2個80円と安価です。なぜか10個のパックを買うと500円になり、単価が上がる価格設定になっています。2個パックを5個買いましょう。
mbedは拙作のLAMdaccha赤基板を使いました。ポートを1つしか使っていないので、mbedなら何でもオーケーだと思います。LPC1114単体が最も安価です。
回路図は省略します。WS2812はデイジーチェーンして下さい。
3. WS2812ライブラリ
既にあるライブラリを利用します。mbedのライブラリは2種類公開されているようですが、neopixel libraryを使いました。
まずはお手軽にブレッドボードで動作の確認を行いました。
ミスしてLED側のVccを繋がずに動かそうとしたところ、最初のLEDが飛びました。チップを交換して動作オーケーになりました。WS2812は取り扱いには注意が必要なようです。
4. 外観
これだけだと、単にフルカラーLEDのLチカなので、外見だけでもクリスマスっぽくすることが必要です。
100円ショップでクリスマスグッズを購入して仕込むのが最も簡単です。また、2012年には鉢植えのクリスマスツリー(エリカ)にデコレーションしました。
今回は3Dプリンタでオーナメントを作ってみました。
thingiverseにはこの手の物がたくさんころがっています。玉石混合なのですが、検索した中で手軽に作れそうなLED Christmas treeをベースに改造しました。
もとがボタン電池直結のLEDを差し込む様な設計なのですが、複数のLEDが入るように大きめに作成しました。
片面に2個WS2812を付けた基板を作成しました。
また、Arduio ファームファクタのLAMdacchaにあわせて、シールド基板(アダプタ)を作成しています。
この上に、3Dプリンタで作成したツリーをかぶせます。
5. 制御プログラム
ライブラリには例題がついているので、そのままでも良いのですが、色の変化をプログラムできるようにシーケンサに相当するプログラムを作成しました。
プログラムは、こちらで公開しています。
・pattern[]に入れた色を順番にブレンドしながら表示します。
・4個のLEDで違う色を表示して演出しようとしましたが、あまり綺麗でないため、全部同じ色を出すようにしています。
・Arduino互換用のマクロ定義をしたヘッダファイフをincludeしていますが、Arduinoポート名の定義だけなので、直指定でもオーケーです。
mbed Advent Calender 2014、明日はban4jpさんの順番です。お楽しみに。
(了)