Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HW-247A with 3200D chip #6

Open
DaleSchultz opened this issue Jun 7, 2023 · 2 comments
Open

HW-247A with 3200D chip #6

DaleSchultz opened this issue Jun 7, 2023 · 2 comments

Comments

@DaleSchultz
Copy link

Hi,

I can't get HW-247A with 3200D chip modules to work with your DF_Player_ESP8266_Basic sample code.

The (good) documentation refers to the 3200B and this has 3200D printed on it, and I am wondering if that may be the cause.

Using a Wemos D1 mini (ESP8266) with D1 ---> RX and D2 ---> TX.

mp3.getStatus() returns: 4=communication error

I have increased MP3_SERIAL_TIMEOUT to 800

Tried 3.3V and 5V power. (Red LED on DFPlayer comes on for a short while after powering up)

@androidonis
Copy link

androidonis commented Jul 13, 2023

I also have this variant and it is working in my design with this lib.

#include "DFPlayer.h"
#include <time.h>
....
Serial.begin(9600, SERIAL_8N1); // speed, type, TX=1, RX=3
mp3.begin(Serial, MP3_SERIAL_TIMEOUT, DFPLAYER_HW_247A, false); //"DFPLAYER_HW_247A" see NOTE, false=no feedback from module after the command
mp3.stop(); //if player was runing during ESP8266 reboot
mp3.reset(); //reset all setting to default
mp3.setSource(2); //1=USB-Disk, 2=TF-Card, 3=Aux, 4=Sleep, 5=NOR Flash
mp3.setEQ(0); //0=Off, 1=Pop, 2=Rock, 3=Jazz, 4=Classic, 5=Bass
mp3.setVolume(volume); //0..30, module persists volume on power failure
mp3.sleep(); //inter standby mode, 24mA
...
mp3.wakeup(2);
mp3.playTrack(1);
...
mp3.stop(); mp3.setVolume(volume); mp3.playTrack(mp3_track);

I hope that helps.
Observations are, that this design is only mono. Output is Pin14 of chip connected to DAC_R and DAC_L through 100nF capacitors.
As I did read there is a firmware in the GD3200 chip which can mean same chips behave different.

@androidonis
Copy link

After some programming I discovered that communication is not stable with 3200D. For example I use the module to announce the current time with a combination of up to 5 samples and this is working in principle, but every 3..5 announces the module is not playing one or more of the samples. The signals of serial interface look perfect. Having a mp3.stop(); mp3.setVolume(volume); before any track helps to get it a little more reliable. Is there an example with this driver to see the responses for every command I send. I see that the module is sending something on its serial output, but what?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants