Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Mehrere Projekte erfordern eine Tonwiedergabe, um eine Art von Funktionalität hinzuzufügen. Unter diesen Projekten heben wir hervor: Barrierefreiheit für Sehbehinderte, MP3-Musikplayer und die Ausführung von Sprachklängen durch Roboter zum Beispiel.
In all diesen Systemen benötigen wir ein MP3-Tonwiedergabegerät, um eine Verbindung zum Arduino herzustellen. Daher lernen wir in diesem Artikel folgende Punkte kennen: Grundlegende Betriebsschaltung des DFMini Player MP3;Organisation und Konfiguration von Sounddateien auf der Speicherkarte;Musikalische Steuerung mit Arduino.
Lieferungen
PCBWay Kundenspezifische PCB;
DFPlayer Mini MP3-Modul - UTSOURCE;
10kR-Widerstand - UTSOURCE;
Schaltertaste - UTSOURCE;
Steckbrett - UTSOURCE;
Arduino UNO - UTSOURCE;
Header-Pin - UTSOURCE;
Schritt 1: Was ist das DF Mini Player MP3-Modul?
Das DFMini Player-Modul ist ein kleiner Musikplayer, kostengünstig und mit geringem Stromverbrauch, der dazu dient, auf einer Speicherkarte gespeicherte Klänge wiederzugeben.
Darauf aufbauend kann das Modul über den Standalone-Modus gesteuert werden, d.h. in diesem Modus gibt es nur das DFMini-Modul, einen Akku zur Stromversorgung, den Lautsprecher, Tasten zur Steuerung und die SD-Karte mit den Songs. Eine andere Möglichkeit zur Steuerung ist die Verwendung eines Arduino oder eines anderen Steuergeräts.
Der Arduino beispielsweise sendet Befehle über die serielle Kommunikation mit dem DFMini Player-Modul. Das DFMini Player-Modul ist in Abbildung 1 dargestellt.
Um es zu steuern, ist es wichtig, die grundlegende Standalone-Schaltung zu verwenden. Diese Schaltung ist in Abbildung 2 dargestellt.
Die beiden in der obigen Schaltung gezeigten Tasten werden verwendet, um die Musiktitel zu ändern und die Lautstärke des Tons zu regeln. Die an Pin IO1 angeschlossene Taste wird verwendet, um zum vorherigen Titel zu wechseln und die Lautstärke zu verringern. Mit einer kurzen Berührung kehrt das System zum vorherigen Song zurück. Wenn Sie die Taste jedoch länger als 1 Sekunde drücken, verringert das System die Lautstärke des Songs.
Der an Pin IO2 angeschlossene Taster wird verwendet, um zum nächsten Track zu gehen und die Lautstärke zu erhöhen. Durch schnelles Antippen geht das System zum nächsten Song über, wenn Sie die Taste jedoch länger als 1 Sekunde drücken, erhöht das System die Lautstärke des Songs.
Schritt 2:
Bei dieser Standalone-Methode müssen die Songs auf der Speicherkarte gespeichert werden, wie in Abbildung 3 gezeigt.
Auf diese Weise spielt das System jedes Mal, wenn die Tasten gedrückt werden, jeden Song in aufsteigender oder absteigender Reihenfolge ab. Wenn Sie jedoch Arduino oder ein anderes Steuergerät verwenden, müssen wir die Organisation der Musikdateien auf der SD-Karte ändern.
Jetzt erkläre ich, wie man den DFMini Player mit dem Arduino über die serielle Kommunikation steuert.
Schritt 3: Steuerung des DFMini Players mit Arduino
In diesem Schritt werden die Lautstärkeregelung, Bereichsregelung, Equalizer-Befehle und andere Funktionen von Arduino gesendet.
Der Arduino muss über die serielle Schnittstelle mit dem DFMini Player kommunizieren und die Steuerbefehle senden.
Das elektronische Schema der Steuerschaltung ist in Abbildung 4 dargestellt.
Zuerst müssen wir die in der Abbildung unten gezeigte Schaltung zusammenbauen. Nachdem Sie diese Schaltung zusammengebaut haben, müssen Sie die Songs auf Ihrer Speicherkarte hinzufügen. In diesem Schritt sollten die Songs beispielsweise in 01, 02, 03 umbenannt werden.
Sie können die Songs nicht mit ihren Namen belassen, da es ein Problem gibt, wenn der Arduino den Befehl sendet, den bestimmten Track auszuführen. Daher müssen Sie wie unten gezeigt konfigurieren.
Schritt 4:
Schreiben Sie nach dem Benennen der Dateien den folgenden Code auf Ihrem Arduino.
// Wartet auf die Dateneingabe über serialwhile (Serial.available () > 0) {Befehl = Serial.read (); if ((Befehl >= '1') && (Befehl <= '9')) {Serial.print ("Musikwiedergabe"); Serial.println (Befehl); Befehl = Befehl - 48; myDFPlayer.play(Befehl); menu_opcoes(); } //Wiedergabe //Stopp if (Befehl == 's') { myDFPlayer.stop(); Serial.println ("Musik gestoppt!"); menu_opcoes(); } //Pausa/Continua a musica if (Befehl == 'p') { pausa = !pausa; if (Pausa == 0) {Serial.println ("Weiter …"); myDFPlayer.start(); aufrechtzuerhalten. Wenn (Pausa == 1) {Serial.println ("Musik pausiert!"); myDFPlayer.pause(); } menu_opcoes(); }
// Erhöht die Lautstärke
if (Befehl == '+') { myDFPlayer.volumeUp(); Serial.print ("Aktuelles Volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes(); } if (Befehl == '') { myDFPlayer.next(); Serial.println ("weiter:"); Serial.print ("Aktueller Titel:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes(); } //Verringert die Lautstärke if (Befehl == '-') { myDFPlayer.volumeDown(); Serial.print ("Aktuelles Volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes(); } } } void menu_opcoes () {Serial.println (); Serial.println(F("========================================== ================================================ =====================================")); Serial.println (F ("Befehle:")); Serial.println (F(" [1-3] Um die MP3-Datei auszuwählen")); Serial.println (F (" [s] stoppt die Reproduktion")); Serial.println (F(" [p] Musik anhalten/fortsetzen")); Serial.println (F(" [+ oder -] erhöht oder verringert die Lautstärke")); Serial.println (F (" vorwärts oder rückwärts die Spur")); Serial.println(); Serial.println(F("========================================== ================================================ ====================================")); }
Der oben dargestellte Code ist recht einfach und hilft Ihnen, den Song anhand seiner Nummer auszuwählen, zu stoppen, zu pausieren, die Lautstärke zu regeln und die Titel zu übergeben.
Die musikalische Steuerung besteht darin, Daten von der Arduino IDE seriell an unser Arduino-Board zu senden. Das System nimmt zunächst die Konfiguration im Setup vor und prüft, ob die SD-Karte im Modul steckt.
Wenn es nicht eingefügt ist, zeigt das System eine Meldung an, um den Benutzer zu warnen.
Außerdem zeigt das System Meldungen mit Systemkonfigurationsoptionen an.
Void setup () {//Comunicacao serielle com oder modulo mySoftwareSerial.begin (9600); // Initialisierung einer seriellen Arduino Serial.begin (115200); //Verifica se o modulo esta responseendo e se o //cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Initializing DFPlayer module … Wait!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Nicht initialisiert:")); Serial.println (F ("1. Überprüfen Sie die DFPlayer Mini-Verbindungen")); Serial.println (F ("2. Legen Sie eine SD-Karte ein")); während (wahr); } Serial.println(); Serial.println (F ("DFPlayer Mini-Modul initialisiert!")); //Definicoes iniciais myDFPlayer.setTimeOut(500); //Timeout seriell 500ms myDFPlayer.volume(5); //Volume 5 myDFPlayer. EQ(0); //Equalizacao normal menu_opcoes(); }
Wenn die Speicherkarte eingesteckt ist, geht der Codefluss in die Schleifenfunktion über.
Void Schleife () {// Wartet auf Dateneingabe über seriell while (Serial.available () > 0) {Befehl = Serial.read (); if ((Befehl >= '1') && (Befehl <= '3')) {Serial.print ("Musikwiedergabe"); Serial.println (Befehl); Befehl = Befehl - 48; myDFPlayer.play(Befehl); menu_opcoes(); } //Wiedergabe //Stopp if (Befehl == 's') { myDFPlayer.stop(); Serial.println ("Musik gestoppt!"); menu_opcoes(); } //Pausa/Continua a musica if (Befehl == 'p') { pausa = !pausa; if (Pausa == 0) {Serial.println ("Weiter …"); myDFPlayer.start(); aufrechtzuerhalten. Wenn (Pausa == 1) {Serial.println ("Musik pausiert!"); myDFPlayer.pause(); } menu_opcoes(); }
// Erhöht die Lautstärke
if (Befehl == '+') { myDFPlayer.volumeUp(); Serial.print ("Aktuelles Volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes(); } if (Befehl == '') { myDFPlayer.next(); Serial.println ("weiter:"); Serial.print ("Aktueller Titel:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes(); } //Verringert die Lautstärke if (Befehl == '-') { myDFPlayer.volumeDown(); Serial.print ("Aktuelles Volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes(); } } }
Der Benutzer kann folgende Steuerzeichen senden:
Nummern 1 bis 3: Wählen Sie das abzuspielende Lied aus;
- Buchstabe s: Stoppt das Lied;Buchstabe p: Unterbricht das Lied;
- Senden Sie das +-Zeichen: Erhöhen Sie die Song-Lautstärke;
- Senden Sie das - Signal: Verringern Sie die Song-Lautstärke;
- Signal senden <: Vorheriges Lied auswählen;
- Signal senden >: Nächstes Lied auswählen;
Von diesen Signalen, Buchstaben und Zahlen empfängt der Arduino sie über die serielle Schnittstelle und steuert die abzuspielende Musik.
Jede Bedingung wird unten und intern mit ihren jeweiligen Befehlen dargestellt.
Wenn ((Befehl >= '1') && (Befehl <= '3')) {Serial.print ("Musikwiedergabe"); Serial.println (Befehl); Befehl = Befehl - 48; myDFPlayer.play(Befehl); menu_opcoes(); } //Wiedergabe //Stopp if (Befehl == 's') { myDFPlayer.stop(); Serial.println ("Musik gestoppt!"); menu_opcoes(); } //Pausa/Continua a musica if (Befehl == 'p') { pausa = !pausa; if (Pausa == 0) {Serial.println ("Weiter …"); myDFPlayer.start(); aufrechtzuerhalten. Wenn (Pausa == 1) {Serial.println ("Musik pausiert!"); myDFPlayer.pause(); } menu_opcoes(); }
// Erhöht die Lautstärke
if (Befehl == '+') { myDFPlayer.volumeUp(); Serial.print ("Aktuelles Volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes(); } if (Befehl == '') { myDFPlayer.next(); Serial.println ("weiter:"); Serial.print ("Aktueller Titel:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes(); } //Verringert die Lautstärke if (Befehl == '-') { myDFPlayer.volumeDown(); Serial.print ("Aktuelles Volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes(); } }
Wenn Sie also alle vorgestellten Schritte angewendet haben, konnten Sie Folgendes lernen:
- Grundschaltung des DFMini Player MP3;
- Organisation und Konfiguration von Sounddateien auf der Speicherkarte;
- Musiksteuerung mit Arduino. Aus diesem Code können Sie andere Projekte entwickeln, die Sound als Systemfunktionalität verwenden müssen.
Danksagung
Abschließend danken wir Ihnen für Ihr Lesen und die Unterstützung von PCBWAY. COM für die Unterstützung von Silício Lab bei der Erstellung dieses Artikels für Sie.
Das Silícios Lab dankt UTSOURCE für die Bereitstellung der elektronischen Komponenten für den Bau dieses Projekts.
Empfohlen:
So verwenden Sie das Webtool in Fusion 360: 5 Schritte
So verwenden Sie das Web-Tool in Fusion 360: Es ist eines dieser unterschätzten Tools, die Sie wahrscheinlich nicht verwenden, aber lesen Sie weiter und Sie werden sehen, warum Sie das Web-Tool in Fusion 360 nutzen müssen. Das Web-Tool bietet eine schnelle und super effiziente Möglichkeit, Kreuzstreben zu
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: 7 Schritte
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: Jetzt zum Detail
So verwenden Sie das Snipping-Tool unter Windows 7: 7 Schritte
So verwenden Sie das Snipping-Tool unter Windows 7: Öffnen Sie das Fenster, von dem Sie einen Screenshot machen möchten
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nic
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
Fügen Sie eine PC-Sync-Buchse zu einem Nikon Sc-28 Ttl-Kabel hinzu (verwenden Sie die automatischen Einstellungen für einen Blitz an der Kamera und lösen Sie Kamerablitze aus !!):
Fügen Sie eine PC-Sync-Buchse zu einem Nikon Sc-28 Ttl-Kabel hinzu (verwenden Sie die automatischen Einstellungen für einen Kamerablitz und lösen Sie die Kamerablitze aus !!): In dieser Anleitung zeige ich Ihnen, wie Sie einen dieser lästigen proprietären 3-Pin-TTL-Anschlüsse auf entfernen die Seite eines Nikon SC-28 Off-Camera-TTL-Kabels und ersetzen Sie es durch einen Standard-PC-Sync-Anschluss. Auf diese Weise können Sie einen dedizierten Blitz verwenden, s