「NeoPixel」カテゴリーアーカイブ

LEDパネルでドット絵表示

ツイッターで見かけたLEDパネルを作ってみる!

zerotaro さんの作品と、PikaPikaらいとさんの作品をみて、類似品を作ってみることにした!

https://twitter.com/KPmilk3/status/1469949365339176960

LEDパネルをどうするか

手元にNeoPixelのテープLEDがあるので、zerotaroさん方式でやってみようと思って検討してみたのだけれど、手持ちのテープLEDは1mに144LEDのものと1mに60LEDのものだった。

なるべく密度高めで作りたかったので1mに144LEDのほうを使おうとしたところ、LEDの間隔(約7mm)に対してテープの幅(12mm)が太すぎて、テープをぴっちり並べても正方形ドットを表現できないことに気が付いた。

もともとテープ折り返しの部分のはんだ付け面倒そうだなぁと思っていたのも相まって、ありものの16x16LEDパネルを使うPikaPikaらいとさん方式に切り替えた。

LEDパネルが売ってない?!

PikaPikaらいとさんの購入先を見に行くと、8×8と8×32のパネルはあるけれど、16×16は売っていない様子。

AliExpressを見に行くと、16×16が3枚セットで3400円ぐらいだったので、とりえあず注文。到着が3/30予定になっていたけど、3/16までに完成させたかったので、国内で売ってないか探してみたところ、秋月通商で1枚3800円で売ってるのを発見😢。送料+500円で合計4300円で1枚購入。AliExpress分と合わせて計算すると1枚1900円ぐらいに薄まるはず。

マイコンはSeeeduino XIAOに決めた

以前調べた小さいマイコンたちのうち、Seeed XIAO BLEがバッテリーチャージャー付なので魅力的なんだけど、まだ日本で販売されていないぽい。(IMUなしのほうを1つだけ買ったけど、技適あり版が欲しい!)

ということで、Seeeduino XIAOを使うことにした。(あらためて表を見返してみたらSeeed XIAO RP2040を試してみてもよかった。せっかく買ったのにこちらも使ってない……)

ソフトは適当に作った

画像をコードに置き換えるのが面倒だったので、こちらのサイトを使わせてもらった。Web系?を想定されているのか、頭に0xではなくて#がつくので、#を0xに置換。int型配列にRGBの3バイト分をいれてるのでちょっと無駄があるけど、気にしない!実行時に1バイトずつシフトしてRGB取り出している。あと、電流たくさんになるのが怖いので明るさ4分の1にしている。コードぐちゃぐちゃだけど、あとでgithubに追加するつもり。

2022/3/19追記
登録した!
https://github.com/yusukeyusuke/pixelart-led-panel

画像の色とLEDの色は全然違う

いつも思うけど、画面上で見てる色と、LEDで表現した色は全然違うように見える。画面上ではかなり暗めに調節したほうがよい気がする。

枠を印刷

LEDパネルをドット絵らしくみせるための秘訣は四角い枠と拡散用の半透明の板。以前、3Dプリントのデータに一時停止の命令を入れておいて、その間にフィラメントの色を変えるという技を覚えたんだけど、今回は白と黒の同素材のフィラメントがないのでこの技は使えず。(もしかすると、途中で温度も変えるように設定しておけばいけなくはないのかも)

枠のSTLデータも後ほどgithubに登録するつもり。

2022/3/19追記
登録した!
https://github.com/yusukeyusuke/pixelart-led-panel

黒い枠はPCで、白い薄い拡散板はPLAで印刷した。

枠に拡散版を重ねる(この枠はお試し印刷の白枠)
上半分が黒枠、下半分が白枠。黒のほうがドットの輪郭がはっきりする

XIAOをケースにいれて完成!

最後に

今回はLEDパネルを使ったけど、zerotaroさん方式で任意の形状を表現できるのもやってみたい!!

八耐参加

会場は前回と同じ渋谷のmixiさん

カフェスペース的なところで8時間すごします。

カウントダウンタイマーを作る

少し前から大きいサイズの7セグLEDを使ったカウントダウンタイマーを作ろうとしている。7セグLEDはthingiverseのデータを使って外枠プリントして、NeoPixelをいい感じにはめ込んだもの。

3Dプリントした外枠
セグメントごとにNeoPixelを2個ずつ配置する
NeoPixelの固定はダクトテープでやっつけ。

これを4つとコロンは作ったので、あとはソフトのほうをつくればよい。まずはマイコンを何にするかと電源どうするかを決めねば。

マイコンはPro MicroかPro Miniにしよう。電源はモバイルバッテリ。操作は昨日秋葉原で買ってきたプッシュスイッチを使う。直径24mmのねじ式のやつ。サイズ的には数字一文字分のボックスに3個横並びで配置できそう。

操作は、赤ボタンでタイマーのスタートストップ、青と緑でカウンタ数値(minute)のUp/Downでいいかな。秒の桁はカウンタUp/Downすると0にリセット。秒単位の設定はできない。

7セグは福岡にある

先週、帰福したときに福岡に置いてきたので今日は7セグ実物はなしでマイコンのソフトだけつくる。まったくなにもなしだと寂しいのでテープLEDだけ持ってきた。

それっぽいのができた。1秒ごとにLEDが一つずつ赤色に変わっていって、全部赤になったら虹色ピカピカ。本当は音も鳴らしたいけど、スピーカーやブザーを持ってき忘れたので今日はここまで。

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を使いこなしたいの記事のほうに書いていく。