ステッピングモーターを使ってファミマ入店音を鳴らす

June 06, 2023
Author(著者):
清水ノイエン内田
ステッピングモーター
ファミマ入店音

よくブラシレス系モーターで、RPMを調整して音楽を奏でるというのが、モーター動作のHelloWorldとしてあるかなと思っています。

今回は、その中でもよく使われる音源の、ファミマ入店音をステッピングモーターで動かしてみました。

ステッピングモーターは前回記事と同じステッピングモータを使っています。

仕組み

ステッピングモーターもそうですが、異相型モーターは回転角度や回転数を調整することができます。

そこでこの回転数を正確に指定できることから、回転数を音符の周波数と合わせてあげることで、音楽を奏でるという仕組みになります。

ファミリーマートの楽譜は以下の通りです。

ファ# レ ラ レ ミ ラ ラ ミ ファ# ミ ラ レ

これを周波数表記にしてあげると、

369Hz 293Hz 220Hz 293Hz 329Hz 440Hz 440Hz 329Hz 369Hz 329Hz 220Hz 293Hz

となります。

この周波数に応じて回転数を指定してあげます。

コード

ステッピングモーターのArduino制御ライブラリはいくつかありますが、ここではAccelStepperを使用しています。

実際のコードはこちらに記載しています。

https://gist.github.com/saitetu/9aff8870ca019563af27f3a01520f312

周波数は倍音という仕組みで、倍数がけした周波数で指定の音階を表現できます。(ピッチ調整)

そこでこのコードでは、音楽が進むにつれて倍音倍音、となっていってピッチが高くなっていきます。

また、音の長さがそれぞれ違うので、回している長さを変更しています。

実際の動き

実際の動きはこちらになります。

参考:

https://qiita.com/kotarotaro_A/items/d109f2019b2b81f83d57

https://ja.wikipedia.org/wiki/%E5%80%8D%E9%9F%B3


copyright © 2024 beavers-hive.com