ステッピングモータを楽器にする

モータの励磁音っていいですよね。
東京で電車の発車のときにドレミファソラシド聞こえた時にはテンションあがりました。

というわけで、いつか何かに使うと思って放置していたステッピングモータを引っ張り出して演奏してみます。


演奏してみる

今回はPCのMIDI編集ソフトdominoから演奏できるようにしてみました。
非常に音が小さいですが、無事演奏できています。
収録環境の改善はそのうちきっとします。
youtu.be


しくみ

f:id:katosunmemo:20170426224831j:plain

MIDIで外部機器につなぐ場合、MIDIケーブルが必要ですが、ありがたいことにhairless-midiserialを使用するとPC内に仮想MIDIケーブルを作ってくれるため音源部との接続はUSBケーブル一本で済みます。
詳しいことは下記ブログを参照してください。
インストールからArduinoMIDIを受け取るところまで解説されています。
spinelify.blog.fc2.com

やったこと

今回は上記ブログに付け加えて音源部の作成を行いました。
音程とはいえ、所詮振動だろうということで、音階ごとの周波数を調べました。
tomari.org

ドなら262Hz
レなら294Hz
ミなら330Hz・・・
とまぁこんなところです。

あとはこの周波数のパルスでステッピングモータを駆動するだけです。
駆動にはArduinoからduty比0.5のPWMを送ってやります(パルス周期を変えるのでPPMが正しい?)
ちなみにArduinoでこれをやろうとすると、ArduinoのPWM機能が固定周波数のため、avr/io.hをインクルードしてレジスタを叩く必要があります。

f:id:katosunmemo:20170426232939j:plain


で、実装して冒頭の動画に戻ります。
無事仮説どおりドレミファソラシドを演奏することが出来ました。

今後はもっと音階を増やして、何かしらの音楽を演奏するところまで目指していきたいと考えています。
あとは、せっかくNCフライスもあることだし、イケメンなガワを作ってみるのもアリかも。