質問編集履歴
13
参考サイト追加 及びリンク更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
mbedで[Grove MP3モジュール v2](http://akizukidenshi.com/catalog/g/gM-10450/)へシリアル通信をして、
|
3
3
|
mp3を再生したいと思ってプログラミングをしているのですが、どのように信号を送ればいいのかわかりません。
|
4
4
|
そのモジュールに使われているMP3チップはKT403Aという名前で、
|
5
|
-
[マニュアル](http://www.ne.jp/asahi/o-family/extdisk/MP3module/KT403A_DatasheetJP.pdf)や、[個人のサイト](
|
5
|
+
[マニュアル](http://www.ne.jp/asahi/o-family/extdisk/MP3module/KT403A_DatasheetJP.pdf)や、[個人のサイト](http://gpsnmeajp.sblo.jp/article/181155340.html)を見てみましたが、わかりませんでした。
|
6
6
|
|
7
7
|
「7E FF 06 0F 00 63 FF EF」と送るとSDカード内の「255(適当な名前)」というファイル名の音声ファイルが再生されるようなのですが…
|
8
8
|
|
@@ -131,4 +131,8 @@
|
|
131
131
|
mbed本体とつなぐケーブルの電源部を切り、別途用意した5V電源(単3エネループx4直列)につないで、
|
132
132
|
「更新 17/07/03」のコードを実行したところ、何事もなかったように鳴りました。
|
133
133
|
|
134
|
-
助言をいただいた皆様本当にありがとうございました。今度からはしっかりと抜かりなく仕様書を読みます。
|
134
|
+
助言をいただいた皆様本当にありがとうございました。今度からはしっかりと抜かりなく仕様書を読みます。
|
135
|
+
|
136
|
+
### 20/10/29 追記
|
137
|
+
ラズパイ経由で改めてこのモジュールを使用しようと思ったので、古くなったリンクの更新とともに参考サイト追加
|
138
|
+
http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/MP3module/MP3module.html
|
12
電圧を5Vにしたところ鳴った。
title
CHANGED
File without changes
|
body
CHANGED
@@ -122,4 +122,13 @@
|
|
122
122
|
要5.0VDC
|
123
123
|
出3.3VDC
|
124
124
|
別電源から引っ張ってくるか...?
|
125
|
-
ほかの出力端子3.3VDCと直列につないで6.6VDCにして抵抗噛まして5VDCにするって邪道ですかね
|
125
|
+
ほかの出力端子3.3VDCと直列につないで6.6VDCにして抵抗噛まして5VDCにするって邪道ですかね
|
126
|
+
|
127
|
+
###17/09/18 終焉
|
128
|
+
皆様お久しぶりです。マシンが手元にある環境に戻ってまいりましたので、さっそくモジュールの電源の5V化を行いました。
|
129
|
+
**無事鳴りました。**
|
130
|
+
|
131
|
+
mbed本体とつなぐケーブルの電源部を切り、別途用意した5V電源(単3エネループx4直列)につないで、
|
132
|
+
「更新 17/07/03」のコードを実行したところ、何事もなかったように鳴りました。
|
133
|
+
|
134
|
+
助言をいただいた皆様本当にありがとうございました。今度からはしっかりと抜かりなく仕様書を読みます。
|
11
17/08/04 更新 電圧不足を発見。これが原因か
title
CHANGED
File without changes
|
body
CHANGED
@@ -102,4 +102,24 @@
|
|
102
102
|
|
103
103
|
これだけの幅ならまず外れないと思いますし...
|
104
104
|
|
105
|
-
mbed←→MP3モジュール のケーブルをもう一度点検しましたが、やはり間違っていません。過去の間違い(TXRX)は修正済みです。
|
105
|
+
mbed←→MP3モジュール のケーブルをもう一度点検しましたが、やはり間違っていません。過去の間違い(TXRX)は修正済みです。
|
106
|
+
|
107
|
+
###17/08/04 追記
|
108
|
+
MP3モジュールへのシリアル通信ですけども実はこれ大学のロボット製作チャレンジで音声を流したく質問した物なのです。しかしそれの期限がもう過ぎてしまったのでこれはあきらめて音声再生無しで実装しました。
|
109
|
+
|
110
|
+
期限までに実装できずに終わってしまったのですが、この質問はどうしておけばいいでしょうかね?
|
111
|
+
後日頑張って解決するまで取っておくか、それとも…
|
112
|
+
|
113
|
+
なお、ozwkさんの助言
|
114
|
+
|
115
|
+
> 電源5Vにしてみるとか
|
116
|
+
> ソフトウェアシリアルのライブラリ使ってMP3モジュールと通信するとか
|
117
|
+
|
118
|
+
は後日試行の予定です。
|
119
|
+
|
120
|
+
###17/08/04 追記2
|
121
|
+
電圧足りてないぞこれ。今の今まで気付かなんだ。もしや…このせいでは。
|
122
|
+
要5.0VDC
|
123
|
+
出3.3VDC
|
124
|
+
別電源から引っ張ってくるか...?
|
125
|
+
ほかの出力端子3.3VDCと直列につないで6.6VDCにして抵抗噛まして5VDCにするって邪道ですかね
|
10
17/07/18 補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -92,4 +92,14 @@
|
|
92
92
|
}
|
93
93
|
|
94
94
|
}
|
95
|
-
```
|
95
|
+
```
|
96
|
+
###17/07/18 補足
|
97
|
+
MP3のサンプリングレートが対応ということはないと思います。
|
98
|
+
> ・ファイルシステム:FAT16/FAT32
|
99
|
+
・オーディオフォーマット:MP3、WAV、WMA
|
100
|
+
・SDカード最大対応容量:32GB
|
101
|
+
・サンプルレート(KHz):8/11.025/12/16/22.05/24/32/44.1/48
|
102
|
+
|
103
|
+
これだけの幅ならまず外れないと思いますし...
|
104
|
+
|
105
|
+
mbed←→MP3モジュール のケーブルをもう一度点検しましたが、やはり間違っていません。過去の間違い(TXRX)は修正済みです。
|
9
提案を試した結果
title
CHANGED
File without changes
|
body
CHANGED
@@ -53,4 +53,43 @@
|
|
53
53
|
|
54
54
|
###更新 17/07/10 15:43
|
55
55
|
nullbot氏の提言を試すため教授にmbed互換基盤の仕様を聞いたところ、
|
56
|
-
「シリアルで送るとPCにもモジュールにも信号が行く」とのことなのでモジュールはどうやら信号を受信できているようです。しかしそうなるとどうして再生されないのか…
|
56
|
+
「シリアルで送るとPCにもモジュールにも信号が行く」とのことなのでモジュールはどうやら信号を受信できているようです。しかしそうなるとどうして再生されないのか…
|
57
|
+
|
58
|
+
###更新 17/07/18 00:42
|
59
|
+
ozwk氏の案
|
60
|
+
> MP3モジュールのTxはどこにも結線せず
|
61
|
+
MP3モジュールのRxはmbedのTxに結線
|
62
|
+
|
63
|
+
を試してみましたが変化はありませんでした。
|
64
|
+
あと、
|
65
|
+
> MP3モジュールのリセットをmbedの適当なGPIOに接続し、
|
66
|
+
mbedのプログラムでMP3モジュールにコマンド送る前にMP3モジュールのリセットかけて
|
67
|
+
適当な時間待ってからコマンド送信するように変更
|
68
|
+
|
69
|
+
の方はモジュールのリセット部分がどこか掴めず試せずにいます。
|
70
|
+
|
71
|
+
|
72
|
+
モジュールの生存確認を友人氏のmbedを借りて行いました。両方とも同じコードで同じ反応。
|
73
|
+
これは生か死か。
|
74
|
+
|
75
|
+
再生デバイスの選択コマンドも使ってみましたが音沙汰なし。
|
76
|
+
```c++
|
77
|
+
#include "mbed.h"
|
78
|
+
#include "stdint.h"
|
79
|
+
Serial mp3(P1_7, P1_6);
|
80
|
+
int main() {
|
81
|
+
int idx;
|
82
|
+
mp3.baud(9600);
|
83
|
+
uint8_t set_device[] = {0x7E, 0xFF, 0x06, 0x09, 0x00, 0x00, 0x02, 0xEF};//準備
|
84
|
+
uint8_t set_music[] = {0x7E, 0xFF, 0x06, 0x0f, 0x00, 0x01, 0x01, 0xEF};//再生
|
85
|
+
wait(1);
|
86
|
+
for(idx = 0; idx <sizeof(set_device); idx++) {
|
87
|
+
mp3.putc(set_device[idx]);
|
88
|
+
}
|
89
|
+
wait(1);
|
90
|
+
for(idx = 0; idx <sizeof(set_music); idx++) {
|
91
|
+
mp3.putc(set_music[idx]);
|
92
|
+
}
|
93
|
+
|
94
|
+
}
|
95
|
+
```
|
8
17/07/10 1回目の更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -49,4 +49,8 @@
|
|
49
49
|
マイコンは仕様的にピン接続?につないでいるときはUSB側とは不通になるそうなのですけども…詳しくは知りません。
|
50
50
|
|
51
51
|
###更新 17/07/03 22:03
|
52
|
-
TXをRXにRXをTXに接続しました。前回よりノイズが減ったように感じられますが、相変わらず`~`と出てきます。
|
52
|
+
TXをRXにRXをTXに接続しました。前回よりノイズが減ったように感じられますが、相変わらず`~`と出てきます。
|
53
|
+
|
54
|
+
###更新 17/07/10 15:43
|
55
|
+
nullbot氏の提言を試すため教授にmbed互換基盤の仕様を聞いたところ、
|
56
|
+
「シリアルで送るとPCにもモジュールにも信号が行く」とのことなのでモジュールはどうやら信号を受信できているようです。しかしそうなるとどうして再生されないのか…
|
7
本日3回目の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -46,4 +46,7 @@
|
|
46
46
|
同じ名前同士でつないでおけばいいかなと思ってました。
|
47
47
|
雄と雌的な接続の考え方の方だったならばつなぎ替えます。こんな間違いをやらかすぐらいには初心者です。
|
48
48
|
|
49
|
-
マイコンは仕様的にピン接続?につないでいるときはUSB側とは不通になるそうなのですけども…詳しくは知りません。
|
49
|
+
マイコンは仕様的にピン接続?につないでいるときはUSB側とは不通になるそうなのですけども…詳しくは知りません。
|
50
|
+
|
51
|
+
###更新 17/07/03 22:03
|
52
|
+
TXをRXにRXをTXに接続しました。前回よりノイズが減ったように感じられますが、相変わらず`~`と出てきます。
|
6
本日二回目の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -39,4 +39,11 @@
|
|
39
39
|
}
|
40
40
|
|
41
41
|
}
|
42
|
-
```
|
42
|
+
```
|
43
|
+
|
44
|
+
###更新 17/07/03 20:59
|
45
|
+
配線はTX同士、RX同士でつないでます。もしやそこがダメだったのでしょうか。
|
46
|
+
同じ名前同士でつないでおけばいいかなと思ってました。
|
47
|
+
雄と雌的な接続の考え方の方だったならばつなぎ替えます。こんな間違いをやらかすぐらいには初心者です。
|
48
|
+
|
49
|
+
マイコンは仕様的にピン接続?につないでいるときはUSB側とは不通になるそうなのですけども…詳しくは知りません。
|
5
更新 17/07/03 の書き忘れ箇所
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
2. モジュール自体はArduino用のようですが、秋月の店員さん曰く使えるそうです。ケーブルの配線はちゃんとしました。
|
22
22
|
|
23
23
|
###更新 17/07/03
|
24
|
-
コードはμvisionで書いており、通信には
|
24
|
+
コードはμvisionで書いており、通信にはTera Termを使っています
|
25
25
|
|
26
26
|
以下のコードで行ってみましたが音声が再生されず、`~`と出てきます。なぜでしょうか。検索してもわかりませんでした。検索の方法が悪かったのかもしれませんが…
|
27
27
|
|
4
更新 17/07/03
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,4 +18,25 @@
|
|
18
18
|
```
|
19
19
|
###補足
|
20
20
|
1. シリアル通信の書式についていろいろ調べてみましたが、全て文字の送り方でした…
|
21
|
-
2. モジュール自体はArduino用のようですが、秋月の店員さん曰く使えるそうです。ケーブルの配線はちゃんとしました。
|
21
|
+
2. モジュール自体はArduino用のようですが、秋月の店員さん曰く使えるそうです。ケーブルの配線はちゃんとしました。
|
22
|
+
|
23
|
+
###更新 17/07/03
|
24
|
+
コードはμvisionで書いており、通信には
|
25
|
+
|
26
|
+
以下のコードで行ってみましたが音声が再生されず、`~`と出てきます。なぜでしょうか。検索してもわかりませんでした。検索の方法が悪かったのかもしれませんが…
|
27
|
+
|
28
|
+
なお、以下のコードは、コマンド0F(フォルダーとトラック番号を指定して再生)で、01フォルダの01ファイルを再生しようとしています。
|
29
|
+
```c++
|
30
|
+
#include "mbed.h"
|
31
|
+
#include "stdint.h"
|
32
|
+
Serial mp3(P1_7, P1_6);//P1_7はtx,P1_6rxです。
|
33
|
+
int main() {
|
34
|
+
int idx;
|
35
|
+
mp3.baud(9600);
|
36
|
+
uint8_t send_data[] = {0x7E, 0xFF, 0x06, 0x0f, 0x00, 0x01, 0x01, 0xEF};
|
37
|
+
for(idx = 0; idx < sizeof(send_data); idx++) {
|
38
|
+
mp3.putc(send_data[idx]);
|
39
|
+
}
|
40
|
+
|
41
|
+
}
|
42
|
+
```
|
3
コードのミス修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,6 @@
|
|
12
12
|
|
13
13
|
Serial mp3(USBTX, USBRX);
|
14
14
|
int main() {
|
15
|
-
mp3.printf("");
|
16
15
|
mp3.baud(9600);
|
17
16
|
mp3.printf("ここに数字か何かを入れるのだろうけども、書式がわからない");
|
18
17
|
}
|
2
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,4 +16,7 @@
|
|
16
16
|
mp3.baud(9600);
|
17
17
|
mp3.printf("ここに数字か何かを入れるのだろうけども、書式がわからない");
|
18
18
|
}
|
19
|
-
```
|
19
|
+
```
|
20
|
+
###補足
|
21
|
+
1. シリアル通信の書式についていろいろ調べてみましたが、全て文字の送り方でした…
|
22
|
+
2. モジュール自体はArduino用のようですが、秋月の店員さん曰く使えるそうです。ケーブルの配線はちゃんとしました。
|
1
初心者マークを付けました
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|