Arduino UNO R4 - MP3-Player

Dieses Tutorial erläutert Ihnen, wie man einen MP3-Player mit einem Arduino UNO R4, einem MP3-Player-Modul, einer microSD-Karte und einem Lautsprecher erstellt. Der MP3-Player lädt Musik oder Tonaufnahmen von der microSD-Karte. Der Arduino UNO R4 steuert das MP3-Player-Modul, um ein Lied von der Karte auszuwählen und abzuspielen, es in ein Audiosignal umzuwandeln und dieses Signal an den Lautsprecher zu senden. Wir werden diese Schritte im Detail behandeln.

Dann kannst du den Code so ändern, dass ein Potentiometer oder Drehencoder zur Lautstärkeregelung eingebunden wird.

Arduino UNO R4 MP3-Player

Über serielles MP3-Player-Modul und Lautsprecher

Pinbelegung des seriellen MP3-Player-Moduls

Ein serielles MP3-Player-Modul umfasst drei Schnittstellen:

  • Die Schnittstelle zum Arduino UNO R4: hat vier Pins:
    • RX-Pin: Dieser dient der Datenübertragung und sollte mit dem TX-Pin des Arduino UNO R4 verbunden werden, wobei entweder Hardware- oder Software-Serial verwendet wird.
    • TX-Pin: Dieser dient ebenfalls der Datenübertragung und sollte mit dem RX-Pin des Arduino UNO R4 verbunden werden, über Hardware- oder Software-Serial.
    • VCC-Pin: Dieser dient der Stromversorgung und sollte mit VCC (5V) verbunden werden.
    • GND-Pin: Dies ist ein Massepin und sollte mit GND (0V) verbunden werden.
  • Die Schnittstelle zum Lautsprecher: eine 3,5-mm-Aux-Ausgangsbuchse.
  • Die Schnittstelle zur Micro-SD-Karte: Der Micro-SD-Karten-Steckplatz befindet sich auf der Rückseite des Moduls.
Pinbelegung des seriellen MP3-Player-Moduls
image source: diyables.io

Lautsprecher-Pinbelegung

Ein Lautsprecher hat im Allgemeinen zwei Anschlussstellen:

  • Audioanschluss: Verwendet einen 3,5-mm-Aux-Stecker, um eine Verbindung zum MP3-Player herzustellen.
  • Stromversorgung: Es kann über USB, ein 5-V-Netzteil oder andere Arten von Stromversorgungen betrieben werden.

Wie es funktioniert

Was wir brauchen, um uns vorzubereiten:

  • Speichern Sie eine Liste von Liedern oder Aufnahmen auf einer Micro-SD-Karte.
  • Setzen Sie die Micro-SD-Karte in das MP3-Player-Modul ein.
  • Verbinden Sie das MP3-Player-Modul mit dem Arduino UNO R4.
  • Verbinden Sie das MP3-Player-Modul mit einem Lautsprecher.
  • Schließen Sie den Lautsprecher an eine Stromquelle an.

Jede MP3-Datei auf der Micro-SD-Karte hat eine Nummer, die bei 0 beginnt und die Reihenfolge der Songs angibt.

Wir können dann den Arduino UNO R4 einrichten, um Befehle an das MP3-Player-Modul zu senden. Es kann diese Befehle ausführen:

  • Wiedergabe starten
  • Stopp
  • Nächstes Lied abspielen
  • Vorheriges Lied abspielen
  • Lautstärke anpassen

Das MP3-Player-Modul spielt die auf der microSD-Karte gespeicherte MP3-Datei ab, wandelt sie in ein Audiosignal um und sendet dieses Signal über die 3,5-mm-Aux-Schnittstelle an den Lautsprecher.

Verdrahtungsdiagramm

Arduino UNO R4 MP3-Player-Modul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino UNO R4 Code - Musik abspielen

Der untenstehende Code startet das Abspielen des ersten Songs, der auf der Micro-SD-Karte gespeichert ist.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-mp3-player */ #include <SoftwareSerial.h> #define CMD_PLAY_NEXT 0x01 #define CMD_PLAY_PREV 0x02 #define CMD_PLAY_W_INDEX 0x03 #define CMD_SET_VOLUME 0x06 #define CMD_SEL_DEV 0x09 #define CMD_PLAY_W_VOL 0x22 #define CMD_PLAY 0x0D #define CMD_PAUSE 0x0E #define CMD_SINGLE_CYCLE 0x19 #define DEV_TF 0x02 #define SINGLE_CYCLE_ON 0x00 #define SINGLE_CYCLE_OFF 0x01 #define ARDUINO_RX 7 // The Arduino UNO R4 pin connected to the TX of the Serial MP3 Player module #define ARDUINO_TX 6 // The Arduino UNO R4 pin connected to the RX of the Serial MP3 Player module SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX); void setup() { Serial.begin(9600); mp3.begin(9600); delay(500); // wait chip initialization is complete mp3_command(CMD_SEL_DEV, DEV_TF); // select the TF card delay(200); // wait for 200ms mp3_command(CMD_PLAY, 0x0000); // Play mp3 //mp3_command(CMD_PAUSE, 0x0000); // Pause mp3 //mp3_command(CMD_PLAY_NEXT, 0x0000); // Play next mp3 //mp3_command(CMD_PLAY_PREV, 0x0000); // Play previous mp3 //mp3_command(CMD_SET_VOLUME, 30); // Change volume to 30 } void loop() { } void mp3_command(int8_t command, int16_t dat) { int8_t frame[8] = { 0 }; frame[0] = 0x7e; // starting byte frame[1] = 0xff; // version frame[2] = 0x06; // the number of bytes of the command without starting byte and ending byte frame[3] = command; // frame[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback frame[5] = (int8_t)(dat >> 8); // data high byte frame[6] = (int8_t)(dat); // data low byte frame[7] = 0xef; // ending byte for (uint8_t i = 0; i < 8; i++) { mp3.write(frame[i]); } }

Schnelle Schritte

Folge diesen Anweisungen Schritt für Schritt:

  • Falls dies Ihr erster Einsatz mit dem Arduino Uno R4 WiFi/Minima ist, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verbinden Sie die Bauteile entsprechend dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Uno R4-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Befolgen Sie die Schritte im Abschnitt Wie es funktioniert
  • Kopieren Sie den bereitgestellten Code und verwenden Sie ihn in der Arduino IDE
  • Drücken Sie die Upload-Schaltfläche in der Arduino IDE, um den Code an den Arduino UNO R4 zu senden.
  • Viel Spaß mit der Musik.

Arduino UNO R4 Code - Musik abspielen mit Bedienelementen

Der untenstehende Code ist eine verbesserte Version des früheren Codes. Er enthält vier Tasten, mit denen Sie den MP3-Player steuern können.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-mp3-player */ #include <SoftwareSerial.h> #include <ezButton.h> #define CMD_PLAY_NEXT 0x01 #define CMD_PLAY_PREV 0x02 #define CMD_PLAY_W_INDEX 0x03 #define CMD_SET_VOLUME 0x06 #define CMD_SEL_DEV 0x09 #define CMD_PLAY_W_VOL 0x22 #define CMD_PLAY 0x0D #define CMD_PAUSE 0x0E #define CMD_SINGLE_CYCLE 0x19 #define DEV_TF 0x02 #define SINGLE_CYCLE_ON 0x00 #define SINGLE_CYCLE_OFF 0x01 #define ARDUINO_RX 7 // The Arduino UNO R4 pin connected to the TX of the Serial MP3 Player module #define ARDUINO_TX 6 // The Arduino UNO R4 pin connected to the RX of the Serial MP3 Player module SoftwareSerial mp3(ARDUINO_RX, ARDUINO_TX); ezButton button_play(2); // create ezButton object that attach to pin 2 ezButton button_pause(3); // create ezButton object that attach to pin 3 ezButton button_next(4); // create ezButton object that attach to pin 4 ezButton button_prev(5); // create ezButton object that attach to pin 5 void setup() { Serial.begin(9600); mp3.begin(9600); delay(500); // wait chip initialization is complete mp3_command(CMD_SEL_DEV, DEV_TF); // select the TF card delay(200); // wait for 200ms button_play.setDebounceTime(50); // set debounce time to 50 milliseconds button_pause.setDebounceTime(50); // set debounce time to 50 milliseconds button_next.setDebounceTime(50); // set debounce time to 50 milliseconds button_prev.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button_play.loop(); // MUST call the loop() function first button_pause.loop(); // MUST call the loop() function first button_next.loop(); // MUST call the loop() function first button_prev.loop(); // MUST call the loop() function first if (button_play.isPressed()) { Serial.println("Play mp3"); mp3_command(CMD_PLAY, 0x0000); } if (button_pause.isPressed()) { Serial.println("Pause mp3"); mp3_command(CMD_PAUSE, 0x0000); } if (button_next.isPressed()) { Serial.println("Play next mp3"); mp3_command(CMD_PLAY_NEXT, 0x0000); } if (button_prev.isPressed()) { Serial.println("Play previous mp3"); mp3_command(CMD_PLAY_PREV, 0x0000); } } void mp3_command(int8_t command, int16_t dat) { int8_t frame[8] = { 0 }; frame[0] = 0x7e; // starting byte frame[1] = 0xff; // version frame[2] = 0x06; // the number of bytes of the command without starting byte and ending byte frame[3] = command; // frame[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback frame[5] = (int8_t)(dat >> 8); // data high byte frame[6] = (int8_t)(dat); // data low byte frame[7] = 0xef; // ending byte for (uint8_t i = 0; i < 8; i++) { mp3.write(frame[i]); } }

Die Verkabelungsverbindungen für den genannten Code:

Arduino UNO R4 MP3-Player-Lautsprecher Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Jetzt können Sie die Projekte so ändern, dass sie mehr Funktionen enthalten, zum Beispiel:

  • Fügen Sie ein Potentiometer hinzu, um die Lautstärke einzustellen. Für Anleitungen siehe das Arduino UNO R4 Potentiometer Tutorial.
  • Integrieren Sie eine IR-Fernbedienung, indem Sie dem Arduino UNO R4 IR-Fernbedienung Tutorial folgen.
  • Fügen Sie ein RFID-Lesegerät und eine Karte hinzu, um einen RFID-MP3-Player zu erstellen. Weitere Details finden Sie im Arduino UNO R4 RFID Tutorial.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Funktionsreferenzen

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!