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

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ค. 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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 171

  • @thelastoutpostworkshop
    @thelastoutpostworkshop  9 หลายเดือนก่อน

    Next Video in this series:
    Navigating MP3 Files with Rotary Encoder | MP3 Player Project Series:
    th-cam.com/video/2hBNCFyouJY/w-d-xo.html

  • @alaeddingarraoui4538
    @alaeddingarraoui4538 6 วันที่ผ่านมา

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

  • @albafleutot3944
    @albafleutot3944 3 หลายเดือนก่อน +1

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

  • @user-lb9xm9bu8w
    @user-lb9xm9bu8w 4 หลายเดือนก่อน +3

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

  • @LowerDeckProps
    @LowerDeckProps 8 หลายเดือนก่อน +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!

  • @DreamsOfTheMind-video
    @DreamsOfTheMind-video 2 หลายเดือนก่อน

    Thank you very much! Your explaining is perfect!

  • @codecrusader123
    @codecrusader123 4 หลายเดือนก่อน

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

  • @drz400
    @drz400 8 หลายเดือนก่อน +1

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

  • @robertrobert5583
    @robertrobert5583 4 หลายเดือนก่อน

    Excellent tutorial - thank you very much

  • @rando5930
    @rando5930 2 หลายเดือนก่อน

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

  • @studywithrichardlin3381
    @studywithrichardlin3381 5 หลายเดือนก่อน

    Tks for sharing. I can did it because I saw this video. Great. Good TH-camr.

  • @leeskelton9715
    @leeskelton9715 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน +2

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

  • @jeffbornes3986
    @jeffbornes3986 5 หลายเดือนก่อน +1

    Nice Video... thank you

  • @YasirFaur
    @YasirFaur 8 หลายเดือนก่อน +1

    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 3 หลายเดือนก่อน

      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.

  • @user-ee7kw6fc4s
    @user-ee7kw6fc4s 2 หลายเดือนก่อน

    very nice! I approve!

  • @thatotherguyontv
    @thatotherguyontv หลายเดือนก่อน +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  หลายเดือนก่อน

      Thanks for sharing

    • @Madmaxkkb
      @Madmaxkkb 26 วันที่ผ่านมา

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

  • @tisenres
    @tisenres 6 หลายเดือนก่อน

    Thanks for such an informative video on TH-cam!!!!

  • @plantor0728
    @plantor0728 หลายเดือนก่อน

    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 หลายเดือนก่อน

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

  • @eddiejones8709
    @eddiejones8709 10 หลายเดือนก่อน +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.

  • @user-nf5rj4ee5h
    @user-nf5rj4ee5h 3 หลายเดือนก่อน

    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

  • @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.

  • @dudaqee2059
    @dudaqee2059 3 หลายเดือนก่อน

    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?

  • @tomas3244
    @tomas3244 5 หลายเดือนก่อน

    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  5 หลายเดือนก่อน

      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 5 หลายเดือนก่อน

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

  • @DatFunnyPerson
    @DatFunnyPerson 2 หลายเดือนก่อน

    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

  • @leeskelton9715
    @leeskelton9715 5 หลายเดือนก่อน +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  5 หลายเดือนก่อน +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 5 หลายเดือนก่อน +1

      @@thelastoutpostworkshop fingers crossed 🙏🏻😄

    • @judgeworks3687
      @judgeworks3687 3 หลายเดือนก่อน +1

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

    • @leeskelton9715
      @leeskelton9715 3 หลายเดือนก่อน

      @@judgeworks3687 , thanks 👍

  • @user-su2tv4tc7d
    @user-su2tv4tc7d 2 หลายเดือนก่อน

    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.

  • @theveteranworkshop8328
    @theveteranworkshop8328 10 หลายเดือนก่อน +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  10 หลายเดือนก่อน +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

  • @Mysthral1
    @Mysthral1 9 หลายเดือนก่อน

    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  9 หลายเดือนก่อน

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

    • @Mysthral1
      @Mysthral1 9 หลายเดือนก่อน +1

      OK, je tentes ma chance.@@thelastoutpostworkshop

  • @user-ql1yl3im3k
    @user-ql1yl3im3k 4 หลายเดือนก่อน

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

  • @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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  ปีที่แล้ว +1

      Yes absolutely, you can play sounds using if then else based on your sensors input

    • @deepakzilla4962
      @deepakzilla4962 ปีที่แล้ว +1

      Thanks a lot sir 🙏

  • @benedictpng1343
    @benedictpng1343 11 วันที่ผ่านมา

    Can you make a video using microbit for dfplayer

  • @garyrowlands8537
    @garyrowlands8537 4 หลายเดือนก่อน

    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  4 หลายเดือนก่อน

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

    • @garyrowlands8537
      @garyrowlands8537 4 หลายเดือนก่อน

      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  4 หลายเดือนก่อน

      Paste your code here, I will check it out

  • @121sarveshwarvec8
    @121sarveshwarvec8 2 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  2 หลายเดือนก่อน

      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

  • @Symboter
    @Symboter 28 วันที่ผ่านมา

    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?

  • @Ninanas98
    @Ninanas98 10 หลายเดือนก่อน

    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  10 หลายเดือนก่อน +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 10 หลายเดือนก่อน

      @@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  10 หลายเดือนก่อน +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

  • @kind_Nictus
    @kind_Nictus หลายเดือนก่อน

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

  • @theveteranworkshop8328
    @theveteranworkshop8328 7 หลายเดือนก่อน

    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  7 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 หลายเดือนก่อน

      Ho do you hook up the battery to the ESP32 ?

  • @jindagar
    @jindagar ปีที่แล้ว +1

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

  • @michaelcoles4181
    @michaelcoles4181 8 หลายเดือนก่อน

    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  8 หลายเดือนก่อน +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 8 หลายเดือนก่อน +1

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

    • @michaelcoles4181
      @michaelcoles4181 8 หลายเดือนก่อน

      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  8 หลายเดือนก่อน +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 8 หลายเดือนก่อน

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

  • @user-kq8hw9wg5t
    @user-kq8hw9wg5t 7 หลายเดือนก่อน

    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  7 หลายเดือนก่อน

      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 ?

  • @stephengrattage5219
    @stephengrattage5219 5 หลายเดือนก่อน

    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  5 หลายเดือนก่อน

      yes here is an example : th-cam.com/video/HzHRJd7rihE/w-d-xo.html

  • @kingnylonofficial1139
    @kingnylonofficial1139 11 หลายเดือนก่อน

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

  • @FiammaNera_
    @FiammaNera_ 4 หลายเดือนก่อน

    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  4 หลายเดือนก่อน

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

    • @FiammaNera_
      @FiammaNera_ 4 หลายเดือนก่อน

      @@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  4 หลายเดือนก่อน

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

  • @udeolisachukwudalu1309
    @udeolisachukwudalu1309 หลายเดือนก่อน

    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.

  • @jordangoddard630
    @jordangoddard630 8 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  8 หลายเดือนก่อน +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 : th-cam.com/video/2hBNCFyouJY/w-d-xo.html

  • @marjunemjhay6328
    @marjunemjhay6328 10 หลายเดือนก่อน

    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  10 หลายเดือนก่อน

      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 10 หลายเดือนก่อน

      @@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.

  • @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 7 หลายเดือนก่อน

      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)

  • @marckerger
    @marckerger 2 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  2 หลายเดือนก่อน

      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...

  • @Fusionultra2000
    @Fusionultra2000 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      Seams like a wiring issue to me

    • @Fusionultra2000
      @Fusionultra2000 3 หลายเดือนก่อน

      @@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?

  • @BR-rg9ib
    @BR-rg9ib 5 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  5 หลายเดือนก่อน

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

  • @Madmaxkkb
    @Madmaxkkb 26 วันที่ผ่านมา

    Sir you connected the RX pin to the d11 and TX pin to d10 but at 7:06 you declared the RX pin and TX pin as (10,11) ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  26 วันที่ผ่านมา

      Yes you are right, if you follow the wiring in the video, it should be reversed in the code, MP3Player mp3(11,10);

    • @Madmaxkkb
      @Madmaxkkb 18 วันที่ผ่านมา

      I have checked my mp3 player without using the Arduino and it is working perfectly (I have used external battery)but as soon as I connect with my Arduino nano then it is not able to play the track plz assist me sir is there any problem with my Nano I have checked everything

    • @Madmaxkkb
      @Madmaxkkb 17 วันที่ผ่านมา +1

      I have changed my nano to uno and the problem is solved

  • @ashishkishore6447
    @ashishkishore6447 27 วันที่ผ่านมา

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  27 วันที่ผ่านมา

      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 27 วันที่ผ่านมา

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

  • @kevingreenberg4281
    @kevingreenberg4281 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      The wiring may be the issue

    • @kevingreenberg4281
      @kevingreenberg4281 2 หลายเดือนก่อน

      @@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 2 หลายเดือนก่อน

      the same thing keeps happening to me@@kevingreenberg4281

  • @FIP60B30T
    @FIP60B30T 8 หลายเดือนก่อน

    @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  8 หลายเดือนก่อน

      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 8 หลายเดือนก่อน

      @@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  8 หลายเดือนก่อน

      you mean the MP3 is working with the ADKEY pin ?

    • @FIP60B30T
      @FIP60B30T 8 หลายเดือนก่อน

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

  • @dreezykareem7199
    @dreezykareem7199 10 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  10 หลายเดือนก่อน

      Is there any message on the serial Monitor ? Also recheck your wiring

  • @mostafamaged3404
    @mostafamaged3404 8 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  8 หลายเดือนก่อน +1

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

  • @he214abc
    @he214abc 5 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  5 หลายเดือนก่อน

      only one

    • @he214abc
      @he214abc 5 หลายเดือนก่อน

      @@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 5 หลายเดือนก่อน

      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 หลายเดือนก่อน

    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  หลายเดือนก่อน

      check if you have reversed TX and RX pins

    • @AntonyIssaqS
      @AntonyIssaqS หลายเดือนก่อน

      @@thelastoutpostworkshop I am using without arduino

    • @AntonyIssaqS
      @AntonyIssaqS หลายเดือนก่อน

      @@thelastoutpostworkshop can you please share your email?

  • @mercedespautassi9978
    @mercedespautassi9978 29 วันที่ผ่านมา

    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.

  • @marjunemjhay6328
    @marjunemjhay6328 7 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  7 หลายเดือนก่อน

      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 7 หลายเดือนก่อน

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

    • @marjunemjhay6328
      @marjunemjhay6328 7 หลายเดือนก่อน

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

    • @marjunemjhay6328
      @marjunemjhay6328 7 หลายเดือนก่อน +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 3 หลายเดือนก่อน

    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?

  • @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?

  • @davidrose1278
    @davidrose1278 5 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  5 หลายเดือนก่อน

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

  • @AnxBeta
    @AnxBeta 9 หลายเดือนก่อน

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

  • @retrobombstudios1258
    @retrobombstudios1258 6 หลายเดือนก่อน

    Could a pico run this?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  6 หลายเดือนก่อน +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 2 หลายเดือนก่อน

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  2 หลายเดือนก่อน

      No

    • @hayan112
      @hayan112 2 หลายเดือนก่อน +1

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

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  2 หลายเดือนก่อน

      But I think you can format it as 32GB

    • @hayan112
      @hayan112 2 หลายเดือนก่อน

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

  • @suhasmahajan-if9ez
    @suhasmahajan-if9ez 8 หลายเดือนก่อน

    sir can you plz help me it snot working

  • @user-rf2ht8ne3y
    @user-rf2ht8ne3y 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      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 2 หลายเดือนก่อน

      @@thelastoutpostworkshop ok thx