2021-12-12
RC可動戦車などの効果音はDFPlayer miniを使っているが、microSDカードも必要でした。
DFPlayer miniが3個で800円程度。microSDカードが1個570円程度。1set合計833円程度です。
最近、JQ6500音声モジュール基板(MP3)というものを知りました。
これは、内蔵のメモリー(2MBらしい)にデータを描き込んで使用でき、お手軽です。
使ってみたのは非正規品ですが2個788円(16PT)、1個当たり390円程度で利用できます。
▼JP6500にデータを描き込むにはアップローダープログラムが必要です。
- JQ6500 MP3 Player Module を開きます。
- ページ内の下方の、English Language MusicDownload.exe Uploader for JQ6500-16P
English Language MusicDownload.exe v1.2a をクリックして、
Zipファイルをダウンロードし、適当な場所に解凍します。 - 開いたプログラムのFILESタブがMP3ファイルの選択画面、FLASHタブがアップロード画面です。
- JQ6500とWindowsPCをUSBケーブルで接続。
デバイスとして認識されてないので不安でしたが、書込みは問題なく出来るようです。 - FILESタブをクリックし、Chose files...ボタンをクリックして、コピー元のファイルを選択してセットします。
- 次に、FLASHタブをクリックし、FLASHボタンをクリックしてJP6500にアップロードさせます。
この時、メモリーは初期化され、新たに書込みされているようです。 - 下図の回路で、マイコン無しで動作させることができるので、
購入したユニットが正常に動作するか、正常に描き込まれているかを確認することができます。
電源電圧はDC3.2~5Vです。
K1からK5までの5個の端子に各々プッシュスイッチを接続することで、
マイコン無しでも5個のMP3音源を再生できます。
描き込んだファイルが3個だけの場合、S4、S5を押して再生されるファイルは1番目のファイルでした。
Arduinoでコントロールすることも可能ですが、詳しいコマンドの説明が見つかりません。
サンプルプログラムを参考に試行錯誤で動作させてみました。
Arduino IDEでプログラムを書き込み、動作させるにはJQ6500_Serial Arduino Library をダウンロードします。
▼ http://sparks.gogo.co.nz/JQ6500_Serial.zip をダウンロードします。
Zipファイルのダウンロードは「安全ではありません」と警告されますが、各自の責任でダウンロードしてください。
ダウンロードしたZipファイルは、Arduino IDEで「Zip形式のライブラリーをインストール」で処理します。
これで、File/スケッチ例/JQ6500Serial/FullDemoなどを利用できるようになります。
ArduinoとJQ6500の接続はスケッチの内容を確認。
JQ6500のTX(10pin)をArduinoの8pinに、
JQ6500のRX(9pin)をArduinoの9pinに1kΩを介して接続します。
// Arduino Pin 8 is connected to TX of the JQ6500
// Arduino Pin 9 is connected to one end of a 1k resistor,
// the other end of the 1k resistor is connected to RX of the JQ6500
// If your Arduino is 3v3 powered, you can omit the 1k series resistor
SoftwareSerial mySerial(8, 9);
JQ6500_Serial mp3(mySerial);
▼サンプルスケッチを参考に、下記のスケッチを作成しました。
5個のMP3ファイルを順に再生するだけのプログラムです。
上手く動作したので、取り敢えずArduinoで動作する確認はできました。
mp3ファイルですが、001abc.mp3の様に3桁の数字で始まるファイル名で登録する。
指示、再生は数字の若い順で何番目という具合になる様です。
- /* JQ6500_TEST_5files
- test controls of the JQ6500 module.
- 2021/12/12
- 5 files simple play test
- */
- #include <Arduino.h>
- #include <SoftwareSerial.h>
- #include <JQ6500_Serial.h>
- // Create the mp3 module object,
- // Arduino Pin 8 is connected to TX of the JQ6500
- // Arduino Pin 9 is connected to one end of a 1k resistor,
- // the other end of the 1k resistor is connected to RX of the JQ6500
- // If your Arduino is 3v3 powered, you can omit the 1k series resistor
- SoftwareSerial mySerial(8, 9);
- JQ6500_Serial mp3(mySerial);
- int fnum ;
- void setup() {
- Serial.begin(9600);
- mySerial.begin(9600);
- mp3.setVolume(20);
- }
- void loop() {
- for (fnum = 1 ; fnum <= 5 ; fnum++) {
- mp3.playFileByIndexNumber(fnum);
- delay(3000);
- }
- delay(3000);
- for (fnum = 5 ; fnum >= 1 ; fnum--) {
- mp3.playFileByIndexNumber(fnum);
- delay(3000);
- }
- }
未だ未確認な点が多くあり、上記内容に誤った解釈が有るか判りませんが、
取り敢えず動作させた所までを備忘録として残します。