composants:mp3-tf-16p

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
composants:mp3-tf-16p [2019/08/10 23:19] mhcomposants:mp3-tf-16p [2019/08/11 00:25] – [Usage] mh
Line 2: Line 2:
  
 Small MP3 reader on micro SD. Small MP3 reader on micro SD.
 +
 +{{composants:mp3-tf-16p.jpg?200}}
 +
 +===== Specifications =====
 +
 +
 +  *supported sampling rates (kHz): 8/11.025/12/16/22.05/24/32/44.1/48
 +  *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 "DFRobotDFPlayerMini.h" library.
 +
 +{{composants:mp3-tf-16p_specs.jpg?300}}
 +
 +===== Demo =====
 +
 +{{composants:mp3-tf-16p_demo_wiring.jpg?500}}
 +
 +++++ Arduino Code | 
 +
 +<code c>
 +#include "Arduino.h"
 +#include "SoftwareSerial.h"
 +#include "DFRobotDFPlayerMini.h"
 +
 +SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
 +DFRobotDFPlayerMini myDFPlayer;
 +void printDetail(uint8_t type, int value);
 +
 +void setup()
 +{
 +  mySoftwareSerial.begin(9600);
 +  Serial.begin(115200);
 +  
 +  Serial.println();
 +  Serial.println(F("DFRobot DFPlayer Mini Demo"));
 +  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
 +  
 +  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
 +    Serial.println(F("Unable to begin:"));
 +    Serial.println(F("1.Please recheck the connection!"));
 +    Serial.println(F("2.Please insert the SD card!"));
 +    while(true);
 +  }
 +  Serial.println(F("DFPlayer Mini online."));
 +  
 +  myDFPlayer.volume(15);  //Set volume value. From 0 to 30
 +  myDFPlayer.play(1);  //Play the first mp3
 +}
 +
 +void loop()
 +{
 +  static unsigned long timer = millis();
 +  
 +  if (millis() - timer > 3000) {
 +    timer = millis();
 +    //myDFPlayer.next();  //Play next mp3 every 3 second.
 +  }
 +  
 +  if (myDFPlayer.available()) {
 +    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
 +  }
 +}
 +
 +void printDetail(uint8_t type, int value){
 +  switch (type) {
 +    case TimeOut:
 +      Serial.println(F("Time Out!"));
 +      break;
 +    case WrongStack:
 +      Serial.println(F("Stack Wrong!"));
 +      break;
 +    case DFPlayerCardInserted:
 +      Serial.println(F("Card Inserted!"));
 +      break;
 +    case DFPlayerCardRemoved:
 +      Serial.println(F("Card Removed!"));
 +      break;
 +    case DFPlayerCardOnline:
 +      Serial.println(F("Card Online!"));
 +      break;
 +    case DFPlayerPlayFinished:
 +      Serial.print(F("Number:"));
 +      Serial.print(value);
 +      Serial.println(F(" Play Finished!"));
 +      break;
 +    case DFPlayerError:
 +      Serial.print(F("DFPlayerError:"));
 +      switch (value) {
 +        case Busy:
 +          Serial.println(F("Card not found"));
 +          break;
 +        case Sleeping:
 +          Serial.println(F("Sleeping"));
 +          break;
 +        case SerialWrongStack:
 +          Serial.println(F("Get Wrong Stack"));
 +          break;
 +        case CheckSumNotMatch:
 +          Serial.println(F("Check Sum Not Match"));
 +          break;
 +        case FileIndexOut:
 +          Serial.println(F("File Index Out of Bound"));
 +          break;
 +        case FileMismatch:
 +          Serial.println(F("Cannot Find File"));
 +          break;
 +        case Advertise:
 +          Serial.println(F("In Advertise"));
 +          break;
 +        default:
 +          break;
 +      }
 +      break;
 +    default:
 +      break;
 +  }
 +
 +}
 +</code>
 +
 +++++
  
  
 ===== Ressources ===== ===== Ressources =====
  
 +  *[[https://www.instructables.com/id/Tutorial-of-MP3-TF-16P/|Instructables basic tutorial]]
 +  *[[http://acoptex.com/project/288/basics-project-065a-mp3-tf-16p-mini-mp3-player-module-at-acoptexcom/|More indepth tutorial]]
  
  • composants/mp3-tf-16p.txt
  • Last modified: 2020/06/01 16:35
  • by 127.0.0.1