2022/4/30
うちの子供(小4)は鬼滅の刃が大好きです。
登場人物を全員漢字でかけるくらいにはまっております。
この熱量を何かに使えないかなと思い、プログラミングの勉強をかねて一緒に日輪刀を作ってみることにしました。
↓↓つくったやつです。
M5StickCとダイソーの忍者刀で、日輪刀を作ってみました。横斬り⇒水面切り、縦斬り⇒滝壺、3回目の技⇒碧羅の天が出ます。子供と一緒に作りました😀#m5stickC #m5stack #日輪刀 pic.twitter.com/p4QkxEEuyV
— やまっく (@YY87750722) April 30, 2022
ダイソーの忍者刀です。これを改造していきます。
M5StickCです。これを忍者刀の中に仕込んでプログラミングします。
2色LEDがカソードコモンのものしか入手できなかったため、LED駆動にPNPトランジスタを使っています。
アノードコモンのものがあれば、NPNトランジスタ1段でシンプルに駆動可能かと思います。
秋葉原を散策したのですが見つかりませんでした、アノードコモン。。
npnトランジスタはデジトラを使えば、ベースの入力抵抗とGND抵抗の10kΩが内蔵されています。
忍者刀を分解するとこんな感じです。
スピーカー、スイッチ、LEDの部分、電池の金具は再利用します。
中をニッパーなどでくりぬくと、M5StickC+Speaker Hat(ケースを外したもの)がピッタリ収まります。
奇跡のジャストフィットです。
電池を固定するのに、アイスの棒を切って、元からあった電池止め金具を貼り付けます。
柄の内部にうまく切り込みを入れてはまるようにすれば、しっかり固定できます。
赤と青のLEDで、水の呼吸と日の呼吸を再現します。
忍者刀に元からついているLEDの色は赤と緑なので、はんだごてを使って取り替えます。
赤と青の2色LEDに定電流ダイオードをはんだ付けします。
これで、LEDに定電流(今回は18mA)が流れます。
赤と青の2色LEDだと、それぞれ光らせる電圧(順電圧)が違うので抵抗で電流調整するのが難しいのですが、定電流ダイオードを使うとそんなことは考えなくて良くなります。
便利!
このLEDを、元々あるLEDの代わりに置き換えていきます。
5p使うと、十分な光量が得られました。
上記の回路図の通りに、部品をはんだ付けしていきます。
下記はトランジスタと抵抗をユニバーサル基板にはんだづけしたものです。
結構こまかい。
スピーカーは、Speaker Hatのものは外して、忍者刀に元から入っていたものに取り換えます。
最終的にはこんな感じになります↓↓
日輪刀のハードウェアが完成したので、次は中身のソフトを作ります。
以下の機能を実装していきます。
今回は子供と一緒にプログラミングするので、ビジュアルプログラミングのUIFlowを使用することにします。
回路図上のG32/G33でLEDの点灯・消灯を行うことができます。
UIFlowでは下記のようにすると、G33が500msごとにHレベル⇔Lレベルとなり、LEDもそれに合わせて点滅します。
M5StickCでWAVファイルを再生する方法は、下記にまとめていますので参照ください。
wav再生用のプログラムを用意していますので、wavファイルを準備してプログラムを実行します。
縦斬りと横斬りの検知には、M5StickCに入っている6軸センサを使用します。
と判定しています。
これで水面切りと滝壷を使い分けできます。
って書くと簡単なのですが、結構えぐい各パラメータの調整が必要でした。。
プログラムは下記に置きましたので参照ください。
また、6軸センサについては下記にまとめていますので、宜しければご覧ください。
M5StickCにはバッテリが入っているので、回路図上のスイッチを切っても動き続けてしまいます。
M5StickCの電源を切るには、入力電圧を監視して、電圧が切れたら自分で電源を切るプログラムが必要です。
↓↓こんな感じです。
最初は子供と一緒に楽しくやろうと思っていたのですが、想像以上に難易度が高く、後半は自分ひとりで作業してしまいました。
子供ができたのは
辺りです。
ただ、ちょっとしかできなかったけど動いたときはとても喜んでいたので、今後も一緒に何か作っていけたらと思っています。
次はもっと簡単なお題を見つけなくてはですね。
以上です。
Tech Blog Index
2023/02/27
・ TVON時間カウンタ作成
2022/09/09
・ スタックチャンを作ってみた
2022/04/30
・ 日輪刀をプログラミング
2022/02/16
・ Statiqでブログ作成
Sponsor