Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
composants:mp3-tf-16p [2019/08/11 00:05] – [Usage] mh | composants:mp3-tf-16p [2019/08/11 00:23] – [MP3-TF-16P] mh | ||
---|---|---|---|
Line 3: | Line 3: | ||
Small MP3 reader on micro SD. | Small MP3 reader on micro SD. | ||
- | {{composants: | + | {{composants: |
===== Usage ===== | ===== Usage ===== | ||
- | Uses " | + | Datasheet should be provided. |
+ | |||
+ | Uses " | ||
+ | |||
+ | Supports FAT32 filesystem and various others. | ||
+ | |||
+ | ===== 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:// | + | *[[https:// |
+ | *[[http:// | ||