自作工作物に音楽(効果音)を追加する。(こどもパソコンIchigoJamとDFPlayerを使用)

自作工作物に音楽(効果音)を追加する。(こどもパソコンIchigoJamとDFPlayerを使用)

自作工作物に、音楽を追加してみませんか。
例えば、手作りのティッシュボックスからティッシュを取り出すたびに素敵な音楽が流れてきたらどうでしょう。
鉄道模型に、発車を知らせるメロディーを加えたらとてもリアルに感じるでしょう。
ジュエリーボックスからは、送り主からのメッセージが聞こえてきたりしたらもう最高!と思いませんか。

[この工作のキーデバイス その1] DFPlayer mini MP3音源モジュール
一体どの製品がオリジナルなのかわかりませんが、通販サイトで数百円から入手できるMP3音源モジュール「DFPlayer mini」がその一つです。この音源の特徴は、とにかく小さいことです。ほぼ切手並みの約20mm角です。この大きさの中に音源IC、D級ステレオアンプIC、microSDカードソケット、外部との接続端子が収まっています。
ただ制御については、接続端子に外付けで構築しなければなりません。
1.スイッチによる制御・・・抵抗器とスイッチをデータシートを参考に接続します。
2.マイコンによるシリアルコマンド制御・・・UART通信機能をもったマイコンで制御します。
ここでは、2.マイコンによる制御について説明します。
<DFPlayer外部端子>

 

 

 

 

 

モジュールについての詳しい説明は、下記のデータシートを参照いただくとして、外部端子について簡単に説明します。
VCC端子は、このモジュールの電源端子で、3.3Vでも5Vでも動作します。RX/TX端子が、UARTシリアル通信端子で、3.3V仕様です。外部アンプに接続する際は、DAC_R、DAC_L、GNDを利用します。3Wの内蔵モノラルアンプの利用の場合は、直接SPK+/SPK-端子にスピーカーを接続します。BUSY端子は、音源再生中であることをHI/LOWにて検出できます。再生時はLOWレベルになります。USB-/USB+端子には、外部にUSBメモリを接続できます。ADKEY1/ADKEY2/IO1/IO2端子には、前述のスイッチなどを接続するための端子です。基板が動作中であるときは、上部中央の青いチップLEDが点灯します。
<参考データシート>http://www.flyrontech.com/uploadfile/download/2016441645109830.pdf

[この工作のキーデバイス その2]  こどもパソコンIchigojam
DFPlayer miniの工作事例は、インターネットで検索すると数多く見受けられます。でもその多くは、Arduino仕様のマイコンによるものです。ここでは、こどもパソコンとしても人気のIchigoJamを利用してみます。
IchigoJamは、子供向けプログラミング教材として開発された低価格マイコン学習基板で、独自のBASICインタープリタが内蔵されています。スマホ用電源、家庭用テレビ、DOS/V用PS/2キーボードを接続して使います。
<IchigoJam基板デザイン>

 

 

 

 

 

 

IchigoJamの大きさは、名刺サイズぐらいで、回路構成はいたってシンプルです。組み立てキット製品となっていて、利用者は先にはんだ付け工作によって製作なければなりません。部品点数は20点。はんだ付けの経験があれば小学生でも作れます。搭載マイコンは、NXP社のARMマイコンでLPC1114です。発売当初は28ピンDIPパッケージのマイコンでしたが、現在は0.65mmピッチの28ピンTSSOP面実装パッケージのマイコンが付属しています。マイコンの全ピンは、基板中央のピンソケットに出力されており、GPIOやUARTなどのリソースが使いやすくできています。
最大の特徴としては、インタープリタ型BASIC言語の搭載されていることで、基本的な命令体系に加え現在のワンチップマイコンのIO仕様をサポートする拡張命令を備えています。
<IchigoJamの正式情報サイト>https://ichigojam.net/

[DFPlayer miniとIchigoJamの接続]
<接続配線図>

 

 

 

 

 

 

二つの基板間を接続するのは、次の5本。
1.DFPlayer miniへの電源供給ライン
2.GNDライン
3.UART通信ライン 2本(TX/RX)
4.DFPlayer miniのBUSY状態の検出用ライン
<UARTシリアル制御>
IchigoJamには、シリアル通信関連のコマンドとして、「BPS」、「UART」が用意されていて、実際の出力には、「PRINT」命令、受信には、「INPUT」、「INKEY」命令を用います。
DFPlayer miniへのコマンド送出は、次のように記述します。
例えば、ダイレクトに1曲目の再生を指示するには、
PRINT CHR$(#7E,#FF,#06,#03,#00,#00,#01,#EF)
と記述します。
参考までに、実行するとルートホルダーに記録された曲順に再生していくサンプルプログラムを記します。
10 BPS9600
20 UART 1,0
30 PRINT CHR$(#7E,#FF,#06,#01,#00,#00,#00,#EF)
40 WAIT 60:IF IN(4)=1 THEN GOTO 30
50 GOTO 40
※行番号10の説明 シリアル通信レートを9600bpsに設定します。
※行番号20の説明 シリアル出力をPRINT命令に限定します。受信をオフにします。
※行番号30の説明 Play Next命令。
※行番号40の説明 1行の待ち、IN4端子が「Hi」を検出したら行番号30へジャンプする。
※行番号50の説明 行番号40へジャンプする。
以下に代表的なコマンドリストを記します。

 

 

 

 

 

※こどもパソコンIchigoJamは、株式会社jig.jp様の開発商品です。
※このページの掲載情報は、CC by 4.0に基づき公開します。