先日アップしたArduinoクレーンゲームで学べた事を、少しずつ紹介していこうと思う。
今日は、Arduinoで音楽を再生する方法だ。
Arduinoでクレーンゲームを作った記事はこちら。
Arduinoでクレーンゲームを作ってみた-電子工作をかじれて勉強になったよ
ゲーム中にMP3を再生したいと思い色々と方法を検討した結果、一番安く簡単にできたこの方法を採用した。
2016/10/30追記
最近、MP3再生に便利な基板を購入しました。
別記事を書きましたので、あわせてご覧ください。
構成図
ひとまず、全体の構成図はこちらだ。
図には書いてないが、ArduimoとMP3プレーヤーの間にはリレーとトランジスタが入る。
(回路図は後述します)
-
- MP3の再生には、市販の安物のMP3プレーヤー(後で詳述)を使う。リレーにつないで、Arduinoからはトランジスタで単純にスイッチのオンオフをするだけなので、プログラムがとても楽。
- プレーヤーにはアンプ基板と100均のコーンをつなぎ、スピーカーとしている。今回はアンプ基板は自作したが、面倒ならアンプ基板キットや、PC用などの市販スピーカーを繋いでもよい。
MP3プレーヤーは600円ほど、アンプICは200円ほどのものを使ったので出費合計は800円くらいだ。
アンプの抵抗やコンデンサー、リレーは手元のものをつかったが、買ってもせいぜい1個10数円程度の出費だ。
(リレーは100円くらい)
市販のMP3プレーヤーはどこで入手?
私は雑貨屋で入手した。
たしか、600円弱だった。ドンキあたりでも売ってるはず。
アマゾンでも似たようなのが売ってるが、店が近くにあるなら直接手に入れた方が割安だとは思う。
- プレーヤーとして売られているのでSDカードスロットやバッテリーが装備されているから、電源も用意しなくていい。
- このプレーヤーはレジューム機能がなく電源を入れたら最初から再生される。
本当にMP3プレーヤーとして使うなら困るかもしれないけど、ゲーム中のBGM再生装置として使うには好都合。
どうやって改造するの?
- ケースから基板を出して、バッテリーの+側を半田ごてで外し、リレーにつなぐ。
線が非常に細く、切れやすいので注意。
配線図
テスト用の配線図は下図だ。
回路図は、次の項目を参照してほしい。
- スイッチ1を押すとプレイヤーをスイッチオン、スイッチ2を押すとオフになる。
絵が違うが、抵抗はトランジスタ側は1kΩ、スイッチ側には10kΩを使った。
- 図ではArduinoへの給電とアンプ回路は省略している。
9V電池などで適宜Arduinoへ給電してほしい。
おすすめはスイッチングアダプタ。
電池みたいにいつのまにか電圧下がっていることもなく快適だ。
回路図
参考に、回路図と実際の配線写真です。
- 1番は、MP3プレーヤーとリレーの接続です。
写真だと青と緑のケーブルです。 - 2番は、MP3プレーヤー(出力)とアンプ(入力)の接続です。
ケーブルは、一般的なオーディオ用のプラグを使っています。
MP3プレーヤーには元々イヤホン用のジャックが備わってるので、そこへ差し込んでいます。
Arduinoのスケッチ(プログラム)
Arduinoで音楽を再生するには、他にどんな選択肢がある?
この方法以外には、大きくは、この2つの選択肢がある。
-
- 専用のシールドを買う
- waveファイルのみ
- MP3ファイルok
- FN-M16P(DFPlayer Mini)・・★オススメ
- 圧電ブザーで音楽を鳴らす
- 専用のシールドを買う
1. 専用のシールドを買う
シールドといって、Arduinoに拡張機能をつけるキットが市販されている。
音楽再生に重点をおきたいなら、こういうキットを買うと細かい制御ができるだろう。
価格は4000円前後といったところ。
3番目のDFPlayerは廉価で、300円程度で入手可能だ。
waveファイルのみ
MP3ファイルok
組込み用基板『FN-M16P(DFPlayer Mini)』を使う
安くて簡単に制御できる。
入手性が悪いのが難点だが、検討の価値は十分にある。
2. 圧電ブザーで音楽を鳴らす
音程を設定して、ビープ音でArduinoから直接音を奏でるイメージだ。
BGMとして使うとレトロゲームっぽくて味がでそう。
もしくは、処理完了のサインとして。