立方体万華鏡 CUMOS をガラスミラーで作ってみた
初めに
立方体万華鏡 CUMOSに関してはまずこちらの記事を参照ください。
pikapikalight.hatenadiary.com
この記事では100円ショップのアクリルミラーを6枚使用して作成していますが、ちょっとした問題があります。それは、
・100円ショップでこのアクリルミラーを6枚も置いてないことが多い。
・6枚同時に買い占める事の若干の罪悪感と気恥ずかしさ。
・裏側に貼ってあるマグネットテープを剥がすのが何気に面倒(傷つけないよう注意してやらないといけない
これらの問題から、何か他にいい素材はないかと街を練り歩いていたところ、見つけました。
材料
CAINZのウォールミラー スクエアー4枚入り 398円
www.cainz.com
サイズ 縦150×横150×厚み2mm
6面必要なので、これを最低2個は購入する必要あります。この際、3個買って3×4=12枚で2台分確保することをお勧めします。
値段も1枚あたり100円だし、4枚セットなので3個くらい買っても罪悪感なしです。在庫も豊富と思われます。
ガラスを切る
立方体万華鏡はのぞき穴が必要です。アクリルミラーの場合は角をカッターでカットしましたが、このミラーはガラスなので簡単にはいきません。ガラスをカットするという難易度の高い工作が必要です。
ガラスを切るために必須の工具がその名もガラスカッターです。普通にホームセンターで売ってます。もちろんCAINZでも。
一番安いの買いました。1000円弱くらい。 いいやつはオイル式らしいのですが、これは単なるカッターです。
このカッターでガラスに線傷をつけてガラスを割ります。怖いので新聞紙に厳重にくるんで割りました。ドキドキです。
2枚はなんとかうまく割れましたが、3枚目で失敗しました。
説明書きをよく読むと、傷をつけるのは一回だけで、何回もこすってはいけませんと書いてあります。これを完全に見落としていて念入りに何回も傷つけていたら、、、割れました。説明書はちゃんと読まないとだめです。
説明書に従って1回だけ傷をつけます。非常に薄い傷です。こんなので割れるのかと疑心暗鬼で新聞にくるんで割ってみると、ちゃんと割れました。
ガラスカッターの使い方については検索すれば情報豊富にありますのでご確認することをお勧めします^^;
割ったところはのぞき穴になるのでテープを貼って厳重に防御します。
模様を作る
アクリルミラーでやったのと同じようにガラスミラーでも裏側にカッターで線傷をつけることで模様を刻むことができます。 この傷にマジック等で色を付ければ通常のCUMOS完成です。
LEDでピカピカさせる
前回作成時は箱に直接LEDテープを貼りつけました。 この方法はLEDテープをカットしてワイヤーをはんだ付けするという面倒な作業が必要です。 今回は半田付けを極力しない方法を考えてみました。
方法その1
段ボールで3面を作って、そこにLEDテープをらせん状に貼りつけてみました。
ダンボールをハサミで切ってガムテープで貼りつけるという、工作の原点。忘れていた何かを思い出す。 pic.twitter.com/bwZp6x2O5x
— PikaPikaらいと (@KPmilk3) 2021年5月20日
15cmサイズの立方体万華鏡CUMOS
— PikaPikaらいと (@KPmilk3) 2021年5月16日
をピカピカさせてみた。
FastLED の DemoReel100使用 https://t.co/XWCjWBcRxX pic.twitter.com/soBBDPdggl
方法その2
LEDマトリクスボードを購入しました。8x8のやつを3枚。それを段ボールに貼りつけます。 そこに箱の乗っけることでピカピカシステム完成です。 pikapikalight.hatenadiary.com
無限四角#立方体万華鏡 #CUMOS pic.twitter.com/Y4yiKiZDFV
— PikaPikaらいと (@KPmilk3) 2021年5月22日
立方体万華鏡の模様を3D CADを使ってデザインして、実際に作ってみた。多分オリジナルだと思う🤗
— PikaPikaらいと (@KPmilk3) 2021年5月22日
LED点灯のエフェクトを考え中。アートセンスとプログラム技術が鍛えられる。#立方体万華鏡 #CUMOS pic.twitter.com/fIuBTIn4vD
立方体万華鏡の中にダイソーのLEDオブジェクトを置いてみたら無限感が凄かった😲#立方体万華鏡 #CUMOS pic.twitter.com/m03jndhKEx
— PikaPikaらいと (@KPmilk3) 2021年5月24日
立方体万華鏡の中でキャンドルを灯してみた。
— PikaPikaらいと (@KPmilk3) 2021年5月29日
鏡がどんどん曇っていく😵やって初めて分かる事があるのでチャレンジは大事#立方体万華鏡 #CUMOS pic.twitter.com/yxg7Hs0iVQ
さわれる いのちの輝きくんを無限空間に置いてみました。
— PikaPikaらいと (@KPmilk3) 2021年6月3日
さわれないので強制タッチ改造してます。#M5GFX #M5Stack #CUMOS https://t.co/wO6fw2nj9v pic.twitter.com/GyipyADRbM
LEDテープで光るフラワーを作ってみた
初めに
GeekMomProjectsさんのとても素敵な作品を見つけました。
Hooray, the assembly is finished! Right now it's running an Adafruit CircuitPython led_animations example (on a RPi Pico2040) Just need to customize the code a bit, and then it will be done. Note to self: start earlier next year! pic.twitter.com/Ej2bm0TBG6
— Geek Mom Projects (@GeekMomProjects) 2021年5月9日
LEDテープにこんな使い方があったのかと感動しました。
作り方をYouTubeで解説したものも載せてくれています。アクリルをレーザーカッターで加工して作っているようです。
レーザーカッターはいずれ挑戦してみたい工具ですが、まずは手作りで再現してみました。
材料
LEDテープとマイコン以外は100円ショップで入手できるものを使います。
今回全てダイソーで買えるものを使用しました。
・すっきり書類収納ファイル(A4)
・PPシート乳白色 両面光沢タイプ
・EVAクラフトボード A3サイズ 厚さ5㎜
・両面テープ
LEDテープは毎度おなじみWS2812BのテープでLEDの間隔が広いものを使用します。 マイコンはM5AtomLite。電源は100円ショップの電池式USB充電器を使用しました。
作成工程
まずLEDテープを箱の大きさに合わせて形を作り、必要分だけテープをカットします。今回は16個のLEDを使いました。
セロテープを使ってLEDテープを貼り合わせ形を整えます。
葉っぱや花びらはクラフトボードをカットして作りました。このクラフトボードはスポンジのような柔らかい素材で曲げることが可能で、厚さ5㎜あるので遮光性も十分でした。
これを直接、書類ファイルに貼りつけていってもいいのですが、今回はPPシートに貼っていくことにしました。ファイルだけでは光の拡散が足りないかなと思ったことと、うまくいったら別のカッコいい額縁に入れなおすこともできるなと思いまして。
PPシートをファイルのサイズにカットし、それにクラフトボードを両面テープを使って貼りつけていきます。
やっていく中で問題が発生。全部のLEDを活かしたかったのに、花の付け根のところのLEDがスペース的に葉っぱをつけられない。諦めてそこのLEDは使わないことにしました。ソフト的にそこのLED点けないことは可能ですが、念のため黒テープで巻いてLED完全に隠しました。
プログラム
M5Atomを使ったのでFastLEDライブラリを使って点灯パターンをプログラムしました。まずは単純に花の部分のみ虹色に変化するパターンにしました。
コードは雑に作ったので載せるのはやめておきます。もし、リクエストあればキレイにして載せたいと思います。
完成
パパっと作った割にはそれっぽく出来ました。光量もまぁまぁで明るいところにおいても見えました。
書類ファイルに収めたのでカバンで持ち運びすることも簡単です。
動画
100円ショップの素材を使って@GeekMomProjects さんの作品を真似してみました。
— PikaPikaらいと (@KPmilk3) 2021年6月6日
実際に手を動かして作る事で色々な気付きが得られました。
次はオリジナリティを出したい。 https://t.co/qwgXviIPQH pic.twitter.com/T4UIWAD24O
感想
GeekMomProjectsさんの作品をなんのひねりもなく真似して作ってみました。
真似とはいえ、材料は簡単に手に入るものを使って、なるべく簡単に作るためにはどうしたらいいかを考えての工作です。
「こんなのこうすればできる」と頭だけで考えることと、実際に手を動かして作ってみることは全然違います。
頭の中では両面テープを5mm幅にカットすることも一瞬で何の乱れなくできますが、実際に5mm幅にカットしてみるとその難しさと面倒くささに気付きます。こういった経験の積み重ねが想像力を鍛えていくのだと、改めて思った、いい工作でした。
立方体万華鏡を3D CADでデザインしてみた
はじめに
立方体万華鏡の説明と作り方はこちらの過去記事を参照ください。 pikapikalight.hatenadiary.com
違う模様のものを作りたいと思ったのですが、模様は鏡の裏面を削ることで作るので簡単に試すことができません。 そこで3D CADを使って簡単にシミュレーションすることを考えました。
3D CAD
今回使用したのはRSのDesignSpark Mechanicalです。 www.rs-online.com 3D CADに詳しいわけではないですが、このCADは自分が使ってるごく普通のノートPCでも軽々動いて、オペレーションも直感的なので愛用しています。
ポイント
DesignSpark Mechanicalの基本的な操作方法はクイックガイドに従って練習すれば簡単に習得できると思います。
立方体万華鏡をデザインするにあたってのポイントのみ解説します。
正方形の面に図柄を書く
面をコピーして3面合わせる
3Dモードにすると書いた図柄は一つの面(Surface)になります。これをコピーして実際の配置に合わせます。
3つの面を1つのコンポーネントにする
3つの面を選択して右クリック→新規コンポーネントに移動 とすると1つのコンポーネントとして扱うことができます。 こうすることで簡単にコピーできるようになります。
コンポーネントをコピーして1ブロックを作成する
コピーして移動して回転してを繰り返してこのような図形を作成します。
コンポーネント8個をコンポーネントにしてさらにコピー
複数のコンポーネントをさらに1つのコンポーネントにすることができます。
これをコピーして移動してを繰り返してこのようにします。
これをCAD上でグリングリンすることで実際の万華鏡をシミュレーションすることができます。
新しいデザインを考える
CADを使うことでデザインをシミュレーションできるようになりました。
誰もやっていなそうなデザインを考えて実際に作ってみました。
無限四角#立方体万華鏡 #CUMOS pic.twitter.com/Y4yiKiZDFV
— PikaPikaらいと (@KPmilk3) 2021年5月22日
【プチ100均分解】ダイソーの光る忍者刀を分解してみた
初めに
分解のススメをつい最近知って、バックナンバー動画を見ているのですが、これがとても面白い。
特にThousanDIYさんの「100円ショップのガジェットを分解してみる」が好きです。
note.com
今回、100均のおもちゃを改造するために分解してみたのですが、単純なものなのに色々面白かったので記事にしてみました。
ダイソーの光る忍者刀
200円(税別)
スイッチ入れると赤と緑に刀身が光る(LED4個)
刀を振ると音が鳴る。「ポキーン」、「プイーン」の2種類。
(自分の感覚で文字化するとこんな音)
これを改造して得意のLEDテープを仕込んで色変わりの刀に改造しようと購入しました。
#見た人もなにか無言でLチカあげる pic.twitter.com/fpzLfrhKmS
— PikaPikaらいと (@KPmilk3) 2021年1月27日
それはそれでこのようにできたのですが、この時はLEDテープを仕込むことだけ考えて、音が出る機能を完全に無視して、早々にスピーカーを外してしまいました。
これの2本目の改造品を作るにあたり、音が出る機能を活かしたいと思ったのですが、改めていじってみるとこれがなかなかに不思議な仕組みで、軽く振っただけでは音はならず、ある程度の衝撃を与えないと音がでないという、えっ?これどうやってんだろ?な代物だったのです。
本体の分解
ネジはこの6点です。刀のつばを上にずらすと隠された2つのネジがあります
あけるとこうなってます。
振動センサ
まず一番の謎だった振動センサを調べました。
これが正体でした。筒の中にもう一つの筒があってこれが接触することで導通するというメカニカルなセンサでした。
これが、軽く振っても反応せず、強い衝撃時のみ反応する仕組みだったのです。
自分的に初めてこのようなセンサを見て、軽く感動しました。これだけで200円の価値はあると思いました。
LED
LEDはこのような針金に直接はんだ付けされているという大胆な構造でした。 ただよくよく見ると、針金がわざと段差をつけて切断されています。アノード側は長く、カソード側は短くなるように切断されていました。こうすることでワイヤーをはんだ付けするときにどちらに付けるか判別できるようになっているのだと思います。ちょっとした生産技術なのでしょうが、こうした技術に触れることは新鮮で、分解の楽しさを感じました。
回路図
せっかくなので回路図にしてみました。
電源ラインにはちゃんとポリスイッチ(多分)入ってます。LEDの針金配線の危険性を加味した設計でしょうか。
振動センサにパラで入っている0.1uFはチャタリング対策でしょうか。
単純な回路ですが、面白いです。「分解とは設計者との対話である」という言葉を実感します。
次回予告
分解して回路が分かったので、音が出る仕組みを活かしてこんなの作ってみました。 次回はこれの作り方を解説したいと思います。
自作 #色変わりの刀 #日輪刀
— PikaPikaらいと (@KPmilk3) 2021年3月5日
光る忍者刀のセンサーの仕組みが分かったので音と同時に赫刀化させてみた
↓音声付 pic.twitter.com/8XAtViMXww
Adafruit_NeoPixelとFastLEDライブラリのサンプルを撮ってみた<LEDテープ編>
WS2812B LEDテープを愛用している私。
ArduinoだとAdafruit_NeoPixelとFastLEDライブラリが基本と思います。
LEDテープの点灯パターンの参考になりそうなサンプルスケッチを片っ端から動作させてみて動画記録してみました。
環境
WS2812B 32個
Seeeduino XIAO
Adafruit_NeoPixel Ver.1.8.0
FastLED Ver.3.4.0
LEDを撮影するのは難しく、なるべく色変化がわかりやすいように透明プラ板を横に置いて反射させてみました。
BRIGHTNESSの設定は20くらいに下げています。
目次
Adafruit_NeoPixel
FastLED
Adafruit_NeoPixel
Adafruit_NeoPixelとFastLEDライブラリのサンプルスケッチの動作動画をあげていこうと思います。まずは
— PikaPikaらいと (@KPmilk3) 2021年5月15日
Adafruit_NeoPixelのRGBWstrandtest pic.twitter.com/Hr07JM3UyM
Adafruit_NeoPixelのstrandtest pic.twitter.com/As3loF4ity
— PikaPikaらいと (@KPmilk3) 2021年5月15日
Adafruit_NeoPixelのstrandtest_wheel pic.twitter.com/eB5xbVqgXK
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED
FastLEDのColorPalette pic.twitter.com/F8pq71gmSg
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLEDのColorTemperature pic.twitter.com/jTS12UKLv5
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLEDのCylon pic.twitter.com/185w4Kqj1S
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED の DemoReel100 pic.twitter.com/2bTOtSDuBR
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED の Fire2012 pic.twitter.com/PXLZkVE2na
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED の Pacifica pic.twitter.com/hkZ04UOp2a
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED の Pride2015 pic.twitter.com/Wdk86Efbfz
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED の RGBSetDemo pic.twitter.com/pozKWeZaYr
— PikaPikaらいと (@KPmilk3) 2021年5月15日
FastLED の TwinkleFox pic.twitter.com/L31Bg8dUVN
— PikaPikaらいと (@KPmilk3) 2021年5月15日
【作品まとめ】M5Stackでかめはめ波
ホログラム で面白いことできないかなと思っていた時にこれを見ました。 www.youtube.com
こんな凄いことは簡単にはできないけど、M5Stackを使ってそれっぽいことはできるんじゃないかと思って作った作品。
M5Stackでホログラム その6
— PikaPikaらいと (@KPmilk3) 2021年3月7日
すごい動画みて、かめはめ波に挑戦したくなった。
あらゆるレベルの低さを痛感しつつも、最初の一歩として記録。ここからマイコンならではのエフェクトを考えてみようhttps://t.co/nyve34I9Jo @YouTubeより#M5Stack #ホログラム #LovyanGFX pic.twitter.com/SZaAH00HsO
M5Stackでホログラム その7
— PikaPikaらいと (@KPmilk3) 2021年3月10日
かめはめ波のあのシーンに挑戦。
マイコンの基本技、Lチカを活用。
日本語表示、さらに鏡に写すため反転表示という難題もLovyanGFXの力でなんなくクリア。
もう少し時間かけて作品に仕上げたい。#M5Stack #ホログラム #LovyanGFX pic.twitter.com/S1gsviEZFV
M5Stackでかめはめ波
— PikaPikaらいと (@KPmilk3) 2021年3月28日
影絵バージョン#M5Stack #かめはめ波 #影絵 pic.twitter.com/iQCbFjO9oU
LEDテープでメビウスの輪を作った
1メートルのRGB LEDテープを点灯させて遊んでいたら、ふと思いついた。
「これでメビウスの輪を作ったら面白そう。」
作ってみました。
ふと思いついてLEDテープでメビウスの輪を作ってみた。
— PikaPikaらいと (@KPmilk3) 2021年5月10日
WS2812B 144個をM5Atomで制御するのはFastLEDライブラリじゃないと無理でした😓 pic.twitter.com/In177S3MhV
材料
WS2812B LEDテープ
Arduinoマイコンボード M5Atom Lite www.switch-science.com M5Atom Lite との接続にはGroveケーブルを使用しました。
LEDテープをメビウスの輪の形にする
まず最初にLEDテープについているごっついコネクタケーブルを外して、M5Atomに簡単に接続できるGroveケーブルに付けなおします。
まっすぐ半田付けすると切れやすいので、あえて逆方向につけて折り返すという小技を使っています。
メビウスの輪にするなら裏表にLEDが配置されるようにしないと意味ないので、テープを半分の長さで折り曲げます。最初は単純に折り曲げてしまおうと思ったのですが、このLEDテープはちょうど半分のところではんだ付けされていました。
72個分のLEDがのっている基板を2枚つないで作られています。冷静に考えると、こんな長い基板どうやって作ってどうやって部品実装しているのだろう??
ハンダをいったん外して裏表にしてはんだ付けしなおします。基板の裏側にもランドがあるので、簡単でした。
両面テープで貼りつけましたが、シリコンチューブだと粘着が弱いので、ところどころセロテープでぐるぐる巻いてみました。
これをひとひねりしてメビウスの輪になるように端と端をつなぎます。セロテープだけでつなぐのは無理だったので、プラバンを補強板にしてセロテープで巻きました。
点灯プログラム
メビウスの輪なのでLED1灯がエンドレスでぐるぐる回るような動きをさせたい。単色では味気ないので、レインボウカラーに変化しながら。
これをM5AtomLiteでプログラムするわけですが、、、
前から気付いていました、M5Stack(ESP32)でAdafruit_NeoPixelライブラリは完璧には動かない事を。
LEDの数が少ない場合はまぁまぁ動きますが、LEDの数が多いと誤動作が目立ちます。
これまでLEDの数が多い場合は別のマイコン(XIAOとか)を使うなどしてしのいでいましたが、この機に向き合うことにしました。
ネット情報からESP32ではFastLEDライブラリを使うといいらしい。
https://github.com/FastLED/FastLED
とりあえずこのライブラリをインストールし、スケッチ例を適当に開いて、ピン番号とLED数だけ変えてM5Atomで動かしてみると、ちゃんとそれらしい動きでLEDが点灯しました
スケッチ例のCylonを動かすとレインボウに変化する点灯動作をしたので、色の変化はこれをマネすれば行けそうです。
あとは1灯を順番に点灯させていくだけですが、メビウスの輪になっているので単純に0~143をつければいいわけではありません。
図に書いて見るとこんな感じになります。
この変則的な並びをいったん配列に入れておいて、loop()はなるべくシンプルになるようにしてみました。
#include <FastLED.h> #define NUM_LEDS 144 #define DATA_PIN 26 #define DELAYVAL 20 #define BRIGHTNESS 200 CRGB leds[NUM_LEDS]; uint16_t array_conv[NUM_LEDS] ; void setup() { LEDS.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS); LEDS.setBrightness(BRIGHTNESS); uint16_t j = 0; for (int i = 0; i < NUM_LEDS / 2; i++) { array_conv[j] = i; j++; } for (int i = NUM_LEDS - 1 ; i > NUM_LEDS / 2 - 1; i--) { array_conv[j] = i; j++; } } void loop() { static uint8_t hue = 0; for (int i = 0; i < NUM_LEDS; i++) { FastLED.clear(); leds[array_conv[i]] = CHSV(hue++, 255, 255); FastLED.show(); delay(DELAYVAL); } }
虹色を作っているのは CHSV(hue++, 255, 255)
これでどうやってレインボウカラーの変化になるのか理解してません ^^;
FastLEDに関してはこれからじっくり触っていきたいと思います。