koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

NeoPixel でプラモデルをライトアップする~Lチカ編~

前々から、プラモデルを完全制御したフルカラーLEDで照らしたいと思っていた。

実際、何年か前にフルカラーLEDとフルカラーLEDドライバICとArduinoを使って作り出したことがある。 その時には、はんだ付け時にLEDを焼いたり、ドライバICの使い方が腐っていてLEDを焼いたりした上に、コードを置いていたHDDが消し飛んでしまったので放置になってしまった。

最近、とても面白くて便利なフルカラーLEDモジュールを知ったので、これを機に目的を達成したいと思う。

www.switch-science.com

どうせならIoT的な感じを最終形としたい。 が、まずはLチカから。

www.youtube.com

とりあえずこんな感じで光った。

元々光らせたかったのは悟空じゃない(そもそもこれは最近のプラモだし)けれど、スーパーサイヤ人エフェクトできたら面白そうだなぁ。と思って試してみた。 とりあえずイマイチだった。

色々工夫のしどころはありそう。

LEDテープ以外の部材

お手軽にIoTデバイスを作るにはESP8266がよい。 Arduino互換でプログラムもかけてとても良い。 しかも安い。

電源はUSBバッテリーが取り回しがいいのでMicroUSBから取りたい。

ESP8266は3.3V駆動なので、USBから電源をとる場合は降圧しないといけない。 しっかりとした降圧回路はかけないので、出来合いモジュールを使いたい。 ついでに、LEDへの5Vの入力も取れるとなおよい。 さらに、開発時のマイコンへの書き込みなんかもできると最高だ。

というわけで、ESP8266の開発ボードを使うことにした。 コストメリットは大分消えるけれど、失敗のリスクが減ってよい。

www.switch-science.com

自分はぬるいので開発用のピン実装済のものを使う。

www.switch-science.com

あとは、LEDへの電源共有を安定させるためのコンデンサ(どのくらいの容量がいいのか分からん)と、 LEDへのデータ信号にかませる抵抗(470オームがいいようだ)を調達すれば最低限は揃う。

ブレッドボードといくらかのジャンパ線も用意しておこう。

コンデンサの容量

densi_6 先駆者の記事を見ると、サンプルスケッチに1000μFのコンデンサを入れろと書いてあるようだ。

これだ。

Adafruit_NeoPixel/strandtest.ino at master · adafruit/Adafruit_NeoPixel · GitHub

// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel.  Avoid connecting
// on a live circuit...if you must, connect GND first.

Amazonコンデンサを買えるという事実に驚愕した。

サンプルコードでLチカ

Arduino IDE に ESP8266 向けのボードを追加して、 NeoPixel 向けのライブラリを追加して先のサンプルコードをコピペしたらLチカした。

f:id:koudenpa:20160821232607p:plain

www.youtube.com

ハード

お粗末なはんだ付け。

f:id:koudenpa:20160821235410p:plain

  • 5VとGNDにコンデンサを挟む
    • 1000 uF がいいらしい
  • DINに抵抗を付ける
    • 300 ~ 500 Ω がいいらしい
  • 5VとVOUTをつなぐ
    • USBバッテリーをつなげば大体5Vが出る
  • DINと適当なGPIOをつなぐ
    • 今回は0番(IO0)

ソフト

コードはこちらのリポジトリを育てていく予定。

github.com

参考

回路図というか実装の鳥瞰図がわかりやすい。

www.instructables.com

次やりたいこと

とりあえずLチカしたので最小限の満足は得られた。

とはいえ、もともとやりたかったことを達成するにはもう少し頑張らなくてはならない。

プラモ飾りの台座の一種にターンテーブルというものがある。 これの周りにぐるっとフルカラーLEDを回して斜め下から照らしたい。

Gツール DS001 Mr.ターンテーブルL

Gツール DS001 Mr.ターンテーブルL

あとは、地道にいい感じに照らせるような光らせ方を調整したい。