PikaPikaLight

主に光モノ工作の忘備録

LEDテープで色変わりの刀を作った

100円ショップのおもちゃの刀を改造して、色変わりの刀を作ってみました。
電源入れるごとにランダムで色が変わる機能と振ると音が鳴って赫刀化するエフェクトを実装。

注意事項

・改造は自己責任でお願いします。
・乾電池の+-ショートさせたら燃える恐れあり。
・使わないときは電池を抜いておいたほうがいいと思います。
・子供は加減が分からないことを肝に命じておきましょう。(全力で振りまわす可能性を想定するべし)

初めに

じつは私の初めてのツイートがこの色変わりの刀の動画です。

もともとLEDテープをプログラムで光らせるのが好きで、そのスキルを活かして子供のためにこの色変わりの刀を作ってみたのでした。
電源を入れるたびにランダムで青、赤、黄、緑、紫、白のどれかに光ります。○○の呼吸の剣士の気分を味わえます。
f:id:PikaPikaLight:20210820202451p:plain 子供ウケもよかったのですが、すぐに飽きられてしまい、せっかく作った名刀は部屋の片隅に置かれたままになっていました。
自分的にはかなりの力作だったのでこのまま朽ち果てさせるには惜しいと思い、意を決してTwitterアカウントを作り、#見た人もなにか無言でLチカあげる のハッシュタグにのせて世に出してみたのでした。


それからというのも作品をアウトプットする楽しさに目覚め、今でははてなブログで技術記事を書くようにまでなりました。 そして、満を持してこの刀に関する分解記事を5月末に書きました。 pikapikalight.hatenadiary.com その最後に、「次回はこれの作り方を解説したいと思います。」と書いておきながら今まで忘れてました。
万一、期待していた方がいたらすいません。これの作り方を解説します。

材料

このおもちゃ刀は振動で音が鳴るというハイテク製品ですが、その振動スイッチの信号をマイコンに結線し、割り込みトリガーとすることで音と同時に赤色に変化させ赫刀化するというエフェクトを組み込んでいます。

電源を入れるごとにランダムで色が変わる仕組みはrandomSeedをADC値にすることで実現しています。
randomSeed(analogRead(analogPin));
analogPin(今回0番ピン使用)はオープン状態だとADC値ほとんどゼロなので、ここに意味のないワイヤーをつけてノイズを拾わせることでランダムな変化を加えることが出来ました。

固定方法

たいしたことではないですが、XIAOの固定は100円ショップで購入した練りゴムを使ってます。ポスターとかを画びょう使わないで固定するためのやつです。接着剤と違って何度でも取り外しできるので工作でよく使ってます。ワイヤーがゴチャゴチャになるのも練りゴムで簡単にまとめられます。 f:id:PikaPikaLight:20210820211058j:plain

終わりに

ピカピカ工作の原点とも言うべき作品をようやく記事にしてみました。ただ、最初に注意事項を挙げているようにそれなりに注意をしなければいけない工作なのでくれぐれも油断なきよう。

その他動画

激安3Dプリンタ Kingroon KP3S トラブル対応編

はじめに

2万円の3Dプリンタ Kingroon KP3S を購入して約1か月経ちました。
かなりの安定度でプリントできていますが、いくつかのトラブルはありましたのでどう対処したか含めてメモしておきます。

対処法に関しては、もっといいやり方などありましたら教えていただけると嬉しいです。

購入時の記事はこちら
激安3Dプリンタ Kingroon KP3Sを購入した(前編) - PikaPikaLight
激安3Dプリンタ Kingroon KP3Sを購入した(後編) - PikaPikaLight

コンセントが3Pプラグ

f:id:PikaPikaLight:20210816200126p:plain コンセントは3Pプラグです。普通の家でこれが挿せるのは冷蔵庫か洗濯機かエアコン用のコンセントしかないでしょう。最初、エアコン用のコンセントに無理やり挿すという対処をしていましたが、素直に変換プラグを購入しました。マルツで300円くらいでした。 f:id:PikaPikaLight:20210816201609p:plain アースを浮かしてますが水回りでもないので多分大丈夫でしょう。問題なく動いてます。

プラットフォームシートの端がめくれた

3Dプリントの失敗の多くはプリントの途中で印刷物がプレートから外れてしまったり反ってしまったりするのが原因だと思います。
昔、仕事で使っていた安い3Dプリンタではプレートに幅広のマスキングテープを貼ってそこにスティック糊を塗りたくって印刷物を食い付かせるというやり方でした。この方法だと下面にマスキングテープが糊でべったりついてしまい、それを剥がすのが大変でした。
そこに登場したのが3M社の3Dプリンタ用プラットフォームシート3099ABでした。こいつの効果は絶大で、食い付きがいいのにキレイにはがすことが出来て、何回もそのまま繰り返し使えるという、最高アイテムでした。自分の中では必需品であったので、3Dプリンタと同時購入して、最初っからプレートに貼っていました。
それで快適にプリントできていたのですが、大物をプリントしたときにシートの端がめくれてしまって、印刷物が歪むトラブルが起きました。 f:id:PikaPikaLight:20210816202653p:plain ここでようやく気付いたのですが、KP3Sのプレートには初めからマグネット式のビルドプレートが付いていたのでした。何も考えずこの上にシートを貼ってしまっていました。

マグネット式のビルドプレートは1枚2300円くらいでした。3099ABは3枚で同じくらいの値段なので3099ABのほうが安いです。純正のマグネットシートは温存しておくことにして、3099ABを直接プレートに貼りなおしました。そして四隅が剥がれないようにカプトンテープで補強しておきました。その後は快適にプリントできてます。(貼り直しのため気泡だらけですが、特に問題ないです) f:id:PikaPikaLight:20210817194913p:plain

もじゃった

1か月で1回だけもじゃりました。 f:id:PikaPikaLight:20210817201602j:plain
プリント途中で全体がプレートから剥がれてしまってのもじゃりです。原因は明らかでレベリング(プレートとノズル間の隙間調整)が甘かったです。最初のプリント状態を見ていて、なんか浮いてるなぁーとは思っていたのですが、3099ABの力を過信してそのままにしたのが失敗でした。
それからはレベリングは頻繁にするようにして、プリント時は1層目の状態は必ず確認するようにしています。

フィラメントの取り外しに失敗して抜けなくなる

これまでで最大のトラブルがこれです。フィラメントを抜くことも挿しこむこともできなくなる、まさしく抜き差しならない状態です。この1か月で3回発生しました。
KP3Sにはいちおう日本語(明らかに機械翻訳)の取扱説明書が付属していますが、フィラメントの挿入方法、取り外し方法は書かれていません。
ネット情報では予熱してから手動で突っ込む、手動で引き抜くといったワイルドな方法しか見つけられませんでした。
挿入に関しては余熱して手動で突っ込む方式で問題なく出来てますが、引き抜くほうは手動では難しいです。引き抜くスピード、タイミング、途中のもたもた次第でフィラメントが変形してしまって、にっちもさっちもいかなくなる事態に陥ります。こうなったら、エクストルーダー部を分解しないとどうにもなりません。

エクストルーダー部を分解

分解するには六角ネジをまわす必要があります。付属品に六角スパナがついているのでそれで回すことは可能ですが作業性は悪いです。六角ドライバーがあると便利です。私はたまたまTwitterでこの六角ドライバーを見かけて、M5Stackのネジも回せることから購入しました。

最初にこのケーブルを抜いておきます。この手のコネクタケーブルはワイヤー部分だけをつまんで外そうとすると勘合部分を破損する恐れがあるので、コネクタ部分をもって外すのが無難です。 f:id:PikaPikaLight:20210817205642p:plain

まずこの2か所のビスを外します。
f:id:PikaPikaLight:20210817204822p:plain

ビスを外すと明らかに3Dプリンタで作成されたパーツが外れます。ノズルに風を送るためのパーツみたいですが、3Dプリント丸出しのパーツが製品で使われていることに驚きました。3Dプリントにしては縦横の空間形状が複雑で、どうやって作ったのか思いをはせつつ次に進みます。

右の1個、左の2個のビスを外すと大型ファン部分が外れます。
f:id:PikaPikaLight:20210817212435p:plain  

ノズルについている小型のファンを外します。 f:id:PikaPikaLight:20210817212451p:plain

ここを外します。場所によってビスの長さが違うので戻すときに注意必要です。 f:id:PikaPikaLight:20210817212529p:plain

ノズル部分を手前に引いて外します。うまく外せばバネによるフィラメント押さえのパーツはそのまま外さずにおけますが、気を抜くといっしょに外れてしまいます。バネなので飛び散る場合がありますので、バネ部分を抑えながら外すといいと思います。(自分は思いっきり飛び散って探すのに苦労しました) f:id:PikaPikaLight:20210817213411p:plain

ノズル部分はネジになっていて回すと外れます。小型ファンを固定しているプラパーツは外せますので外したほうが簡単に作業できます。 f:id:PikaPikaLight:20210817213838p:plain

ノズルを外すと引っかかっていたフィラメントがどうなっていたのかが明らかになりました。変形してふくらみができています。これが引っかかってにっちもさっちもいかなくなっていたのでした。 f:id:PikaPikaLight:20210817214141p:plain

フィラメントを抜く方法

手で引っこ抜くのはおそらく熟練の技術が必要な技です。
どうやって抜くのが正解かいまだ試行錯誤している状況ですが、現時点での解は、
予熱して、いったんフィラメントを挿入してある程度ノズルからフィラメントを出しておいてから、「移動」メニューの「押し出す」で「高速」にしておいて「取り外し」を連打するというものです。 f:id:PikaPikaLight:20210817215314p:plain
単純に高速取り外ししただけでは失敗するときがあり、いったんフィラメントを押し出してから取り外す手法を編み出しました。今のところ3連続で成功していますが、失敗したらまた次の手を考えます。

追記 2021/9/11
上記方法ですが、現時点で10回以上連続成功で100%の成功率です。

最後に

大小のトラブルはありましたが、結論としてはKingroon KP3S 最高にコストパフォーマンスがいいマシンだと思います。購入1か月ですが、すでに元が取れた感あります。3Dプリンタは生活になくてはならない家電です。

激安3Dプリンタ Kingroon KP3Sを購入した(後編)

前編はこちら
激安3Dプリンタ Kingroon KP3Sを購入した(前編) - PikaPikaLight

初めに

前編で購入までの経緯について説明しました。今回は実際に使ってみた様子をレポートします。
結論から言えばこのように自分で設計したデータを無事プリントすることができました。 f:id:PikaPikaLight:20210724234257p:plain

予習

Amazonでポチったものが届くまでに2日かかる予定なので、その前にネット情報をみて予習することにしました。
まずはこれを薦めていらっしゃる@ReiyaSaltさんのnoteから拝見。
なるほど、どうやら私の購入したのはTitan仕様のKP3S 3.0という色々とバージョンアップされた後のモノのようです。ReiyaさんはTitanエクストルーダー単体を購入して換装するといった大変そう(でも楽しそう)な作業をしてますが、自分のはすでにその状態のが届くということですね。お得感。

もう少し予習。 「Kingroon KP3S」で検索トップに出てくるサイトが凄い情報量です。 KINGROON KP3S情報
Kingroon KP3Sに関しての基本から応用まで丁寧に記事にしてくれています。ざっと目を通して予習終了。こんなサイトがあるなら、安心です。

開封&組み立て

ポチって2日で届きました。思ったよりコンパクトな箱でした。(40.5x38x17.5㎝と箱に書いてありました) f:id:PikaPikaLight:20210724195532j:plain PLAフィラメントの白と黒と3Mの3099ABというプラットフォームシートを同時購入しました。
いままでABS材しか使ったことなくて、初めてのPLA材です。 3099ABは以前使ったことがありその性能に惚れ込んだので最初から買っておくことにしました。

いざ開封。したもののいきなりのピンチ。
コンセントが三ツ口でした。考えれば当然ですが、何の準備もしてません。予習してたはずなのに。
もはやここまでと思いきや、ありました!エアコン用の三ツ口コンセントが。屋根裏的な部屋だったのでコンセントの位置も低く何とか接続することできました。 f:id:PikaPikaLight:20210724201851p:plain

組み立て

組み立ては付属のマニュアル(怪しい日本語バージョン)に従って、支柱をベースに挿して2個のビス締めとZ軸スクリューを固定部品にはめてネジ締めするだけです。特にコメントすることすらない簡単さです。
マニュアルにはネジサイズM5x20と書いてありますが付属品はM5x16だったりしましたが、16でもちゃんと締まりましたので問題なしです。(正しいほうに修正して欲しいとは思います)
プラットフォームシート3099ABは最初から貼ってみました。(後述しますが、貼り方に問題ありでした)

レベリング

マニュアルに従って次はレベリング調整をします。 レベリングとはノズルとプレートの隙間間隔を調整する作業です。これまで扱った3Dプリンタ(7年前の数十万円の製品)でもしたことがあるので、覚悟はできてました。
タッチパネルの「レベリング」ボタンで開始です。ポイント1~5の5がセンターで、1~4は四隅でした。 まずは5(センター)がいいかと思います。ボタンを押すと動き出します。精密機械の動きにワクワクします。
調整位置にヘッドがちゃんと移動しました。が、隙間がすごくあいてます。黄色の調整ネジでどうにかなるレベルでないくらいあいています。 f:id:PikaPikaLight:20210724210223p:plain 組み立てを間違えたかと焦りましたが、よくよく動きを見ると、Z軸の高さの基準になっているビスがありました。これを締めれば高さ調整ができそうです。しかしこのビスを締めるにはいったんヘッドを上にあげないと指で回せません。(ニッパとか使えばできそうですが)
仕方ないので「移動」メニューからZ軸を上方向へ移動させてから例のビスを締めてみました。そうするとレベリングでノズルの位置がちゃんと下がりました。いい位置になるまで何回か操作を繰り返しましたが、プレートに近接する位置にすることができました。
そのあとは四隅で調整することになりますが、初期状態は黄色のネジがほとんど締まっていない状態だったので、あらかじめ4つの黄色いネジをある程度締めておいたほうがいいです。締めるとプレートは低くなり、緩めると高くなりますが、レベリング調整ではある程度の隙間がある状態からプレートを高くして調整することになると思うので黄色のネジは締めておくほうがいいと思います。
四隅の調整を2周して完璧になりました。

サンプルデータの印刷

とりあえず何かプリントしてみたいと思い、付属品のSDカード(何の刻印もされていない怪しげなSDカード。16GB)に入っているサンプルデータ(Guardian-extruder.gcode)を付属品のPLAフィラメントでプリントしてみました。 フィラメントの「余熱」メニューから200℃くらいにノズルを温めておき、挿入部のレバーを押しながらフィラメントを差し込みます。 f:id:PikaPikaLight:20210724215612j:plain 白のフィラメントを入れているのになぜか赤色のフィラメントが出てきました。メーカーで動作確認をした時の残りだと思います。 フィラメントも無事挿しこめたのでいよいよプリント開始です。動作音がうるさいという事前情報も見ましたが、自分的にはかなり静かなほうだと思います。同じ部屋で寝ることもできなくはないかな、いやちょっと無理かな位の音です。 f:id:PikaPikaLight:20210724220242p:plain めちゃめちゃキレイにプリントできました。想像以上の出来です。

オリジナルデータの準備

3D CADはDesignSpark Mechanicalを愛用しています。Windowsでしか使えませんが、商用利用も可能なフリーのCADです。こんな図形(145x127x25mm)を設計してSTL形式でエクスポートしました。 f:id:PikaPikaLight:20210724222120p:plain 予習ではソフトはUltimaker Curaという無料ソフトを使う方法が載っていたので専用のソフトはないのかと思っていましたが、付属のSDカードの中にKingroonのソフトがちゃんと入っていました。これでSTLファイルを読み込んでGCODEファイルに変換することできました。 f:id:PikaPikaLight:20210724222536p:plain プロパティをざっと見てみましたが、そのままで行けそうな気がします。サポートもちゃんと生成できるようですが、今回のブツは垂直なのでサポートなしでOKです。サポート性能はまた今度試してみたいです。
GCODEファイルに変換してSDカードに保存します。で、そのSDカードをプリンタに入れてプリントする方式です。PCとUSB接続してプリンタさせることもできるようですが、マニュアルに「ただし、この方法は信号が干渉されやすく、接続がきれてしまうことがありますので、TFカードプリント方法を推奨します」と書いてあるので、素直にSDカードを使うのが無難です。
予習ではSDカードの挿入口の上下に隙間があるのでそこを埋めたほうがいいというM5Stackみたいなアドバイスがあったのですが、自分のは特に隙間ありませんでした。改良されたのかな。 f:id:PikaPikaLight:20210724223423j:plain

フィラメントの交換

最初のプリントではおまけでついてきたフィラメントを使いましたが、今回は黒色のフィラメントを使いたいので、フィラメントの交換作業をします。
外すのは簡単でした。「余熱」メニューで200℃くらいに温めて、挿入口のレバーを押しながらフィラメントを引き抜くと抜けました。
挿入はちょっとてこずりました。「余熱」してから挿入するのですが、うまく吸い込んでいってくれません。焦りましたが、結局余熱が十分でなかったみたいで、しっかり予熱した後だとちゃんと挿入できました。

オリジナルデータのプリント

変換ソフトで完成時間も表示されていて7時間15分でした。寝る前にセットして、起きたら完成しているという憧れのスタイルを実践です。
ワクワクして起きしたら7時間で90%でした。8時間で完成しました。

プラットフォームシートの3099ABがちょっと浮いてしまいました。それでも造形物自体はシートから剥がれていないとこが3099ABの力です。
シートが浮いたところはひずんでしまいましたが、出来はいいです。寸法もしっかりしていて、ターゲットの枠にいい感じではめ込めました。
これを使った作品は鋭意作成中です。 f:id:PikaPikaLight:20210724230030p:plain

プラットフォーム

今回プラットフォームシート3099ABが浮いてしまったのでビルドプレートに関して調べたら、最初からマグネット式のビルドステッカーがついていてその上からシートを貼ってしまってました。これだと過熱が不十分だった可能性があります。

マグネット式のビルドステッカーは食い付きはいいが造形物を剥がすのが大変というコメントを見かけたので、ビルドステッカーは温存することにして、プレートに直接3099ABを貼るようにしたいと思います。当然レベリングをし直さなくてはいけないので、後日。結果はレポートしたいと思います。

フィラメントの保管

フィラメントが湿気に弱いことは身をもって知っています。湿気を吸ったフィラメントはノズルで温めたときに気泡が生じてノズルを詰まらせる原因となります。これに何度泣かされたことか。 ちなみに湿気を吸ったフィラメントをアルミの袋(紫外線防止)に入れて真夏の車の中に2時間ほど放置したら復活した経験があります。

とりあえず大きなタッパに乾燥材を敷き詰めてそこで保管することにしました。

感想

3Dプリンタは一度使うと離せない工具だと思います。設計であれこれ考えているときもCAD上の設計だけでは思いつかないことが、現物として手に取り使ってみることで新たなアイデアが浮かぶことが多々ありました。実際に私はそれで思いついたアイデアをもとに特許をとったりもしています。

とにかく2万円という価格はインパクト大です。これならやってみようという人も多いかと思います。自分レベルでも無事プリントすることできましたし。
この値段なら最悪壊れたら買いなおすという方法も考えられます。壊れた個所以外は部品取りしてスペアにしておけばいいです。
普通のプリンタは結構持っている家が多いと思いますが、3Dプリンタもそうなる可能性を感じました。
今のところ家族に内緒で使ってますが、子供にも使わせてみたいなと思います。

付記

記事を書いてる途中で気づきました。KP3Sって自分のTwitterのIDである @KPmilk3 と似ているではないか。この出会いは運命?(トゥンク)
ちなみに最初は”柿ピーミルク”というアカウント名だったのですが、途中でPiKaPiKaらいとに変えました。
ピーナッツ入り柿の種と牛乳のマリアージュが大好きなので名付けたのですが、早い段階で思い直して変更した次第です^^;

激安3Dプリンタ Kingroon KP3Sを購入した(前編)

初めに

今年からTwitterを始めて、主にLEDテープを使った工作品を発表してきました。 それまでは自分の子供のためのおもちゃ的な工作をぼちぼちやっていただけだったのですが、アウトプットを始めてからというもの次々とアイデアがわいてきて、色々なものを作ってきました。
作り続けているうちに痛切に感じているのが自分の工作技術の低さです。
LEDテープとマイコン(主にM5製品)以外の材料は基本的に100円ショップで購入しています。それをハサミやセロテープといった基本アイテムで工作してきたのですが、いよいよ壁にあたりました。 そこで思ったのが「3Dプリンタが欲しい!」

3Dプリンタ

実は3Dプリンタは仕事で使っています。
10万円以下、数十万円、数百万円というグレードのものをこれまで扱ってきました。全てFDM式のものです。
さすがに数百万円のものは安定性が違いますが、正直数十万円以下のものはそんなに違いがない印象です。ノズルが詰まることも多いですし、プレートから剥がれたり反ったりすることも多かったです。
特に悩みの種だったのがプリント途中での失敗で、これを監視するためにフィラメントロールに加速度センサをつけて途中で止まっていないかモニタするということをしたこともあります。その程度には3Dプリンタを扱ったことがありました。

3Dプリンタ購入の決意

仕事で使うならまだしも個人で3Dプリンタを持つということは考えてませんでしたが、Twitterを始めてからというもの、個人で持っている人がとても多いことが分かりました。フォローしてる人の半分くらい持っている印象です。 そこでこんなツイートをしてみたら、

50超のいいねがあり、このツイートだけでフォロワーさんが5名くらい増えました。改めて3Dプリンタ個人持ち勢のパワーを感じました。 これだけ背中押されたら買うしかないでしょう。

3Dプリンタの選定

5年ほど前に仕事用の3Dプリンタを選んだことがありました。設備にしたくなかったので20万円以下という条件で探したら思いのほか安いのが多くて、10万円くらいのやつを選びました。
安いなりの働きはしたと思いますが、ノズルつまり、ベットへの固着などでそれなりに苦労しました。この経験でFDM式の3Dプリンタに関する知識を得ることができました。
そして今、個人で3Dプリンタを持つことが珍しくなくなったと感じていますが、いろんなメーカーからいろんな機種が出ていて、何を選んだらいいかわからなくなってしまいました。
こういう時に頼りになるのは、からあげ先生のブログです。ただ、さすがに3Dプリンタは持ってないかもと思ったらしっかり持ってました。しかも2台目も。 karaage.hatenadiary.jp やはり2台目は扱いやすさ重視で選定されたようで、キャリブレーションの簡単さを強調されてます。苦しんだことのある私としても全くの同感なので、同じものを買おうかと思いましたが、値段が…なかなかです。家族に内緒で買うつもりなのですが、この値段はバレたら確実に怒られちゃうレベルです。これを許してくれるからあげ先生の奥様ステキです。

さてどうしようかとツイートしたら

おススメを教えていただきました。ありがたや。 adventurer3 全然知らなかったです。(5年前の選定時の知識でとまっている)
サイトを見ると「キャリブレーション不要」という胸をうつワードが。値段も6万円くらいということで、自分が想定していた価格帯です。これにしようかと思ったのですが、「造形サイズ150ミリ角」
あぁー。今まさに作りたいと思っているもののサイズが175mmだったのです。
この条件は外したくはないと思い、次に情報を得たのが、これまたTwitterでフォローさせていただいているReiyaさんです。

KingroonというメーカーのKP3Sをプッシュしておられます。自身もこれを2台も持っているようです。この方、学生なのに3Dプリンタ7台持っているというツワモノです。 Amazonの商品ページを見ると「印刷スペース180x180x180mm」& 「価格:¥19,999」という激安ながら自分の欲しているスペックを満たしています。ちょうどその日がAmazonのポイントアップキャンペーン中ということもあり、即決でポチってしまいました。
後編へ続く。

pikapikalight.hatenadiary.com

跳ねるLEDプログラムを打ち上げる改造してみた

初めに

@KenKenMkIISRさんが開発された「跳ねるLED」が最高にいかしてます。

github.com GitHubArduinoRaspberry Pi Pico用のソースコードを公開されていて、 「本プログラムは公共の場を含め、誰でも自由にご利用いただけます。改変も可能です。ぜひご活用ください。」という太っ腹ぶり。
お言葉に甘えて自由に使わせていただきました。

このプログラムのすごさ

「跳ねるLED」の魅力、それは何といっても跳ねる動きがとても自然なところです。LEDテープとは思えない自然な動きが感動を呼ぶのだと思います。

いったいどんなプログラムでLEDテープでこの動きを実現しているのか。Arduinoのソースを見てみて驚きました。たった110行。コメントとか抜かせば100行以下です。
肝心の跳ねる動作と思われるところはわずか20行ほどで書かれています。一読しただけでは何がどうなってこうなっているのかわかりませんでした。
分からないなりに、小手先でいじれる部分を改造してこんなものを作ってみたりしました。

この時点ではプログラムの肝を理解してませんでした。そんな時、@KenKenMkIISRさんがツイートで この言葉に思わず「跳ねる動きのプログラムはちょっと見ただけでは理解できないものだったので、時間かけて解読したいと思っていました。」と返信したら、 この解説でようやく理解できました。これはまさにエレガントなプログラムです。しびれました。

応用

プログラムを理解してみて、同時に奥深さに気付きました。これは加速度を考慮した速度を位置に変換するプログラムなので、パラメータの設定次第でLEDテープで色々な動きを表現できるものであると。
思いついたのが、初期位置を最下点にして初期速度をマイナス方向の値に設定すれば打ち上げの動きになるはずだと。
オリジナルは初期位置はてっぺん、速度はゼロで自由落下の動きをさせています。

    //LEDブロック初期位置、初期速度設定
    y=0;
    v=0;

これを初期位置yを最下点に、初期速度をマイナス方向にしてちょうどてっぺんでゼロになるような値にすれば、下から打ち上がり、てっぺんで止まって落ちていく動きになるはず。そう思って色々やってみた結果、このようにすることで出来ました。(LED_NUM 144, BLOCK 8 ,GRAVITY 20 の条件下)

void loop() {
  int32_t y; //LEDブロック先頭位置(0が一番上)
  int32_t v; //落下速度
  int32_t h = (int32_t)LED_NUM << 8; //最下点位置
  int i = 0;
  do {
    y = h - 256;
   v = - (1220 - (40*i++));

y = h - 256; は最下点の一つ上を示しています。こうしないとうまく消す動きができなかったのでこうしました。
v = - (1220 - (40*i++)); この一見謎の計算式は、実測から求めました。ちょうどてっぺんで速度ゼロにするにはLEDが積みあがるたびに初期速度も変えなければいけないのですが、どういう計算をしたらいいか思いつかず、実測で確認することにしました。
通常の跳ねるLEDプログラムを実行してみて最下点の速度をprintすることで実測しました。それで判明したのが最初の速度は1220で一段積みあがるごとに40少なくなるという結果でした。これをマイナスにすれば打ち上げの動作が実現できます。
理論を理解していなくても現実を観測することでなんとかできるというエンジニア的問題解決の実例です。    ただしこの式は LED_NUM 144, BLOCK 8 ,GRAVITY 20 の条件下でしか正しく動きません。その場しのぎのプログラムです。

この一連をツイートしたところ@KenKenMkIISRさんから本質の式をアドバイスいただきました。

「まともに計算するのは…」とはこの式を導けなかった私に対しての優しさでしょう。実際にはv0=sqrt(2gy)という計算をさせても動作速度上全く問題なかったです。

結局はオリジナルのプログラムからこの2行を変えるだけで打ち上げの動作に改変することができました。 (LEDピン、LED数等の基本設定は除く)

    //LEDブロック初期位置、初期速度設定
    y = h - 256;
    v = - (sqrt(2 * GRAVITY * y));

結び

加速度、速度、位置をプログラムに落とし込む基本を学ぶことができました。 本当に教科書に載せるべきプログラムと思います。LEDテープを使って工作している人はぜひ扱ってもらいたいプログラムです。

立方体万華鏡 CUMOS をガラスミラーで作ってみた

初めに

立方体万華鏡 CUMOSに関してはまずこちらの記事を参照ください。 pikapikalight.hatenadiary.com この記事では100円ショップのアクリルミラーを6枚使用して作成していますが、ちょっとした問題があります。それは、
・100円ショップでこのアクリルミラーを6枚も置いてないことが多い。
・6枚同時に買い占める事の若干の罪悪感と気恥ずかしさ。
・裏側に貼ってあるマグネットテープを剥がすのが何気に面倒(傷つけないよう注意してやらないといけない

これらの問題から、何か他にいい素材はないかと街を練り歩いていたところ、見つけました。

材料

CAINZのウォールミラー スクエアー4枚入り 398円
www.cainz.com f:id:PikaPikaLight:20210617204009j:plain サイズ 縦150×横150×厚み2mm
6面必要なので、これを最低2個は購入する必要あります。この際、3個買って3×4=12枚で2台分確保することをお勧めします。 値段も1枚あたり100円だし、4枚セットなので3個くらい買っても罪悪感なしです。在庫も豊富と思われます。

ガラスを切る

立方体万華鏡はのぞき穴が必要です。アクリルミラーの場合は角をカッターでカットしましたが、このミラーはガラスなので簡単にはいきません。ガラスをカットするという難易度の高い工作が必要です。
ガラスを切るために必須の工具がその名もガラスカッターです。普通にホームセンターで売ってます。もちろんCAINZでも。
f:id:PikaPikaLight:20210617201920j:plain 一番安いの買いました。1000円弱くらい。 いいやつはオイル式らしいのですが、これは単なるカッターです。
このカッターでガラスに線傷をつけてガラスを割ります。怖いので新聞紙に厳重にくるんで割りました。ドキドキです。 2枚はなんとかうまく割れましたが、3枚目で失敗しました。 f:id:PikaPikaLight:20210617203205j:plain 説明書きをよく読むと、傷をつけるのは一回だけで、何回もこすってはいけませんと書いてあります。これを完全に見落としていて念入りに何回も傷つけていたら、、、割れました。説明書はちゃんと読まないとだめです。
説明書に従って1回だけ傷をつけます。非常に薄い傷です。こんなので割れるのかと疑心暗鬼で新聞にくるんで割ってみると、ちゃんと割れました。

ガラスカッターの使い方については検索すれば情報豊富にありますのでご確認することをお勧めします^^;

割ったところはのぞき穴になるのでテープを貼って厳重に防御します。 f:id:PikaPikaLight:20210617203855j:plain

模様を作る

アクリルミラーでやったのと同じようにガラスミラーでも裏側にカッターで線傷をつけることで模様を刻むことができます。 f:id:PikaPikaLight:20210617205004j:plain この傷にマジック等で色を付ければ通常のCUMOS完成です。

LEDでピカピカさせる

前回作成時は箱に直接LEDテープを貼りつけました。 f:id:PikaPikaLight:20210617205602j:plain この方法はLEDテープをカットしてワイヤーをはんだ付けするという面倒な作業が必要です。 今回は半田付けを極力しない方法を考えてみました。

方法その1

段ボールで3面を作って、そこにLEDテープをらせん状に貼りつけてみました。

方法その2

LEDマトリクスボードを購入しました。8x8のやつを3枚。それを段ボールに貼りつけます。 f:id:PikaPikaLight:20210617211206j:plain そこに箱の乗っけることでピカピカシステム完成です。 f:id:PikaPikaLight:20210617211227j:plain pikapikalight.hatenadiary.com f:id:PikaPikaLight:20210617213747j:plain

LEDテープで光るフラワーを作ってみた

初めに

GeekMomProjectsさんのとても素敵な作品を見つけました。

LEDテープにこんな使い方があったのかと感動しました。
作り方をYouTubeで解説したものも載せてくれています。アクリルをレーザーカッターで加工して作っているようです。 レーザーカッターはいずれ挑戦してみたい工具ですが、まずは手作りで再現してみました。

材料

LEDテープとマイコン以外は100円ショップで入手できるものを使います。 今回全てダイソーで買えるものを使用しました。
・すっきり書類収納ファイル(A4)
・PPシート乳白色 両面光沢タイプ
・EVAクラフトボード A3サイズ 厚さ5㎜
・両面テープ
f:id:PikaPikaLight:20210613165640p:plain

LEDテープは毎度おなじみWS2812BのテープでLEDの間隔が広いものを使用します。 マイコンM5AtomLite。電源は100円ショップの電池式USB充電器を使用しました。

作成工程

まずLEDテープを箱の大きさに合わせて形を作り、必要分だけテープをカットします。今回は16個のLEDを使いました。
セロテープを使ってLEDテープを貼り合わせ形を整えます。 f:id:PikaPikaLight:20210613170530j:plain 葉っぱや花びらはクラフトボードをカットして作りました。このクラフトボードはスポンジのような柔らかい素材で曲げることが可能で、厚さ5㎜あるので遮光性も十分でした。
これを直接、書類ファイルに貼りつけていってもいいのですが、今回はPPシートに貼っていくことにしました。ファイルだけでは光の拡散が足りないかなと思ったことと、うまくいったら別のカッコいい額縁に入れなおすこともできるなと思いまして。
PPシートをファイルのサイズにカットし、それにクラフトボードを両面テープを使って貼りつけていきます。 f:id:PikaPikaLight:20210613171148j:plain やっていく中で問題が発生。全部のLEDを活かしたかったのに、花の付け根のところのLEDがスペース的に葉っぱをつけられない。諦めてそこのLEDは使わないことにしました。ソフト的にそこのLED点けないことは可能ですが、念のため黒テープで巻いてLED完全に隠しました。 f:id:PikaPikaLight:20210613172241j:plain

プログラム

M5Atomを使ったのでFastLEDライブラリを使って点灯パターンをプログラムしました。まずは単純に花の部分のみ虹色に変化するパターンにしました。
コードは雑に作ったので載せるのはやめておきます。もし、リクエストあればキレイにして載せたいと思います。

完成

パパっと作った割にはそれっぽく出来ました。光量もまぁまぁで明るいところにおいても見えました。 f:id:PikaPikaLight:20210613173525p:plain

書類ファイルに収めたのでカバンで持ち運びすることも簡単です。 f:id:PikaPikaLight:20210613174407j:plain

動画

感想

GeekMomProjectsさんの作品をなんのひねりもなく真似して作ってみました。
真似とはいえ、材料は簡単に手に入るものを使って、なるべく簡単に作るためにはどうしたらいいかを考えての工作です。
「こんなのこうすればできる」と頭だけで考えることと、実際に手を動かして作ってみることは全然違います。
頭の中では両面テープを5mm幅にカットすることも一瞬で何の乱れなくできますが、実際に5mm幅にカットしてみるとその難しさと面倒くささに気付きます。こういった経験の積み重ねが想像力を鍛えていくのだと、改めて思った、いい工作でした。