ver.1の振り返り
前回、その5まで駆け足で製作し、記事にしてきたオルゴールですが要件を(無理やり)満たしたものの満足いく結果ではありませんでした。
坂本真綾25周年記念ライブ『約束はいらない』よりbe mineのオルゴールを作りました。
— えい (@ei_matwi) March 31, 2021
坂本真綾さんお誕生日おめでとうございます! pic.twitter.com/rJclDQvQAC
当初掲げた目的
- 動画自体にフェイクを入れなければいけなかった
- 音のフェイク、動きのフェイクの二段構えだった
- せっかく買って音も出力したのに音は全く使えなかった
あたりが残念な結果になりました。そのためver.2を作れるかどうかの検討をしていくことにしました。
目的(改めて)+要件
目的
- 坂本真綾25周年ライブでの光景をオルゴールで再現する。(参考)
要件
- ライブの円盤の発売日を締め切りとする(早く出るといいなー)
- オルゴールは電子工作で実現するとする
- 動画にフェイクは入れない
ver.1での課題
回転機構
ver.1ではサーボモーターを利用し、直接台を回転させていた。回転数を回らない限界まで落としても約30rpm程度のスピードだった。目標としては3~5rpm程度まで低速にしたい。
また、モーター音がそれなりの音量だったためこれも改善できれば改善したい。
ただし、音声出力を上げて対応できればいいなーとも思っています。
音声出力
音声の出力ボリュームが想定よりも小さかった。
また、音声が再生していない場合にもノイズが再生されているのもあまり良くなかった。
改善案
回転機構
検討1:ギアを挟み、回転数を落とす
モーターやコードはそのまま流用することを考え、ギアを使い回転数を落とすことを考えた。ギアの用意を自前でプリントするのはハードルが高そうなので却下、市販のギアセットを使うことも検討したが軸の位置などをきちんと揃えるのが面倒そうだという印象。
検討2:プーリーを挟み、回転数を落とす
ギアを検討する中でプーリーの存在に気づく。歯車の代わりに輪ゴムで動力を伝達する。
距離や位置が柔軟に設定できそうな代わりに筐体内のスペースが必要。一旦これで作ってみてもいいかとamazonで発注してみたが、検討を継続。どうせこういうパーツは後々違う用途で使うので・・・
検討3:別のモーターを使う
そもそも今使っているサーボモーターとは別のモーターを使うことを検討。手持ちの別のモーターとしては回転数の高いDCモーターとステッピングモーターがあるがどちらも回転数を落とすのが難しそうだという印象。そもそも回転数の少ないモーターがあるのでは、と『3rpm』というワードでamazon検索をしたところそれなりに安価なDCモーターが1個売りしているのを発見。
ただし既存のm5stickCでDCモーターを駆動させるにはDCモータードライバーが必要となる。
そこでm5stickCを捨ててobnizを使うことを検討。obnizではモータードライバー無しに直接出力を変更することができる。ただしobnizには音声を出力できる手段が公式には無く、圧電スピーカーで単音を鳴らすのに限ってしまう。一旦この情報を検討のテーブルに乗せて音声の検討に移るとする。
音声出力
検討1:プログラムを変更
m5stickCでの音声出力は出力が小さく、また無音時のノイズが気になった。無音時のノイズはプログラムの修正にて改善される可能性があるが出力は大きくできないだろうと判断。
検討2:m5atom echo
m5stackシリーズにはatom echoという音声特化したハードウェアが存在する。m5stickCとコードがほぼ共通な上、サーボモーターを動かす場合にはハードソフト共にほぼ変更無しに入れ替えができる。ただしコードが共通ということはノイズに関して改善されない可能性が高い。また、DCドライバーを接続することを考えると作例が少なく作成に不安がある。
検討3:m5stack
m5 atom echoとほとんど検討点は同じ。こちらは既に所持しているのでリーズナブルだがサイズが大きいので全体の大きさに響いてしまう。
検討4:DFPlayer mini
obnizで音を鳴らすことを調べた時に出てきた候補。DFPlayer miniは単体でmp3のオーディオが出力できるもので、obnizやm5stackから再生制御も可能。obnizにするならば必須。
m5stickCの時に利用したスピーカーhatが無駄になってしまうのが若干勿体無い。
機器選定
上記の条件、検討から機器選定と発注をした。
まずメインの制御をm5stickCからobnizに変更。ver.1のプログラムを全て捨てる覚悟をします。興奮してきた。
モーターは6v 10rpmのDCモーターを発注。モーターの制御はobnizから直接行います。
obnizからは最大で5v、それ以下であればプログラム内で出力を変更できるため実際の回転数を確認して出力を決める予定です。
obnizを利用するということで、音声出力はDFPlayer miniを使うことに。それに付随して安価なスピーカー、接続用ジャンパワイヤなどをswitch scienceで購入しました。
ワニ口ワイヤを発注したのは、電子工作で半田付けはしない。というポリシーのためです。
今後の工作
この記事を書いている時点でDCモーターとDFPlayer miniが輸送中なため、実装は今後の課題となっていきます。
obnizでは基本ブロックプログラミングで組んで行く予定で、まずはDCモーターの動作チェック。そしてDFPlayer mini単体で音声出力を確認した後でobnizからの制御。
それらの動きを確認後、3Dプリンターで収まるような筐体を設計、出力していくことになります。