このブログは、サーバー代など、運営費のため広告やアフェリエイトがあります。
大変申し訳ありませんが、ご理解よろしくお願いします。

このブログは、サーバー代など、運営費のため広告やアフェリエイトがあります。
大変申し訳ありませんが、ご理解よろしくお願いします。

Arduino + DFPlayerをUARTを使わないで使う

スポンサーリンク

こんにちは。Yukiです。
今回は、DFPlayerネタです。

やりたいこと

Arduino + DFPlayerだと、UARTを使うのが鉄板なのですが、通信するのが面倒。
ということでUARTを使わないで使ってみたいと思います。

ちなみにゴールとしてはインターフォンを作るというのが最終目標です。(多分インターフォンはアメブロ側で書くかな?)

DFPlayerの気になる記述

色々ありますが、このSegment 1とかってなんぞや。ってことで確かめました。一応結論としては、Segment xx が入ると、SDカードに入っている0xx番の音楽が再生される。ということでした。

予想外だったのは Segment 1を連続でポチポチ押すと、再生がすべて終わっていなくても頭から流れ出す仕様ですかね。(割り込みっていうんですかね。そういう感じです)

SDの準備

SDの準備をします。

DFPlayerは「001.mp3」みたいに名前をつけることを推奨しています。
(多分FAT形式とかで上からに並ぶからでしょう。)

ということでなんか適当な音楽を用意して、MP3形式に変換して、SDに書き込みます。

今回は手元にあったCDの音楽をMP3化して書き込んでいます。

ということでテスト用回路

上の仮説が正しいのか確かめるために簡単な回路を組みます。

一緒に、音量が小さくなるのかもテストしたかったので、こんな感じのボタン配置にしました。

まさかの抵抗が1本もないという…。

スピーカーは昔100均で買ったやつです。

(モノラルでいいのでSPK1をLとR側につなげて、SPK2をGNDにつなげています)

ちなみにですが、この回路で、Playボタンを押すと、001.mp3が流れます。(UARTとか使わなくてよし!)

Arduinoのテスト

何を使うのか?そうトランジスタを使います。

DFPplayerが5V(TTL)であればIOピンに抵抗挟んでってのもありなんですが、DFPlayerって3.3V(CMOS)らしいので一応トランジスタを挟んでおきます。

一応VOLを制御できるようにしています

スピーカーは画面外にあります。

プログラム (Arduino)

#define DF_PLAY 2

void DFPlayer_play(void){
  digitalWrite(DF_PLAY, HIGH);
  delay(200);
  digitalWrite(DF_PLAY, LOW);
}

void setup() {
  // put your setup code here, to run once:
  pinMode(DF_PLAY, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  DFPlayer_play();
  delay(2000);
}

まあ適当ですが、こんな感じです。

一応簡単に解説すると、200ms、トランジスタをHIGHにして、その後LOWにすることでボタンのプッシュを再現しています。(長押ししてしまうとループモードに入ってしまうらしいので)

2つ以上の音楽を使う場合

ADKEY2も同じように0KΩでSegment 5を再生できます。よって、同じような回路をADKEY2に接続すれば2つまでの音楽を流せます。

ただ、それだと3つ以上の音楽を流せません。ということで別の方法を模索します。


こんな感じでトランジスタをもう1つ増やします。(ベース電流を変えるという方法もありますが、正確性がないので今回は却下)

この方法であれば、トランジスタ+抵抗を増やすだけでいくらでも制御できます。
(UARTで通信すれば2ピンで済むのでこれ以上は無駄になるような気もしますが)

結構面白い

UARTでやると、なぜかフリーズしてしまったりする現象がよく起きたりしていたのですが、この方式であれば1日とか連続駆動しても問題ありませんでした。(また何か起きたら追記したいと思います)

もう少し反応が良くなってくれるといいなとは思ったのですが、これが限界そうなので諦めます。
(内部の処理とかで時間がかかるんでしょうね)

参考になったら、コーヒー1杯奢ってくれるとうれしいです
Buy Me A Coffee
電子工作
スポンサーリンク
シェアする
denshi1996をフォローする
スポンサーリンク

コメント

タイトルとURLをコピーしました