Master the MP3-TF-16P (DF Player Mini) on Arduino: Seamless Sound Integration & Easy Setup! 🎶

Поделиться
HTML-код
  • Опубликовано: 6 июл 2024
  • How to program the MP3 Player, MP3-TF-16P (DF Player Mini) on Arduino with ease, with no pop or click sound when the MP3 player starts!
    Including how to wire the MP3 player, how to format the Micro SD card to be compatible, how to install the libraries in the Arduino IDE, how to solve problems with the MP3 player and how to program it to play your MP3 sounds.
    🔔 Support the channel🔔
    www.buymeacoffee.com/thelasto...
    SD Card Formatter:
    www.sdcard.org/downloads/form...
    Library on my website:
    dev.azure.com/overlording/The...
    MP3-TF-16P DFPlayer Mini:
    amzn.to/40FqbzD
    Arduino 2 watts speaker:
    amzn.to/3Xmsswx
    Arduino Nano:
    amzn.to/3HOhNF9
    Please note that the product links are Amazon affiliate links. As an Amazon Associate, I earn from qualifying purchases at no additional cost to you. This helps support the channel and allows me to continue creating content for you. Thank you for your support!
    Next Video in this series:
    Navigating MP3 Files with Rotary Encoder | MP3 Player Project Series:
    • Arduino Magic: Navigat...
    Chapters:
    0:00 Introduction
    0:24 MP3-TF-16P Specifications
    0:55 Wiring
    2:14 Micro SD Card Preparation
    2:52 Files on the Micro SD Card
    3:52 Setup on the breadboard
    4:10 Arduino IDE Setup
    4:52 Libraries installation
    6:45 Programming to play a sound
    8:20 Programming to get MP3 Player Status
    9:47 Some errors you may get
    10:23 Problems & Solutions
    11:35 Programming to play 2 sounds in sequence
    12:27 Programming to blink a LED when a sound is played
    14:43 How to access the other functions of DFRobot Library
    #arduino #mp3tf16p #dfplayer #mp3player #programming #coding #beginners #tutorial
  • НаукаНаука

Комментарии • 179

  • @thelastoutpostworkshop
    @thelastoutpostworkshop  10 месяцев назад +1

    Next Video in this series:
    Navigating MP3 Files with Rotary Encoder | MP3 Player Project Series:
    ruclips.net/video/2hBNCFyouJY/видео.html

  • @albafleutot3944
    @albafleutot3944 4 месяца назад +3

    Thank you so much !! I've been trying to make DFPlayer work for days ! I'm so happy I found your channel haha

  • @alaeddingarraoui4538
    @alaeddingarraoui4538 Месяц назад +1

    I can't thank you enough man !!! you made my night here .. I tried a bunch of tutorials on RUclips before this one but they didn't work, and with yours, it worked for the first time. THANK YOU A LOT!

  • @user-lb9xm9bu8w
    @user-lb9xm9bu8w 6 месяцев назад +4

    Excellently done. I appreciate all the time you spent here and well documented as well. Thanks!

  • @LowerDeckProps
    @LowerDeckProps 9 месяцев назад +1

    I got this working this morning. Thanks, Charles. Great tutorial! I'm looking forward to adding sound to my projects.

  • @MrWesleyruff
    @MrWesleyruff Год назад +1

    Thank you! This helped me get my MP3-TF-16P V3.0 up and running!👍👍

  • @user-qp6mn3je6i
    @user-qp6mn3je6i Год назад +1

    Thanks a lot. This video really helps me! After i format my SD card the mp3 player finally works!

  • @codecrusader123
    @codecrusader123 5 месяцев назад

    Super Project. This type of tutorial is very helpful for people thankyou

  • @DreamsOfTheMind-video
    @DreamsOfTheMind-video 4 месяца назад

    Thank you very much! Your explaining is perfect!

  • @drz400
    @drz400 10 месяцев назад +1

    Thank you! The test was successful.Your header file was helpful.  I will modify some toys.

  • @rando5930
    @rando5930 3 месяца назад

    Thank´s a lot. now it finally worked on my setup!!

  • @robertrobert5583
    @robertrobert5583 5 месяцев назад

    Excellent tutorial - thank you very much

  • @studywithrichardlin3381
    @studywithrichardlin3381 6 месяцев назад

    Tks for sharing. I can did it because I saw this video. Great. Good RUclipsr.

  • @jeffbornes3986
    @jeffbornes3986 7 месяцев назад +1

    Nice Video... thank you

  • @leeskelton9715
    @leeskelton9715 10 месяцев назад +2

    Thank you very much for this. Complete beginner here and I managed ( eventually ) to get this working thanks to your detailed tutorial. I wondered if you have another tutorial on adding a PIR sensor so that it plays the themes when movement is detected?
    Thanks again and kind regards

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  10 месяцев назад +2

      Thanks a lot for your feedback, I do not have a tutorial with a PIR sensor, I will add it to the list!

  • @user-ee7kw6fc4s
    @user-ee7kw6fc4s 4 месяца назад

    very nice! I approve!

  • @YasirFaur
    @YasirFaur 9 месяцев назад +2

    Thank you very much. Please note that you should use a 3W speaker or one with lower power rating. If you don't have a 3W speaker, you can use a 5W speaker with a series resistor (20 ohms or more), and it can work, as I have done.

    • @UliSpalthoff
      @UliSpalthoff 4 месяца назад

      Isn't the load to the amplifier defined by the Ohms rating, not by the power rating? afaik, The speaker power just tells which power the speaker can handle without distorting sound too much.

  • @tisenres
    @tisenres 8 месяцев назад

    Thanks for such an informative video on RUclips!!!!

  • @DatFunnyPerson
    @DatFunnyPerson 4 месяца назад

    Thank you for the Tutorial. In my case I have like 10 Songs as mp3 on my card and i would love the songs to shuffle whenever i turn my arudino on. So it plays a random song. any idea? I have zero idea how to code btw ^^ lol

  • @dudaqee2059
    @dudaqee2059 4 месяца назад

    hey so working on a project where I am only using one song on the SD card, but wanted to know how i could make it activate by the push of a button and only play the song once each time. think you could help me with this one?

  • @plantor0728
    @plantor0728 3 месяца назад

    I KID YOU NOT I HAVE BEEN TRYING TO GET THIS STUPID PIECE TO WORK FOR 3 DAYS THANK YOU!!!!!!!! MY TORTURE IS FINALLY OVER

    • @plantor0728
      @plantor0728 3 месяца назад

      now all I have to do now is find a way to play it by using an ir remote

  • @theveteranworkshop8328
    @theveteranworkshop8328 Год назад +1

    Great video, what if I want to have a total of about 20 sounds playing with a delay in between. Do I need to number each out with a delay command in between? Or is there a way to make the code shorter?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Год назад +1

      You just have to put them into a for-loop and insert a delay like this :
      int volumeLevel = 20;
      int trackCount = mp3.player.readFileCounts();
      for (int i = 1; i

  • @user-nf5rj4ee5h
    @user-nf5rj4ee5h 5 месяцев назад

    I really appreciate your videos, really helpfull! i am working on controling the volume with a ultrasonic capteur for the distance and im not sure what fonction to use!! any advice? thanks for your work

  • @user-ql1yl3im3k
    @user-ql1yl3im3k 6 месяцев назад

    How do I Reset when i want to stop a song thats already playing

  • @eddiejones8709
    @eddiejones8709 11 месяцев назад +1

    Great Video. As you, I was having problems getting my player to play all the files after formatting my disk using WIN10. I found that if you don't use the quick format your MP3 player will play all of you files. I have about 700 songs on a disk and by using the randomALL command it plays all of the songs loaded. Also, I don't any number or folders assigned to the songs. Hope this helps.

  • @benedictpng1343
    @benedictpng1343 Месяц назад

    Can you make a video using microbit for dfplayer

  • @user001sg9
    @user001sg9 Год назад

    Nice video, Thanks for sharing.
    I wish to add the MP3 player function to a selfbuilt Nixie clock and turn it into a "talking clock". For this purpose, I need to concatnate different MP3 files depending upon the time the clock is going to announce.
    My question: Does the MP3 Player library allow concatanation of files?
    Thanks for your comment/advice in advance.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Год назад

      Nice project! You don't need to concatenate the MP3 files (and the MP3 player don't have this functionnality), you can select which one to play by using code depending on the hour. Here is a very simple example :
      #define trackFor12 20
      #define trackfor11 25
      switch (hour) {
      case 12:
      mp3.playTrackNumber(trackFor12, 25, true);
      break;
      case 11:
      mp3.playTrackNumber(trackfor11, 25, true);
      break;
      break;
      // and son on
      }

    • @user001sg9
      @user001sg9 Год назад

      @@thelastoutpostworkshop Thank you for your quick response. It is helpful.

  • @thatotherguyontv
    @thatotherguyontv 2 месяца назад +2

    Just worked through an issue I had with this board, one that others may also have, so I thought I'd share.
    Everything was connected correctly, the code was implemented and uploaded. But the only serial output was "MP3 Player Online."
    After messing around with the code and it still not working, I switched out my Arduino Nano for an Uno, and that instantly fixed the problem.
    I think my Nano is an older model, without an ESP32. So check for microcontroller compatbility!
    Otherwise, a great tutorial and header file. Thanks!

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  2 месяца назад

      Thanks for sharing

    • @Madmaxkkb
      @Madmaxkkb 2 месяца назад

      Brother I the got same problem but then I used an external battery to power the df player and it worked in my case

  • @leeskelton9715
    @leeskelton9715 7 месяцев назад +1

    Hello and thank you for fantastic content. I just wanted to ask if you may have found a way of adding a PIR sensor to this as yet? I have a great little Sith Wayfinder star wars project that I’d like to add sound, activated by a sensor when you enter the room.
    Kind regards

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 месяцев назад +4

      It is still on my list, choice are hard to make! Anyone else would like to have tutorial a PIR sensor with the MP3 module ?

    • @leeskelton9715
      @leeskelton9715 7 месяцев назад +1

      @@thelastoutpostworkshop fingers crossed 🙏🏻😄

    • @judgeworks3687
      @judgeworks3687 5 месяцев назад +1

      I’d love a tutorial on using PIR sensor to trigger sound/tracks

    • @leeskelton9715
      @leeskelton9715 4 месяца назад

      @@judgeworks3687 , thanks 👍

  • @tomas3244
    @tomas3244 7 месяцев назад

    Great tutorial! Thank you! I followed every step of it. I have one issue, though. I have four tracks on my SD card, and some of them are super short (like 1 second). When i play the short tracks, they repeat themselves once. Why does this happen?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 месяцев назад

      Very strange, I really don't know. If you play a track with this call : mp3.playTrackNumber(your_track_number, volume,true); Do it repeat itself ?

    • @tomas3244
      @tomas3244 7 месяцев назад

      @@thelastoutpostworkshop Thank you for your quick response, I’ll check it out

  • @jindagar
    @jindagar Год назад +1

    how can we configure this in to a sound fx board i.e. pressing a certain button plays a certain sound?

  • @Ninanas98
    @Ninanas98 11 месяцев назад

    Thanks for the video! Is it also possible to use a button to cycle through the sounds while they still play in a loop? So that when the sound is done playing it jumps to the next sound, but when it is playing and you want to skip this sound you can press the button to go to the next? I tried a few things but can't get it to work.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  11 месяцев назад +2

      yes you can do that, just specify false for the last parameter when starting a sound : mp3.playTrackNumber(sound, currentVolume, false);
      So the sound will start playing and your code will not be blocked, you can then do anything you want while the sound is still playing, including starting a new sound!

    • @Ninanas98
      @Ninanas98 11 месяцев назад

      @@thelastoutpostworkshop Thank you for the reply! I tried it like this
      if (digitalRead(buttonNext) == ACTIVATED){
      i ++;
      }
      mp3.playTrackNumber(i, 4, false);
      but the sound keeps starting from the beginning until you start the last sound in the folder, that one is played fully. Would it also be possible to combine it with a for loop or something so when you don't press the button the next sound will automatically play after the current sound is finished?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  11 месяцев назад +1

      if you want to play a sound automatically after one is finished, you can do it this way : mp3.playTrackNumber(sound1,15,false);
      while(!mp3.playCompleted() && !buttonPressed) {
      }
      //play the other file

  • @Symboter
    @Symboter 2 месяца назад

    Did you experience different speed of playback using more than one of modules? I hooked up three of them, Start them simultaneously, same as cards, same file and they start synchronous, but drift about 1 sec within 6 minutes playback. So speed of playback is not identical on these modules, good only for doorbells, but not for serious applications, or?

  • @stephengrattage5219
    @stephengrattage5219 6 месяцев назад

    Can you use a Oled screen with this board? I have been trying to get this to work with a adafruit sound board but haven’t been successful

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  6 месяцев назад

      yes here is an example : ruclips.net/video/HzHRJd7rihE/видео.html

  • @kind_Nictus
    @kind_Nictus 3 месяца назад

    what mp3 player to use if u want to use for example 12w speakers, or even more?

  • @deepakzilla4962
    @deepakzilla4962 Год назад

    Sir I am doing a project on Blind Stick with multiple sensors (Fire, Water, LDR, Ultrasonic, DHT11) Can I use this method to play different sounds depending up on the sensor input reads and using the If, else if conditions ? BTW this was an helpful video

  • @trevo2686
    @trevo2686 9 дней назад

    Hey im going to try and get in contact with you. I'm trying to connect my arduino to a gp2040-ce. It's for a custom fightstick. You seem to know a lot about this. I'm trying to get my fightstick to play the jurassic park theme song when I turn it on. (if I could add sound to the buttons when I pushed them that would be cool too)

  • @user-kq8hw9wg5t
    @user-kq8hw9wg5t 9 месяцев назад

    Greetings
    I am using the Gravity Digital Speaker Module for the MP3-TF-16P project, but my speaker has 3 pins.
    For my my connection I tried connecting the VCC and GND of speaker to the Arduino Mega, then the signal Pin to SPK1 of the MP3, I eventually connected signal pin to all other pins of the MP3 player but there is still no audio sound output, the speaker produces a scratchy sound
    The MP3 blue light is not turning on but on the serial monitor it says “MP3Player online”
    May you please assist me?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад

      I am not sure if it can work since the gravity module has a digital interface when SPK connections on the MP3-TF-16P are analog, but it also have DAC_R and DAC_L pins, have you tried these ?

  • @theveteranworkshop8328
    @theveteranworkshop8328 9 месяцев назад

    Hello again, Once again great video. I am having 2 issues, one when I do the file count I am getting a -1 as the number of files in my card. 2 and most important, I upload the program and it runs perfectly, then I remove the USB from the computer and hook it up to my mobile battery and nothing happens. Do I need a different code to start it once plugged to a battery?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад

      -1 occurs when the player is busy and a timeout occurs for waiting too long for the player

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад

      Ho do you hook up the battery to the ESP32 ?

  • @michaelcoles4181
    @michaelcoles4181 10 месяцев назад

    Thanks for this video, I'm new to this and found it very informative. I've got the player to work as instructed but I'd like to play two tracks basically an engine on/off effect. Track 1 (engine startup) would play continually as long as a momentary switch is pressed then track 2 (engine cool down)would play automatically when the the switch is released. Could this be done and where would I wire the switch?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  10 месяцев назад +1

      Yes it can be done, you can wire the switch on pin 7, and use this to initialize it in the setup() function:
      void setup()
      {
      pinMode(7, INPUT_PULLUP);
      // Rest pf your code here
      }
      then in the loop function you read the push button:
      void loop()
      {
      if (readPushButton())
      {
      // Play your first MP3 file
      while(!readPushButton()) {
      // Here we are just waiting for the push button to release
      }
      // Plya your second MP3 file
      }
      Here is the function to read the push button:
      boolean readPushButton(void)
      {
      int value = digitalRead(PushButtonPin);
      delay(5);
      return value == 0;
      }

    • @michaelcoles4181
      @michaelcoles4181 10 месяцев назад +1

      Thanks for answering so promptly. I'll definitely give this a go!@@thelastoutpostworkshop

    • @michaelcoles4181
      @michaelcoles4181 10 месяцев назад

      Having problems setting this up. I keep getting error messages no matter which order I put them in.
      #include "mp3tf16p.h"
      MP3Player mp3(10,11);
      void setup()
      {
      Serial.begin(9600);
      mp3.initialize();
      pinMode(7,INPUT_PULLUP);
      }
      void loop()
      {
      boolean readPushButton(void);
      int value = digitalRead(PushButtonPin);
      delay(5);
      return value == 0;
      if (readPushButton());
      mp3.playTrackNumber(1,30);
      while(!readPushButton())
      mp3.playTrackNumber(2,30);
      }
      I'm obviously doing something very wrong.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  10 месяцев назад +1

      here is the full code for the sketch corrected:
      #include "./lib/mp3tf16p.h"
      #define led 13
      // MP3 Player
      MP3Player mp3(10, 11);
      #define PushButtonPin 7
      void setup()
      {
      Serial.begin(9600);
      mp3.initialize();
      pinMode(PushButtonPin, INPUT_PULLUP);
      }
      void loop()
      {
      if (readPushButton())
      {
      mp3.playTrackNumber(1, 30);
      while (!readPushButton())
      ;
      mp3.playTrackNumber(2, 30);
      }
      }
      boolean readPushButton(void)
      {
      int value = digitalRead(PushButtonPin);
      delay(5);
      return value == 0;
      }

    • @michaelcoles4181
      @michaelcoles4181 10 месяцев назад

      Thanks for taking the time to correct this for me. I've just started and realise that I have a lot to learn.@@thelastoutpostworkshop

  • @kingnylonofficial1139
    @kingnylonofficial1139 Год назад

    Please can you help me connect these to an ultrasonic sensores to detect object from 5meters

  • @FiammaNera_
    @FiammaNera_ 5 месяцев назад

    Hi nice video it helped me understand how it works, but I have one question: Is there a way to stop the initialize if the audio files are in the void loop? like, I use a switch to toggle all off but I don't want to use it for removing the power, do you think is there a way with coding?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  5 месяцев назад

      I ma not sure I understand what you mean exactly by "stop the initialize", show me some code please

    • @FiammaNera_
      @FiammaNera_ 5 месяцев назад

      @@thelastoutpostworkshop I mean like: void loop() {
      int filecount = mp3.player.readFileCounts();
      Serial.println(filecount);
      mp3.initialize();
      *Then Here in the loop I add some coding*
      And then after I did the code, I want a switch to, like, "mute" the speaker or to stop the code, because mp3.initialize(); makes the mp3 start to play, is there a "reverse" of the mp3.initialize(); or I have to stop all using external power connections?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  5 месяцев назад

      the mp3.initialize() must be in the setup(), not in the loop.

  • @marckerger
    @marckerger 3 месяца назад

    how can I use your script on a board with hardware serial1 ? mine does not support softwareserial

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  3 месяца назад

      Here’s how you can modify the MP3Player class to use a hardware serial port instead of a software serial one. The changes mainly involve removing the SoftwareSerial object and assuming you will use a predefined hardware serial port for communication with the DFPlayer Mini module:
      #include "Arduino.h"
      #include "DFRobotDFPlayerMini.h"
      #define MP3_ERROR_ONLY 1
      #define MP3_ALL_MESSAGE 2
      class MP3Player
      {
      private:
      HardwareSerial *mySerial; // Pointer to HardwareSerial instead of SoftwareSerial
      void statusOnSerial(uint8_t type, int value);
      void waitPlayIsTerminated(void);
      public:
      DFRobotDFPlayerMini player;
      // Constructor now takes a reference to a HardwareSerial object
      MP3Player(HardwareSerial &serialPort);
      ~MP3Player();
      void playTrackNumber(int trackNumber, int volume, boolean waitPlayTerminated = true);
      boolean playCompleted(void);
      void initialize(void);
      int serialPrintStatus(int errorOnly);
      };
      // Constructor implementation changed to initialize the HardwareSerial reference
      MP3Player::MP3Player(HardwareSerial &serialPort) : mySerial(&serialPort)
      {
      }
      MP3Player::~MP3Player()
      {
      }
      void MP3Player::initialize(void)
      {
      mySerial->begin(9600);
      Serial.println(F("Initializing MP3Player ..."));
      if (!player.begin(*mySerial,true,false)) // Use the HardwareSerial reference
      {
      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)
      ;
      }
      player.volume(10);
      Serial.println(F("MP3Player online."));
      }
      // The rest of the implementation remains the same...

  • @Mysthral1
    @Mysthral1 10 месяцев назад

    Intéressant comme d'habitude. À ton avis, est-il nécessaire de prendre ce modèle exactement, (MP3-TF-16P comme ta photo, écrit sur le dessus) ou il n'y a pas de différence (côté qualité bien sûre? Il y a plusieurs modèles sur Amazon et à différents prix. Celui qui porte le numéro du modèle exact, au lieu de DFPlayer mini comme les moins dispendieux, est 12 $ au lieu de 3 pour 5 $.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  10 месяцев назад

      Je n'ai testé que ce modèle jusqu'èa maintenant

    • @Mysthral1
      @Mysthral1 10 месяцев назад +1

      OK, je tentes ma chance.@@thelastoutpostworkshop

  • @121sarveshwarvec8
    @121sarveshwarvec8 3 месяца назад

    Can we play specific audio , when it is mapped with some buttons

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  3 месяца назад

      Sure you can do that, you just have to create a function for each button that will be called when they are pressed, inside each function call the play function to play the audio file

  • @VRNC-kn5tf
    @VRNC-kn5tf Год назад

    This module works perfect for a project I'm working on its just that its a little quite even at max volume of 30. Is there a way to boost the volume without needing another module?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Год назад

      What are the specs of your speaker ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Год назад

      Is it quiet with all the sounds you have on your SD card?

    • @exoticloop
      @exoticloop 8 месяцев назад

      I'm working on a project rn that needs screaming. There are some amplifying circuitry you can do on a breadboard with transistors and other components but it can get cluttered and complicated. If you do end up using a module try a PAM8403 (im using this rn) or maybe a LM386 (i havent used this)

  • @BR-rg9ib
    @BR-rg9ib 6 месяцев назад

    CAN WE ADD SPEAKERS (WITH BUILTIN POWER SUPPLY) WITH 3.5 MM AUDIO JACK IN MP3-TF PLAYER?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  6 месяцев назад

      There is no 3.5 mm jack on the module but maybe it would work with an amplifier module

  • @marjunemjhay6328
    @marjunemjhay6328 11 месяцев назад

    I have a problem with playing loop folder function.
    After playing for let say 4 songs in a row my buttons stop working
    but the music still contineus to play.
    I only calling the button function from the main loop.
    I have 5 button that use millis and state change for single and long press.
    Does maybe something have conflict with the code?or does it have a blocking code that prevents it to continue in main loop?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  11 месяцев назад

      if your playing your song with the last parameter as true : mp3.playTrackNumber(1,15,true), this code is blocking and the rest of the code is going to execute after the song as entirely played. Change the last parameter to false.

    • @marjunemjhay6328
      @marjunemjhay6328 11 месяцев назад

      @@thelastoutpostworkshop
      Thank you for the reply.
      But i did not use playTrackNumber in my code.
      The problem is with
      mp3.player.randomAll and
      mp3.player.loopfolder() functions.
      When we say it's playing for at least 4 songs. The buttons just stop working.
      I dont know if there a blocking code that prevents it to go to main loop.
      Or conficts with my millis.
      Hope you can help.
      Thank you.

  • @jordangoddard630
    @jordangoddard630 9 месяцев назад

    Can you point me in the right direction to learn how to Stop/Pause as well as Loop a track?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад +1

      Pausing a track, I am not sure it can be done with this module, looping a track yes, if you look at the second video in the series you will get an idea on how to possibly loop a track : ruclips.net/video/2hBNCFyouJY/видео.html

  • @theforestrealm8783
    @theforestrealm8783 Месяц назад

    Hello this is a very good video 👍 but it says that in the mp3tf16p.h file that there is no file called software serial.h if you could help me that would be amazing. Btw you have a new subscriber

  • @udeolisachukwudalu1309
    @udeolisachukwudalu1309 3 месяца назад

    Is there a functionality where you can directly access a music you want to play with the press of a button?
    I dont mean jumping to the next music, rather i want to be able to access any music file not minding its position on the file list.

  • @mostafamaged3404
    @mostafamaged3404 9 месяцев назад

    Does the player have to be connected to pins 10 and 11 ? If so why ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад +1

      You can use other digital pins since the Arduino library is using software serial Uart

  • @user-su2tv4tc7d
    @user-su2tv4tc7d 3 месяца назад +1

    I've checked my wiring, and every time I plug the mp3 player in, the lights on the Arduino turn off, do you have any idea what is happening.

  • @dreezykareem7199
    @dreezykareem7199 Год назад

    hey, mp3 player turns off when i plug in the sd card. its slowing down my project. pleas help me.

  • @Fusionultra2000
    @Fusionultra2000 5 месяцев назад

    When I run the sketch it only says mp3 player online and nothing happens. When I run the GetStarted example by dfrobot I get different results. I get a timeout error running it after the speaker makes a short crackling sound and then it says track 1 complete. I triple checked every connection with the same wiring in the video but I can't get it to work.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  5 месяцев назад

      Seams like a wiring issue to me

    • @Fusionultra2000
      @Fusionultra2000 4 месяца назад

      @@thelastoutpostworkshop I got it working now but it doesn't like long files that are more than a minute long. If I go to soundbuttonsworld and download a short audio file and add it to the sd card, it plays just fine. However if I put in a regular music length file into it, it will not play. Is there a size limit for each file?

  • @mercedespautassi9978
    @mercedespautassi9978 2 месяца назад

    Good morning, I am trying to compile the sketch, but it keeps saying that I don't have the SoftwareSerial.h file, which I actually do have. And the times that it does compile the sketch, it says that I don't have another .h file that I guess the SoftwareSerial.h file is calling. What can I do? Another problem I've been havign is that the esp32 doesn't even detect the module, i've rechecked the conections a lot, but they are all correct. Also, the module i have is a clone, it isn't exactly the same hardware, do you know where I can get info about this? The place I bought the module from doesn't have any info about DFPlayer Mini's clones.

  • @FIP60B30T
    @FIP60B30T 9 месяцев назад

    @thelastoutpostworkshop Hi, I try to connect the mp3 player to a mega 2560 pro at hardware serial1 (pin 18 and 19). There seems to be no connection, can you help for a solution?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад

      I don't have a mega board, so I cannot test it, but I assume pin 18 and 19 you are using are for the RX and TX pin of the MP3 player. Have you tried using pin 10 and 11 on the Mega for the RX and TX pins on the MP3 player to see if it works ?

    • @FIP60B30T
      @FIP60B30T 9 месяцев назад

      @@thelastoutpostworkshop Thank you, yes I tried. There is even no message at the serial monitor with the mp3.serialPrintStatus(MP3_ALL_MESSAGE) command. It works with the ADKEY pin, so it's not defect.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  9 месяцев назад

      you mean the MP3 is working with the ADKEY pin ?

    • @FIP60B30T
      @FIP60B30T 9 месяцев назад

      @@thelastoutpostworkshop I would like it working with the UART but to test if it's not broken I tried the ADKEY pin.

  • @imarobodude
    @imarobodude 8 дней назад

    I'm confused why nobody ever says what impedance of speaker this can handle; as if they think 3 Watt tells me anything? It makes NO difference if the speaker can handle more than 3 Watt since DFPlayer will never get that high so it will never care that your speaker can handle more than that. I get the hint people don't comprehend that the speaker is not sending power back to the driver. But I DO need to know whether you have 4, 8, maybe 16 ohm speaker ??

  • @guohongxu4825
    @guohongxu4825 Год назад

    Hi, if I want to stop the mp3 file halfway while it's playing, how would I do that?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Год назад

      The easiest way is to cut your mp3 file with the free MP3 editor Audacity : www.audacityteam.org/

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Год назад +1

      You can also stop the song in code using the stop() function this way (here the MP3 stops after 3s):
      mp3.initialize();
      mp3.playTrackNumber(23, 25,false);
      delay(3000);
      mp3.player.stop();

    • @guohongxu4825
      @guohongxu4825 Год назад

      ​@@thelastoutpostworkshop many thanks for the quick response. do you have a reference sheet that i can look into?

  • @ashishkishore6447
    @ashishkishore6447 2 месяца назад

    How can we use DFPlayer mini with Arduino Nano 33 IoT ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  2 месяца назад

      Yes, the DFPlayer Mini can be used with the Arduino Nano 33 IoT. However, there are a few considerations you should take into account due to the differences in operating voltages and the additional features of the Arduino Nano 33 IoT.
      Voltage Compatibility: The Arduino Nano 33 IoT operates at 3.3V, whereas the DFPlayer Mini typically works with 5V signals. To safely connect the TX and RX pins of the DFPlayer Mini to the Arduino Nano 33 IoT, you might need to use a level shifter or a voltage divider to step down the 5V TX output of the DFPlayer to 3.3V acceptable by the Arduino's RX pin.
      Serial Communication: The Arduino Nano 33 IoT has one primary serial port used for programming and debugging over USB. To communicate with the DFPlayer Mini, you can use software serial on other digital pins.

    • @ashishkishore6447
      @ashishkishore6447 2 месяца назад

      @@thelastoutpostworkshop Thanks for your prompt reply. Can you please make and share some tutorial on this? Shall appreciate your help on this!

  • @garyrowlands8537
    @garyrowlands8537 6 месяцев назад

    Hi Great clear video and content thank you. I have read through the comments below to see if anyone else has asked the following question. I have this unit and everything works...except....I cannot play a track with a number greater than 10 (ten)
    I can play up to ten, so double digits work great but not in excess of ten.
    I have fully formatted the card, the DF Robot player Mini is installed as is your very useful header file......
    All the obvious and even some less obvious...
    Have you had this issue, if you did what was your way forward please.
    If I find one I will post it here. Thanks and I hope your Christmas was fantastic and the coming New Year also

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  6 месяцев назад

      I never had this issue before, do you get any message on the serial monitor ?

    • @garyrowlands8537
      @garyrowlands8537 6 месяцев назад

      Not in the Serial Monitor, simply the track will not play and the program hangs. If I change to a track that had a modified date and position of ten or under, it plays perfectly without hanging :)@@thelastoutpostworkshop

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  6 месяцев назад

      Paste your code here, I will check it out

  • @user-fo9qs2vg9s
    @user-fo9qs2vg9s 23 дня назад

    Good evening, I'm trying to start the player but it says MP3 online, but nothing works, what could be the error? Can you help me please?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  23 дня назад

      Reeheck your wiring. Make sure the TX and RX pin are not reversed. Do you have any error message on the serial monitor when playing a sound file ?

    • @user-fo9qs2vg9s
      @user-fo9qs2vg9s 23 дня назад

      @@thelastoutpostworkshop no, nothing appears. Everything is connected correctly, there are no errors. I would attach a photo here, but this is impossible. Can we write to each other somewhere on social networks? I will be very grateful to you!!!🙏🙏🙏

  • @monkeytree1648
    @monkeytree1648 Месяц назад

    can you help me for some reason it only works if I use Uno not a Nano
    and in serial monitor for the Nano it says :
    Initializing MP3Player …
    MP3Player online.
    the Uno works perfectly fine pleases Help

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Месяц назад

      Very strange, the wiring shoud be the same. Are you running the same code ? Does the Nano execute the playTrackNumber() ?

    • @monkeytree1648
      @monkeytree1648 Месяц назад

      @@thelastoutpostworkshop the wiring is the same and it doesn’t play the song :(

    • @monkeytree1648
      @monkeytree1648 Месяц назад

      @@thelastoutpostworkshop i used a different tutorial and I got it working thx for trying to help me

  • @he214abc
    @he214abc 7 месяцев назад

    how many sounds tracks can be played at the same time ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 месяцев назад

      only one

    • @he214abc
      @he214abc 7 месяцев назад

      @@thelastoutpostworkshop i played rc tank, many sound tracks needed to be played at the same time, like 5 channels, then what i should use instead ?

    • @rosmanminiatures
      @rosmanminiatures 7 месяцев назад

      I have tried this and, for sure not 5 chanels but a couple, and you have to conect as many dfplayer as channels you want, with only one speaker needed. For example in your case, i supose the noise of the engine sound will be one channel and at the same time when the canon shots you want to hear an explosion, then you play this on the second one. The dfplayer has to be connected to another pin set for RX TX comunication. And i reccomend to think about if you really need those five channels or if you can simplify them in less because all that will be so pin consuming

  • @AntonyIssaqS
    @AntonyIssaqS 3 месяца назад

    I have a problem with playing songs using DF player mini. It didn’t play the song. I had uploaded the song to the SD card. Then I insert that to the DF player. While inserting the SD card to the DF player, the light on the DF player mini turned off and there is no sign of playing the song. I thought that there might be an issue with the module. So I replaced that with newer one. Then also the same problem comes. I had used three modules till now but the problem persists. Can anyone who is familiar in this can able to solve this issue?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  3 месяца назад

      check if you have reversed TX and RX pins

    • @AntonyIssaqS
      @AntonyIssaqS 3 месяца назад

      @@thelastoutpostworkshop I am using without arduino

    • @AntonyIssaqS
      @AntonyIssaqS 3 месяца назад

      @@thelastoutpostworkshop can you please share your email?

  • @kevingreenberg4281
    @kevingreenberg4281 4 месяца назад

    When I run the code to test a song I am not seeing a blue light at all and no music is playing. Not sure what I did/am doing wrong.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  4 месяца назад

      The wiring may be the issue

    • @kevingreenberg4281
      @kevingreenberg4281 4 месяца назад

      @@thelastoutpostworkshop hmm I just tried again, same issue. I do hear faint white noise from the speakers but thats all that is happening

    • @user-su2tv4tc7d
      @user-su2tv4tc7d 3 месяца назад

      the same thing keeps happening to me@@kevingreenberg4281

  • @marjunemjhay6328
    @marjunemjhay6328 8 месяцев назад

    Hi can you help me..i want to use your "mp3tf16p.h" with hardware serial..thank you very much.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  8 месяцев назад

      Here is the code for using Harware Serial : #include "DFRobotDFPlayerMini.h", be aware that it is used for Serial for communication with your computer over the USB port :
      #define MP3_ERROR_ONLY 1
      #define MP3_ALL_MESSAGE 2
      class MP3Player
      {
      private:
      void statusOnSerial(uint8_t type, int value);
      void waitPlayIsTerminated(void);
      public:
      DFRobotDFPlayerMini player;
      MP3Player(); // No pins in the constructor now
      ~MP3Player();
      void playTrackNumber(int trackNumber, int volume, boolean waitPlayTerminated = true);
      boolean playCompleted(void);
      void initialize(void);
      int serialPrintStatus(int errorOnly);
      };
      MP3Player::MP3Player() // Constructor doesn't need parameters now
      {
      // Empty constructor
      }
      // ... [Other methods remain unchanged]
      void MP3Player::initialize(void)
      {
      Serial.begin(9600); // Start the hardware serial port
      Serial.println(F("Initializing MP3Player ..."));
      if (!player.begin(Serial, true, false)) // Pass the hardware Serial
      {
      // ... [Unchanged error handling code]
      }
      player.volume(10);
      Serial.println(F("MP3Player online."));
      }

    • @marjunemjhay6328
      @marjunemjhay6328 8 месяцев назад

      @@thelastoutpostworkshop thank you very much you are the best at this. Subscribed to your channel...keep it up..👍👍👍👍

    • @marjunemjhay6328
      @marjunemjhay6328 8 месяцев назад

      @@thelastoutpostworkshop im having an
      error: request for member 'initialize' in 'mp3', which is of non-class type 'MP3Player()' mp3.initialize();

    • @marjunemjhay6328
      @marjunemjhay6328 8 месяцев назад +1

      ​@@thelastoutpostworkshop do i have to change anything in my old script?
      I've just pass the mp3 with an empty value.
      MP3Player mp3();
      Edited..: i get it...
      I have to lose the bracket..thank you very much

  • @omerhalitipekci2256
    @omerhalitipekci2256 4 месяца назад

    i have a issue. code and everything works well but when code starts in 3 seconds it volumes down to nothing. can you help me?

  • @AnxBeta
    @AnxBeta 10 месяцев назад

    SD card format program does not work, loads then does nothing??

  • @davidrose1278
    @davidrose1278 7 месяцев назад

    Im getting a undefined reference to 'DFRobotDFPlayerMini::volume(unsigned char)'
    'DFRobotDFPlayerMini::play(int)',etc.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 месяцев назад

      Did you install the library DFRobotDFPlayerMini from the Arduino IDE library manager ?

  • @retrobombstudios1258
    @retrobombstudios1258 7 месяцев назад

    Could a pico run this?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 месяцев назад +1

      I did not try it, my only concern is the DFRobotMiniplayer library compatibility with the Pico, but since the MP3 player use standard serial communications, it should work. Give it a try!

  • @hayan112
    @hayan112 4 месяца назад

    does it not work with 64 GB Sd card ????

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  4 месяца назад

      No

    • @hayan112
      @hayan112 4 месяца назад +1

      @thelastoutpostworkshop i thought it must work so i already bought the 64 gb😭.
      Thanks for the awesome tutorial tho

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  4 месяца назад

      But I think you can format it as 32GB

    • @hayan112
      @hayan112 4 месяца назад

      @thelastoutpostworkshop can you please tell me how and save me money and time, im in a rush for a project

  • @suhasmahajan-if9ez
    @suhasmahajan-if9ez 9 месяцев назад

    sir can you plz help me it snot working

  • @user-rf2ht8ne3y
    @user-rf2ht8ne3y 4 месяца назад

    Initializing MP3Player ...
    MP3Player online.
    -1
    How I solve it, I have a 32GB micro SD card and good connections to the pins of the MP3-TF-16P to the Arduino, and only one song.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  4 месяца назад

      I f you have 1 song, make sure you pass the track number 1 in this function : mp3.playTrackNumber(1, 25,false); If this is the case, recheck you wiring, it easy to mix-up RX and TX pin

    • @user-rf2ht8ne3y
      @user-rf2ht8ne3y 3 месяца назад

      @@thelastoutpostworkshop ok thx