Neo Pixelを使いこなしたい LEDピカピカ編

その1はこちら
配線編はこちら

LEDぴっかぴか

ぱっと思いつくのは、単色点灯しっぱなし、単色明暗変化、虹色変化、ランダムぽく点滅あたり。

当初の構想

発光のパターンを表現するようなDSLみたいなのをつくって、好きなパターンをそれで表現してみたいと考えていた。パターンを確認するためにp5jsでピクセルをリング状に立体配置して、パターンを確認するための簡単なシミュレータちっくなのもつくってみたりしていた。

↑はリングごとに色が変わるパターンと、全リング同じ角度で円の色が変わっていくパターン。p5jsで試したコードをMicro:bitに実装したら実物LEDも同じ感じでピカピカしていた。

VJ系のソフトが気になった

一個一個のパターンをコーディングしていくのはなんか今一ついけてないなと思ってたところ、つくるけぇの大下さんの投稿でTouchDesignerというVJに使われるソフトの存在を知る。

このソフトで生成した画像をLED発光に使えたらかっこよさそう!ということで、唯一?のTouchDesigner日本語書籍をKindleで買って使い方の勉強を開始。


ノードのつなぎ方など、基本操作から応用編まで、この本のおかげでとりあえず触ってみるとこまでいけた。感謝。

あとは「映像音響処理概論 2018」のページ。第十四回のPythonのとこを見てPCに接続したMicro:bitにシリアルでLED色の情報を順次送るところまで到達したけど、どうにも速度が出ない。LED138個で秒間1回更新みたいな速度で、FPSあげると通信が詰まってしまうような現象になったので、Micro:bit使用をあきらめてm5stackさんに乗り換え。

DMX/artnetとかいうプロトコルが使えるようなので、少し調べてみるとクリスマスが近いせいか、まるで僕のために書いてくれてるの?と思えるmgo-tecさんの記事を発見。記事内で紹介されているJinx!というソフトがかなり素晴らしかったのでTouchDesignerもあきらめるか?となりかけたけど、プロジェクションマッピングにも興味あるのでJinx!は使わずTDで頑張ることに。

最初はmgo-tecさん作のコードを使ってたのだけど、LED138個だと、データ受信ごとに色反映するとなんかおかしくなる?ようなので、Arduino用のartnetライブラリについてたサンプルコードのほうに乗り換え。こちらは全LED分のデータ受信してから1回発光更新しているようす。

勢いでnano Kontrol2とnano pad2を購入。かなりあっさりTDへの入力として使えるようになった。線アリは不便なので無線のやつにしたほうがよかったかも。。

画像の各ピクセルをDMX用データに並び変えてつなげるところがちょっと苦戦したけどなんとかできたのが展示日の朝3時。なんでかわらかんけど結局シリアルの時と変わらないぐらい更新頻度は遅くなってしまった・・・。完全に詰まってしまわないのだけが救いだったけど。

ということで、すこし不満足な出来だったけど初TDでの作品づくり体験ができて満足。LEDだと解像度的には激低だったので、つぎはプロジェクターで映像うつすのもトライしてみたい。

Neo Pixelを使いこなしたい 配線編

その1はこちら

配線編

時間かけすぎると記事書く元気なくなりそうなので、ささっと書く。

今回作るのは6つのアクリルリングを吊り下げて、リングの内径のところにテープLEDを張り付けたクリスマスツリー風のオブジェ。一番上のリングはLEDなしにしたので、まずは大きさの違う5つのLEDリングを配線するところから検討開始。

テープLEDはこれを買った。(10年以上前につくったアソシエイトアカウント。超久しぶりに見たらまだ500円到達してなかった)

5メートルで300LED、1メートルあたり60個、LED同士の間隔は100(cm)/60(個)で1.66cm。アクリルリングの大きさは外径10cm、15cm、20cm、25cm、30cmで幅2.5㎝なので、内径はそれぞれ外径-5cm。内径の円周から、それぞれのLED個数を計算すると9個、18個、28個、37個、47個。なので、計算上は合計139個になる。(最終出来上がったものは9,18,28,37,46の138個だった。ほぼ計算通り)

スイッチサイエンスのページでみると1LED当たりの最大消費電力は18mA。18*139は2.5A。なるべく細い電線のほうが取り回ししやすいけど、LEDの数が多いのでどれぐらいの太さの電線がいるのか調べてみると、2倍ぐらいのマージンをみるとAWG22という太さぐらいで4.7Aまで。ただ、AWG22ってかなり太いので、もう少し細い線を使えるように電源の線を分けてみることにした。

5つのリングのLED個数は、あまりきれいにグループ分けできなかったけど、とりあえず9+18+28=55個、37個、47個の3つにグループ分け。これで最大でも18*55=0.99で、1Aを超えないのでAWG26でよさそう。

Fritzingでそれっぽく書いてみたけどLED数合わせられなかった。信号線は全部直線上につながっていて、電源の5VとGNDは3つに分割。5VとGNDを5V2AのACアダプタに接続。信号線とGNDをマイコンに接続という構成。

電源もかなりごっついのがいるかと思ってスイッチング電源とか調べたり、複数ACアダプタ使う方法とかを考えてたけど、実際に点灯させて測ってみたら、全部を白色でMAX発光させるような使い方をしてないせいか、138個を光らせても1Aいかなさそうだったので、やや大きめのACアダプタ1つでいくことにした。

テープLEDをリング状に形成しつつ、次の段につなげられるように配線を上下方向に出すというのもかなり大変で、テープ端にはんだ付けした線同士が接触しないように3Dプリンタでケーブルガイド的なのを作ってみたりした。下の画像の左端の穴が6つ開いてるパーツがそれ。線を誘導する穴の角度がいまいちで、ちょっと使い勝手が悪かった。

下の画像で水色になってるのが、LEDの発光源中心とアクリル(5mm)厚みの中心を合わせるためのガイドパーツ。こっちはまあまあうまくできた。もうちょっと大きく作って、このパーツだけでアクリルリングに両面テープ止めできるようにしたり、アクリルを挟み込んで固定できるようにすればもっとよかったかな。

一番下にうつってるコの字型パーツはテグスを使ってアクリルを吊り下げるときのフックのつもりだったけど、あまりうまくいかなかったのでプリントしたもののボツにした。配線編はとりあえずこれぐらいかな。続きはLEDピカピカ編に書く。

つくると in 織りなすラボ に出展した

出展は「つつうらら」と「トンガリズム」の2つ

つつうららのほうは個人的活動のつつうららで作った作品を出展。トンガリズムのほうは会社の人達と一緒にグループ出展。

つつうらら

今回は3Dプリント作品とフェルト手芸作品の展示。3DプリントのほうはHappyPhoneHolderHappyFaceMask。フェルト手芸は、つつうららのマスコットキャラクターどん太君の人形とクッション。

左側に映ってる黄色いハッピーフォンホルダーは展示中に机から落下してバラバラになってしまったけど、内部の様子が見えるからちょうどいいやと思って接着しなおさずにそのまま展示してたら、パズル的に組み合わせて遊ぶ子供が続出してたので、あえて未完成なのも楽しめる要素があっていいなと思った。

3Dプリントしたものを見慣れてない来場者も多かったようなので、廉価なプリンタでもこれぐらいできますよというのを紹介できてよかった。あと、こんな大きな作品って感じのものだけではなくて、カーテンレールのフックのような日用品も(100均で十分なんだけど)家でさっと印刷するのに使えて便利ですよアピールもできた。

ハッピーフェイスマスクはプロジェクションできる状態にセットすると、プロジェクターの充電口がふさがってしまうことに展示設営中に気づいたけど時すでに遅し。電池切れになるたびに取り外して充電してたので、プロジェクションありの完全な状態での展示はかなり短時間しかできなかった。これは大失敗。会場はかなり明るかったけど写真に写ってるぐらいの感じで肉眼でも見えてたのはマル。

どん太君人形は左手のところに鳴き笛を仕込んでもらって、押すとキューキューなる仕様。今回は小さい子供の来場者が多かったのでキューキュー鳴らすとめっちゃ興味持ってもらえてよかった。クッションのほうは鳴き笛なしだったけど、音が鳴るのを期待して押してくれるキッズが多かった。

トンガリズム

こちらはつくると!5で展示してたベルトさんアナライザーに加えて、アクリルのリングとLEDテープで作ったキラキラクリスマスツリーに、アクリルやMDFをレーザーカッターで切り抜いて作ったオーナメントに絵をかいてもらって飾るというものを展示。

アクリルリングをツリー状にぶら下げる方法をいろいろと考えて、テグスをクリップで引っ掛けたり、3Dプリントした柱で吊り下げたり、シンプルにテグスを巻き付けた摩擦だけでいけないかと試したりしたけど、結局リングごとにテグスを結び付けて6リングx4本=24本のテグスを個別に長さ調節するという一番力技でしんどい方法に落ち着いてしまった。当日朝から吊り下げ準備してくださったトンガリズムメンバーに感謝。

展示が始まってからは、想像していた以上に子供たちのお絵かきの勢いがすごくて、昼過ぎには用意していたオーナメントが全部なくなって、ツリーのほうも飾る場所がなくなってしまった。ほとんど書いてもらえないかもと思っていたのでかなり驚き。

LEDツリーの作成についてはNeo Pixelを使いこなしたいの記事のほうに書いていく。