Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
composants:mp3-tf-16p [2019/08/10 23:20] – mh | composants:mp3-tf-16p [2020/06/01 16:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 3: | Line 3: | ||
Small MP3 reader on micro SD. | Small MP3 reader on micro SD. | ||
- | < | + | {{composants: |
+ | |||
+ | ===== Specifications ===== | ||
+ | |||
+ | |||
+ | *supported sampling rates (kHz): 8/ | ||
+ | *24 -bit DAC output, support for dynamic range 90dB, SNR support 85dB | ||
+ | *fully supports FAT16 , FAT32 file system, maximum support 32G of the TF card, support 32G of U disk, 64M bytes NORFLASH | ||
+ | *a variety of control modes, I/O control mode, serial mode, AD button control mode | ||
+ | *advertising sound waiting function, the music can be suspended. when advertising is over in the music continue to play | ||
+ | *audio data sorted by folder, supports up to 100 folders, every folder can hold up to 255 songs | ||
+ | *30 level adjustable volume, 6 -level EQ adjustable | ||
===== Usage ===== | ===== Usage ===== | ||
+ | |||
+ | Datasheet should be provided. | ||
+ | |||
+ | Uses " | ||
+ | |||
+ | {{composants: | ||
+ | |||
+ | ===== Demo ===== | ||
+ | |||
+ | {{composants: | ||
+ | |||
+ | ++++ Arduino Code | | ||
+ | |||
+ | <code c> | ||
+ | #include " | ||
+ | #include " | ||
+ | #include " | ||
+ | |||
+ | SoftwareSerial mySoftwareSerial(10, | ||
+ | DFRobotDFPlayerMini myDFPlayer; | ||
+ | void printDetail(uint8_t type, int value); | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | mySoftwareSerial.begin(9600); | ||
+ | Serial.begin(115200); | ||
+ | | ||
+ | Serial.println(); | ||
+ | Serial.println(F(" | ||
+ | Serial.println(F(" | ||
+ | | ||
+ | if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. | ||
+ | Serial.println(F(" | ||
+ | Serial.println(F(" | ||
+ | Serial.println(F(" | ||
+ | while(true); | ||
+ | } | ||
+ | Serial.println(F(" | ||
+ | | ||
+ | myDFPlayer.volume(15); | ||
+ | myDFPlayer.play(1); | ||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | static unsigned long timer = millis(); | ||
+ | | ||
+ | if (millis() - timer > 3000) { | ||
+ | timer = millis(); | ||
+ | // | ||
+ | } | ||
+ | | ||
+ | if (myDFPlayer.available()) { | ||
+ | printDetail(myDFPlayer.readType(), | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void printDetail(uint8_t type, int value){ | ||
+ | switch (type) { | ||
+ | case TimeOut: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case WrongStack: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case DFPlayerCardInserted: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case DFPlayerCardRemoved: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case DFPlayerCardOnline: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case DFPlayerPlayFinished: | ||
+ | Serial.print(F(" | ||
+ | Serial.print(value); | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case DFPlayerError: | ||
+ | Serial.print(F(" | ||
+ | switch (value) { | ||
+ | case Busy: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case Sleeping: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case SerialWrongStack: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case CheckSumNotMatch: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case FileIndexOut: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case FileMismatch: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | case Advertise: | ||
+ | Serial.println(F(" | ||
+ | break; | ||
+ | default: | ||
+ | break; | ||
+ | } | ||
+ | break; | ||
+ | default: | ||
+ | break; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | ++++ | ||
===== Ressources ===== | ===== Ressources ===== | ||
+ | *[[https:// | ||
+ | *[[http:// | ||