FUJIMOCK FES 2018: 揺らぎで癒す間接照明

Created Date: 2019-01-20/ updated date: 2019-03-29
Owner & Collaborators
License
Summary
揺らぎで癒す間接照明『1/f キューブ』
照明の輝度と色調、デザインに1/f揺らぎを与えて、人々に癒やしを感じてもらう。
輝度x色調xデザインという1/fゆらぎ3乗(=キューブ)ということで箱型。
光は『木漏れ日』をイメージして、輝度と色調にゆらぎを与えている。
また、外面の板は灯が透過するほど薄くし、電源をONにした時のみデザインが浮かび上がるようにしたい。

Materials

    Tools

      Blueprints

        Making

        • 富士山セッション参加にあたり、ノーアイディアは流石にまずいと思い、色々考えてみる。
          獣害対策デバイス、ラズパイケースなどなど。
          前にdmm.makeのワークショップで作ったUSB行灯を作ったが、あれをもっと発展させたい。
          何か制御を加えて間接照明にしたいと思い、『揺らぎで癒やす間接照明』を創ることにする。
          デザインを色々考えてみるがセンスが無いので困る・・・
          加工の容易さから箱型にする方針にする。
          • 皆で力を合わせ、手鋸とロープで間伐!
            初日の夜、スタッフさんに作りたいものを説明し、採りたい材について相談する。
            詳細まで詰めることは出来なかったが、取り敢えず2cm厚の板材と6cm厚の板材を製材して頂く。
            車で来たので取り敢えず持ち帰ることにする。
            • これから創りたいモノをスケッチにおこす。
              箱型の間接照明として、1/f揺らぎなどの周期で灯を強弱させたい。
              箱の小さな模様はCNCで裏から彫り、照明をONにした時だけ浮かび上がるようにする。
              と、考えていたが、その後のカウンセリングにて下記をご指摘頂きました。
              ①箱型から『癒やし』を感じさせるのは難しい
              ②箱型など無機質な形状で『瞬き』させると、接触不良と勘違いされ『癒やし』を感じ難い
              確かに・・・そうかも。
              一旦、デザインを白紙にし、ゼロから考え直すことにする。
              帰りの電車の中で『癒やし』について想ってみる。
              浮かんだのは、『森の中で揺れる木漏れ日』。
            • 次に1/fゆらぎについてもよく分かっていなかったので調査する。
              ネットで調べてみると、比較的簡易な揺らぎアルゴリズムとして『間欠カオス法』というのがあった。

              間欠カオス法
              0.0<x<1.0として
              x<0.5のとき、x=x+2*x^2
              その他のとき、x=x-2*(1-x)^2

              実装コストの面よりこちらをLED(明るさ、光色)とデザインの揺らぎアルゴリズムとして適用することにした。
              周期が短い、定義し難い事象にも使えるのも良い。
              • 外形のデザインばかりに気を取られていたが、光源と制御周りもそろそろ検討しなくては・・・
                色調も変更することを考えるとフルカラーLEDの選択は必然っ。
                制御は当初、LEDのRGBそれぞれをMOSFETに接続し、PWMでコントロールしようかと考えていたが、調べてみると、NeoPixelという規格のLEDデバイスがあり、Arduinoなどのマイコンボードでライブラリを使って簡単に輝度や色調がコントール出来るとのこと。
                某通販サイトを調べて8x8=64個のLEDを搭載した大きなモジュールもあったことから、迷わずこれに決めました。
                • 前日に滑り込みでNeoPixelモジュールが届き、一応半田付けまで済ましておき、Fablab Kamakuraまで持っていく。
                  当日はお世話になる木工所の今西さんが来られており、まず製材について相談させて頂く。
                  自分の作品で製材のポイントとなるのは、事前カウンセリングの結果、光が透過する板を貼り付ける点。
                  今西さんのお話だとある程度薄くした後、アクリル板に貼り付けると更に薄く出来るとのこと。
                  細かい点は後ほど今西さんとやり取りして決めることにした。
                  • 今西さんとの相談の後、NeoPixelを取り敢えず光らせる作業に取り掛かる。
                    周りの皆さんからアドバイスを受けつつ、作業を進めると取り敢えず光る!
                    その後、取り敢えず輝度に間欠カオスアルゴリズムを適用させると、輝度が強くなった際に色調が変わる。何故だろう?周りでは加齢の影響で輝度により色が変わって見える?などの意見があったが、原因は電流不足。LEDの給電をArduinoからではなく、電池からの給電に変えたところ輝度が変わっても色調が変わらなくなった。良かった!
                    この後、急峻な輝度変化を緩やかにするため、輝度をインクリメントやデクリメントで徐々に変化する制御を加えたところ、一部上手くいかない・・・
                    • 2/17時点ではNeoPixelの輝度制御を以下のようにしていた。
                      ①間欠カオスで次の値を算出
                      ②元の値との差を算出
                      ③その差分値をforループ回数として、インクリメントorデクリメントする。
                      これにより緩やかに輝度調整出来ると考えていたが、
                      デクリメント(輝度を下げる)方はLEDにも反映されていたが、
                      インクリメント(輝度を上げる)方は何故か反映されない。
                      当日は原因を突き止めることが出来なかった。

                      もう少し試行錯誤してわからなかったら、FUJIMOCKFESのFBページで聞いてみよう・・・
                    • NeoPixelのArduinoライブラリのページを見つけた。
                      https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use

                      輝度を調整するライブラリを確認すると、元々一度の輝度を調整する前提で作られているらしい。随時、輝度を調整したい場合はsetPixel()を一緒に設定するようなことが書いてあるが、そんなファンクションは無い。。。
                      取り敢えず、全てのファンクションを宣言するようにしたら、徐々に輝度を上げることもできるようになった。
                  • LEDの制御も気になるが、今西さんと製材についてのご相談を進めなければ。。。
                    そんなことを考えているうちに、今西さんより材について写真が届いた。
                    巾20cmの材は無いようだ。
                    現実12cm位のキューブになりそうだが、小さい?
                    イメージがわかないので、自宅にあるレーザー加工機でダンボールの12cm立法の箱を作ってみる。
                    意外と大きいので、これで十分!
                    今西さんにサイズの連絡をすることにする。
                    • 今西さんより薄くした板とアクリル板が到着!
                      早速、加工材料貼り付けようとしたが、アクリル板と接着した状態でレーザー加工機でカットできるか不安だったので実験してみる。
                      加工速度をゆっくりさせれば、何とかカットは出来るようだ。
                      • カットできることを確認できたので、早速接着する。
                        あまり考えないで、多用途接着剤を塗り接着したところ、気泡が入りムラとなってしまった・・・
                        二枚目は接着材を多めに塗り、気泡も外に可能な限り出そうとしたが、完全に出すことは出来なかった。
                        照明をつけた時に目立たないと良いが・・・
                        • 材料が揃ったので本格的にデザインを検討する。
                          箱型にすることは決定していたが、それぞれの面のデザインを検討。
                          それぞれ1/fゆらぎをテーマとしたデザインにする。
                          ベースのデザイン(波形や格子など)ついてはカオス間欠のアルゴリズムを使って、プロセッシングにて描画している。
                          前面:1/fゆらぎの波をベースとした富嶽三十六景のデフォルメ
                          側面:幅に揺らぎを与えた長方形の並び。
                          上部:縦と横の幅に揺らぎを与えた格子。
                          背面:径と位置に揺らぎを与えた円の並び。木漏れ日をイメージ
                          • デザインが決まったので、レーザー加工を実施。
                            アクリル板+木板と透かしとなる板も無事カット出来た。

                            早速、アクリル板側と透かし側を組み合わせて、中からLEDを照らしてみる・・・
                            光っているのは分かるのだが、絵が分からない・・・
                            どうしよう・・・
                            • LEDのゆらぎ制御についての方針を検討する
                              今回再現したいのは、木漏れ日なのである程度制限をかけた形にしたい。
                              下記のURLにカラーチャートがあったので、そこからRGBの変化範囲を決める。

                              https://www.scollabo.com/banban/lectur/websafe.html

                              Rは常にMAX値(255)
                              Gは51〜255
                              Bは0〜255 ※但し、Gよりは低い値にする

                              上記の範囲で輝度と色調を揺らぐようにコーディングする。
                              ある程度はうまく変化するようになったが、たまに意図せずピンクに近くなるときが見られた。
                              原因は不明。
                            • 目標とする最低限の機能や筐体設計は完了!

                              只、いろいろ隘路事項が目立つ。
                              ・透過させる板の検討不足
                              ・木目にデザインが負けてしまう
                               →木の間にアクリルが入るので、光が分散されうまくデザイン通りの影にならない・・・?
                              ・細かいデザインは分かりづらい
                              ・LEDを64個も使っているためか消費電力が大きい
                              ・たまに意図しない色になる・・・etc

                              今後、改良を加えるならば下記をトライしたい。
                              ・マトリックス配列LEDを使っているので部分的にON/OFFし有機的なアニメーションを
                              ・時間や周辺の明るさに応じて自動的にON/OFF
                              ・スマホからON/OFF
                              ・デザイン通りに檜板を光透過させる方法の立案

                              以上です。

                              Add Card Order

                              References

                                Usages

                                  Project comments