Πίνακας περιεχομένων:

Πώς να χρησιμοποιήσετε τη μονάδα MP3 DFMini Player με Arduino: 4 βήματα
Πώς να χρησιμοποιήσετε τη μονάδα MP3 DFMini Player με Arduino: 4 βήματα

Βίντεο: Πώς να χρησιμοποιήσετε τη μονάδα MP3 DFMini Player με Arduino: 4 βήματα

Βίντεο: Πώς να χρησιμοποιήσετε τη μονάδα MP3 DFMini Player με Arduino: 4 βήματα
Βίντεο: Πως να κόψω ένα μεγάλο αρχείο Μουσικής (mp3) σε μικρότερα με τίτλους και αριθμούς 2024, Ιούλιος
Anonim
Πώς να χρησιμοποιήσετε τη μονάδα MP3 DFMini Player με το Arduino
Πώς να χρησιμοποιήσετε τη μονάδα MP3 DFMini Player με το Arduino

Αρκετά έργα απαιτούν αναπαραγωγή ήχου για να προσθέσουν κάποιου είδους λειτουργικότητα. Μεταξύ αυτών των έργων, επισημαίνουμε: προσβασιμότητα για άτομα με προβλήματα όρασης, συσκευές αναπαραγωγής μουσικής MP3 και εκτέλεση φωνητικών ήχων από ρομπότ, για παράδειγμα.

Σε όλα αυτά τα συστήματα, χρειαζόμαστε μια συσκευή αναπαραγωγής ήχου MP3 για σύνδεση στο Arduino. Επομένως, σε αυτό το άρθρο θα μάθουμε τα ακόλουθα σημεία: Βασικό κύκλωμα λειτουργίας του DFMini Player MP3. Οργάνωση και διαμόρφωση αρχείων ήχου στην κάρτα μνήμης. Μουσικός έλεγχος με Arduino.

Προμήθειες

PCBWay Προσαρμοσμένο PCB.

DFPlayer Mini MP3 Module - UTSOURCE;

Αντίσταση 10kR - UTSOURCE;

Κουμπί εναλλαγής - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - UTSOURCE;

Κεφαλίδα κεφαλίδας - UTSOURCE;

Βήμα 1: Τι είναι η μονάδα MP3 DF Mini Player

Τι είναι η μονάδα MP3 DF Mini Player
Τι είναι η μονάδα MP3 DF Mini Player
Τι είναι η μονάδα MP3 DF Mini Player
Τι είναι η μονάδα MP3 DF Mini Player

Η μονάδα DFMini Player είναι μια μικρή συσκευή αναπαραγωγής μουσικής, χαμηλού κόστους και χαμηλής ισχύος που έχει ως σκοπό την αναπαραγωγή ήχων που είναι αποθηκευμένες σε μια κάρτα μνήμης.

Με βάση αυτό, η μονάδα μπορεί να ελεγχθεί μέσω της αυτόνομης λειτουργίας, δηλαδή σε αυτήν τη λειτουργία, θα υπάρχει μόνο η μονάδα DFMini, μια μπαταρία σε λειτουργία, το ηχείο, κουμπιά για τον έλεγχο της και η κάρτα SD με τα τραγούδια. Ένας άλλος τρόπος ελέγχου είναι να χρησιμοποιήσετε ένα Arduino ή άλλη συσκευή ελέγχου.

Το Arduino, για παράδειγμα, θα στείλει εντολές μέσω σειριακής επικοινωνίας με τη μονάδα DFMini Player. Η μονάδα DFMini Player εμφανίζεται στην Εικόνα 1.

Για να το ελέγξετε, είναι σημαντικό να χρησιμοποιήσετε το βασικό αυτόνομο κύκλωμα. Αυτό το κύκλωμα φαίνεται στο σχήμα 2.

Τα δύο κουμπιά που εμφανίζονται στο παραπάνω κύκλωμα χρησιμοποιούνται για την αλλαγή των μουσικών κομματιών και τον έλεγχο της έντασης του ήχου. Το κουμπί που συνδέεται με τον ακροδέκτη IO1 χρησιμοποιείται για μετάβαση στο προηγούμενο κομμάτι και μείωση της έντασης. Με ένα γρήγορο άγγιγμα το σύστημα επιστρέφει στο προηγούμενο τραγούδι, ωστόσο, αν πατήσετε το κουμπί για περισσότερο από 1 δευτερόλεπτο, το σύστημα θα μειώσει την ένταση του τραγουδιού.

Το κουμπί που είναι συνδεδεμένο στο pin IO2 χρησιμοποιείται για να μεταβείτε στο επόμενο κομμάτι και να αυξήσετε την ένταση. Με ένα γρήγορο άγγιγμα το σύστημα προχωρά στο επόμενο τραγούδι, ωστόσο, αν πατήσετε το κουμπί για περισσότερο από 1 δευτερόλεπτο, το σύστημα θα αυξήσει την ένταση του τραγουδιού.

Βήμα 2:

Εικόνα
Εικόνα

Σε αυτήν την αυτόνομη μέθοδο, τα τραγούδια πρέπει να αποθηκευτούν στην κάρτα μνήμης, όπως φαίνεται στο σχήμα 3.

Με αυτόν τον τρόπο, κάθε φορά που πατάτε τα κουμπιά, το σύστημα θα αναπαράγει κάθε τραγούδι με αύξουσα ή φθίνουσα σειρά. Ωστόσο, όταν χρησιμοποιείτε Arduino ή άλλη συσκευή ελέγχου, πρέπει να τροποποιήσουμε τον τρόπο οργάνωσης των μουσικών αρχείων στην κάρτα SD.

Τώρα, θα εξηγήσω πώς να ελέγχετε το DFMini Player χρησιμοποιώντας το Arduino μέσω σειριακής επικοινωνίας.

Βήμα 3: Έλεγχος του προγράμματος αναπαραγωγής DFMini με Arduino

Έλεγχος του προγράμματος αναπαραγωγής DFMini με Arduino
Έλεγχος του προγράμματος αναπαραγωγής DFMini με Arduino
Έλεγχος του προγράμματος αναπαραγωγής DFMini με Arduino
Έλεγχος του προγράμματος αναπαραγωγής DFMini με Arduino

Σε αυτό το βήμα, ο έλεγχος έντασης, ο έλεγχος εμβέλειας, οι εντολές ισοστάθμισης και άλλες δυνατότητες θα σταλούν από το Arduino.

Το Arduino πρέπει να επικοινωνεί μέσω του σειριακού με το DFMini Player και να στέλνει τις εντολές ελέγχου.

Το ηλεκτρονικό σχήμα του κυκλώματος ελέγχου φαίνεται στο σχήμα 4.

Αρχικά, πρέπει να συναρμολογήσουμε το κύκλωμα που φαίνεται στο παρακάτω σχήμα. Αφού συναρμολογήσετε αυτό το κύκλωμα, πρέπει να προσθέσετε τα τραγούδια στην κάρτα μνήμης σας. Σε αυτό το βήμα, τα τραγούδια θα πρέπει να μετονομαστούν σε 01, 02, 03, για παράδειγμα.

Δεν μπορείτε να αφήσετε τα τραγούδια με τα ονόματά τους, καθώς θα υπάρξει πρόβλημα όταν το Arduino στείλει την εντολή για την εκτέλεση του συγκεκριμένου κομματιού. Επομένως, πρέπει να ρυθμίσετε τις παραμέτρους όπως φαίνεται παρακάτω.

Βήμα 4:

Αφού ονομάσετε τα αρχεία, γράψτε τον ακόλουθο κώδικα στο Arduino σας.

// Περιμένει την εισαγωγή δεδομένων μέσω serial while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("Αναπαραγωγή μουσικής"); Serial.println (εντολή); εντολή = εντολή - 48; myDFPlayer.play (εντολή); menu_opcoes (); } // Αναπαραγωγή // Διακοπή εάν (εντολή == 's') {myDFPlayer.stop (); Serial.println ("Η μουσική σταμάτησε!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Συνέχεια …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Η μουσική σταμάτησε!"); myDFPlayer.pause (); } menu_opcoes (); }

// Αυξάνει την ένταση

if (εντολή == '+') {myDFPlayer.volumeUp (); Serial.print ("Τρέχων τόμος:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("επόμενο:"); Serial.print ("Τρέχον κομμάτι:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Μειώνει την ένταση εάν (εντολή == '-') {myDFPlayer.volumeDown (); Serial.print ("Τρέχων τόμος:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("========================================== ================================================== ======================================= ")); Serial.println (F ("Εντολές:")); Serial.println (F ("[1-3] Για να επιλέξετε το αρχείο MP3")); Serial.println (F ("[s] διακοπή αναπαραγωγής")); Serial.println (F ("[p] παύση/συνέχεια μουσικής"); Serial.println (F ("[+ ή -] αυξάνει ή μειώνει την ένταση")); Serial.println (F (" εμπρός ή πίσω το κομμάτι")); Serial.println (); Serial.println (F ("========================================== ================================================== ====================================== ")); }

Ο κωδικός που παρουσιάζεται παραπάνω είναι αρκετά απλός και θα σας βοηθήσει να επιλέξετε το τραγούδι με τον αριθμό του, να σταματήσετε, να σταματήσετε, να ελέγξετε την ένταση και να περάσετε τα κομμάτια.

Ο μουσικός έλεγχος συνίσταται στην αποστολή δεδομένων από το σειριακό Arduino IDE στον πίνακα Arduino. Αρχικά, το σύστημα πραγματοποιεί τη διαμόρφωση στη ρύθμιση και ελέγχει εάν η κάρτα SD έχει εισαχθεί στη μονάδα.

Εάν δεν έχει εισαχθεί, το σύστημα παρουσιάζει ένα μήνυμα για ειδοποίηση του χρήστη.

Επιπλέον, το σύστημα εμφανίζει μηνύματα με επιλογές διαμόρφωσης συστήματος.

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Έναρξη μονάδας DFPlayer … Περιμένετε!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Δεν έχει αρχικοποιηθεί:")); Serial.println (F ("1. Ελέγξτε τις συνδέσεις DFPlayer Mini")); Serial.println (F ("2. Εισαγωγή κάρτας SD")); ενώ (αληθινό)? } Serial.println (); Serial.println (F ("Η μονάδα DFPlayer Mini προετοιμάστηκε!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Σειριακό χρονικό όριο 500ms myDFPlayer.volume (5); // Τόμος 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Εάν τοποθετηθεί η κάρτα μνήμης, η ροή κώδικα θα εισέλθει στη λειτουργία βρόχου.

void loop () {// Περιμένει την εισαγωγή δεδομένων μέσω σειριακής ενώ (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '3')) {Serial.print ("Αναπαραγωγή μουσικής"); Serial.println (εντολή); εντολή = εντολή - 48; myDFPlayer.play (εντολή); menu_opcoes (); } // Αναπαραγωγή // Διακοπή εάν (εντολή == 's') {myDFPlayer.stop (); Serial.println ("Η μουσική σταμάτησε!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Συνέχεια …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Η μουσική σταμάτησε!"); myDFPlayer.pause (); } menu_opcoes (); }

// Αυξάνει την ένταση

if (εντολή == '+') {myDFPlayer.volumeUp (); Serial.print ("Τρέχων τόμος:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("επόμενο:"); Serial.print ("Τρέχον κομμάτι:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Μειώνει την ένταση εάν (εντολή == '-') {myDFPlayer.volumeDown (); Serial.print ("Τρέχων τόμος:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Ο χρήστης μπορεί να στείλει τους ακόλουθους χαρακτήρες ελέγχου:

Αριθμοί 1 έως 3: Επιλέξτε το τραγούδι που θα παιχτεί.

  • Γράμμα s: Σταματήστε το τραγούδι, γράμμα p: Διακόψτε το τραγούδι.
  • Στείλτε το σύμβολο +: Αυξήστε την ένταση του τραγουδιού.
  • Αποστολή του σήματος -: Μειώστε την ένταση του τραγουδιού.
  • Στείλτε το σήμα <: Επιλέξτε το προηγούμενο τραγούδι.
  • Στείλτε το σήμα>: Επιλέξτε το επόμενο τραγούδι.

Από αυτά τα σήματα, γράμματα και αριθμούς, το Arduino θα τα λάβει μέσω του σειριακού και θα ελέγχει τη μουσική που θα παιχτεί.

Κάθε κατάσταση παρουσιάζεται παρακάτω και εσωτερικά, με τις αντίστοιχες εντολές της.

if ((command> = '1') && (command <= '3')) {Serial.print ("Αναπαραγωγή μουσικής"); Serial.println (εντολή); εντολή = εντολή - 48; myDFPlayer.play (εντολή); menu_opcoes (); } // Αναπαραγωγή // Διακοπή εάν (εντολή == 's') {myDFPlayer.stop (); Serial.println ("Η μουσική σταμάτησε!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Συνέχεια …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Η μουσική σταμάτησε!"); myDFPlayer.pause (); } menu_opcoes (); }

// Αυξάνει την ένταση

if (εντολή == '+') {myDFPlayer.volumeUp (); Serial.print ("Τρέχων τόμος:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("επόμενο:"); Serial.print ("Τρέχον κομμάτι:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Μειώνει την ένταση εάν (εντολή == '-') {myDFPlayer.volumeDown (); Serial.print ("Τρέχων τόμος:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Έτσι, εάν εφαρμόσατε όλα τα βήματα που παρουσιάστηκαν, θα μπορούσατε να μάθετε:

  • Βασικό κύκλωμα λειτουργίας του DFMini Player MP3.
  • Οργάνωση και διαμόρφωση αρχείων ήχου στην κάρτα μνήμης.
  • Μουσικός έλεγχος με το Arduino. Από αυτόν τον κώδικα, μπορείτε να αναπτύξετε άλλα έργα που πρέπει να χρησιμοποιούν τον ήχο ως λειτουργικότητα του συστήματος.

Ευχαριστίες

Τέλος, σας ευχαριστούμε για την ανάγνωση και την υποστήριξη του PCBWAY. COM για την υποστήριξη του Silício Lab στην παραγωγή αυτού του άρθρου για εσάς.

Το εργαστήριο Silícios ευχαριστεί την UTSOURCE για να προσφέρει τα ηλεκτρονικά εξαρτήματα για την κατασκευή αυτού του έργου.

Συνιστάται: