Microchip社のbluetooth音声モジュールRN-52をコアにbluetoothスピーカーを製作しました。
注)RN-42ではSPPしか対応していないので音声を送ることはできません。
製作の経緯
マイカー(軽トラ)で音楽を聞く時にiphone6+のスピーカーで聞いていましたが、音量が小さい、低音が弱い、軽トラにカーオーディオを付ける気にもならず製作することにしました。
まずRN-52はピッチが1.2mmで、そのままではユニバーサル基板に載せられないので、Eagleでピッチ変換基板を製作、FusionPCBに発注、3週間で納品されました。

回路図

基板

納品され基板にRN-52を実装

ユニバーサル基板にRN-52、D級アンプ2個と電源回路を実装

完成したBluetoothスピーカー
BOXとスピーカーはFostexです。

軽トラックへの搭載状況
実際にiphone6+とペアリングして車内で聞いてみましたが、明らかに音量不足でした。最初はアンプが1Wで軽トラックの走行音が大きいのでしょうがないのかなと思っていましたが、RN-52について調べてみるとデフォルトでは音量が最大から5番目(15段階中)になっているようです。またD級アンプモジュールの入力抵抗を変更してゲインを上げることで十分な音量を出すことができました。
RN-52の内部音量を上げるためにはシリアルコマンドでの設定が必要になります。GPIO9ピンをGNDに接続することでコマンドモードに入ります。RXピンとTXピン(3.3Vレベル)をPCに接続してteraterm等でコマンドを送り設定します。
音量UPコマンド AV+
音量DOWNコマンド AV-
*ちゃんと音量は電源を切っても保持されます。
実際、車に乗ったときに毎回スピーカーとiphone6+をbluetoothで接続してたのですが、実は地味に面倒なのですが、コマンドにより前回接続していたデバイスと自動接続するように設定することも可能です。
実は完成した後になって、最初に購入したRN52-I/RM(マルツで購入)はSBCという方式(高圧縮、低容量)で音声データを送っているらしく、音質はよくないとのことで、MicrochipDirectでAACに対応したモジュールを購入して比較してみました。
追試結果報告
RN52-I/RM(マルツで購入)
ファームウェア Ver 1.10
シリアルコマンドで確認しても、そもそもAudioCodecの項目が表示されない、SBC専用であるため表示されないと推測される。
RN52AAC-I/RM116(microchip directで購入)
ファームウェア Ver 1.16
MBAとぺアリングしてyoutubeで動画を再生し確認したところAudioCodec=SBCとなっていた。MBA内蔵のbluetoothモジュールがAAC未対応と推測される。
iphone6+とペアリングしてyoutubeで動画を再生し確認したところAudioCodec=AACとなっていた。MUSICを再生した場合もAACとなっていた。
SBCとAACの音質の差については私の耳では確認できませんでした。
注)RN-42ではSPPしか対応していないので音声を送ることはできません。
製作の経緯
マイカー(軽トラ)で音楽を聞く時にiphone6+のスピーカーで聞いていましたが、音量が小さい、低音が弱い、軽トラにカーオーディオを付ける気にもならず製作することにしました。
まずRN-52はピッチが1.2mmで、そのままではユニバーサル基板に載せられないので、Eagleでピッチ変換基板を製作、FusionPCBに発注、3週間で納品されました。

回路図

基板

納品され基板にRN-52を実装

ユニバーサル基板にRN-52、D級アンプ2個と電源回路を実装

完成したBluetoothスピーカー
BOXとスピーカーはFostexです。

軽トラックへの搭載状況
実際にiphone6+とペアリングして車内で聞いてみましたが、明らかに音量不足でした。最初はアンプが1Wで軽トラックの走行音が大きいのでしょうがないのかなと思っていましたが、RN-52について調べてみるとデフォルトでは音量が最大から5番目(15段階中)になっているようです。またD級アンプモジュールの入力抵抗を変更してゲインを上げることで十分な音量を出すことができました。
RN-52の内部音量を上げるためにはシリアルコマンドでの設定が必要になります。GPIO9ピンをGNDに接続することでコマンドモードに入ります。RXピンとTXピン(3.3Vレベル)をPCに接続してteraterm等でコマンドを送り設定します。
音量UPコマンド AV+
音量DOWNコマンド AV-
*ちゃんと音量は電源を切っても保持されます。
実際、車に乗ったときに毎回スピーカーとiphone6+をbluetoothで接続してたのですが、実は地味に面倒なのですが、コマンドにより前回接続していたデバイスと自動接続するように設定することも可能です。
実は完成した後になって、最初に購入したRN52-I/RM(マルツで購入)はSBCという方式(高圧縮、低容量)で音声データを送っているらしく、音質はよくないとのことで、MicrochipDirectでAACに対応したモジュールを購入して比較してみました。
追試結果報告
RN52-I/RM(マルツで購入)
ファームウェア Ver 1.10
シリアルコマンドで確認しても、そもそもAudioCodecの項目が表示されない、SBC専用であるため表示されないと推測される。
RN52AAC-I/RM116(microchip directで購入)
ファームウェア Ver 1.16
MBAとぺアリングしてyoutubeで動画を再生し確認したところAudioCodec=SBCとなっていた。MBA内蔵のbluetoothモジュールがAAC未対応と推測される。
iphone6+とペアリングしてyoutubeで動画を再生し確認したところAudioCodec=AACとなっていた。MUSICを再生した場合もAACとなっていた。
SBCとAACの音質の差については私の耳では確認できませんでした。