Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

MP3-Player mit Arduino Nano und IR-Fernbedienung

Posted on 25. März 202210. März 2024 by Stefan Draeger

In diesem Beitrag möchte ich dir zeigen, wie du einen MP3-Player inkl. IR-Fernbedienung (Infrarot) am Arduino Nano programmierst.

MP3 Shield & IR Receivermodul am Arduino Nano
MP3 Shield & IR Receivermodul am Arduino Nano

Im Beitrag Arduino UNO Mini mit MP3 Shield habe ich dir bereits gezeigt, wie das MP3-Shield vom Typ MP3-TF-16P-V3 bzw. MH2024K-24SS am Arduino UNO Mini LE programmiert.

  • Benötigte Ressourcen für die Programmierung des MP3-Players mit IR-Fernbedienung
  • Aufbau der Schaltung am Arduino Nano mit MP3-Player Shield und IR-Fernbedienung
  • Programmieren von einem MP3-Player mit IR-Fernbedienung am Arduino Nano
    • Benötigte Bibliotheken für dieses Projekt
    • Auslesen der IR-Fernbedienung
    • Steuern des MP3 Shields per IR-Fernbedienung
  • Ausblick

Benötigte Ressourcen für die Programmierung des MP3-Players mit IR-Fernbedienung

Für den Nachbau dieses Projektes benötigst du:

  • einen Arduino Nano*,
    • ein Mini-USB-Datenkabel*,
  • ein MP3-Shield* vom Typ MP3-TF-16P-V3 / MH2024K-24SS,
    • ein 1 kOhm Widerstand*,
  • ein IR-Shield* inkl. Fernbedienung*,
  • ein 400 Pin Breadboard*,
  • diverse Breadboardkabel*

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Es gibt mehrere Ausführungen von IR-Fernbedienungen auf ebay.de zu kaufen, in meinem Fall verwende ich eine, welche gleich die Funktionstasten Play, Pause, Vorwärts, Rückwärts, Stopp für ein Audioabspielgerät enthält.

IR Fernbedienung für den Arduino und Raspberry Pi
IR Fernbedienung für den Arduino und Raspberry Pi

Aufbau der Schaltung am Arduino Nano mit MP3-Player Shield und IR-Fernbedienung

Für dieses kleine Projekt verwende ich den Arduino Nano, dieser ist dem Arduino UNO vom Microchip gleich, jedoch deutlich kompakter und ohne zusätzliche, externe Stromversorgung über Jackadapter.

Maker Nano von Cytron
Maker Nano von Cytron
Arduino Nano V3 , ATmega328P
Arduino Nano V3 , ATmega328P

Von der Firma Cytron gibt es den Maker Nano welchen ich dir bereits im Beitrag Vorstellung des Maker Nano von Cytron vorgestellt habe, dieser hat statt einer Mini-USB eine Micro-USB Buchse sowie einen ATmega328P verbaut und somit etwas stärker als der übliche Arduino Nano.

Die Schaltung aus dem bereits genannten Beispiel zum MP3 Shield wird um das IR-Receivermodul erweitert, ansonsten sind die Pins geblieben.

BauteilArduino Nano
MP3 Shield
VCC5V
GNDGND
TXdigitaler Pin D10
RXdigitaler Pin D11 über 1 kOhm Widerstand
SPK1Lautsprecher +
SPK2Lautsprecher –
IR Receiver
+5V
–GND
Sdigitaler Pin D5
Anschluss der Bauteile für einen einfachen MP3 Player mit IR Fernbedienung
Aufbau der Schaltung - MP3 Shield & IR Empfänger am Arduino Nano V3
Aufbau der Schaltung – MP3 Shield & IR Empfänger am Arduino Nano V3

Programmieren von einem MP3-Player mit IR-Fernbedienung am Arduino Nano

Benötigte Bibliotheken für dieses Projekt

Für dieses Projekt benötigst du:

  • DFRobot / DFRobotDFPlayerMini
  • Arduino-IRremote / Arduino-IRremote

Auslesen der IR-Fernbedienung

Wie man eine Infrarotfernbedienung am Arduino ausliest, habe ich dir bereits im Beitrag Arduino Lektion 20: IR Fernbedienung auslesen gezeigt. In meinem Fall haben sich folgende Signale ergeben:

FunktionWert
Rückwärts0x44
Vorwärts0x40
Play / Pause0x43
Lautstärke +0x15
Lautstärke –0x7
Werte der Tasten auf der IR Fernbedienung

Diese Werte können natürlich von deinen abweichen und daher würde ich dir empfehlen deine Fernbedienung selber auszulesen.

#include <IRremote.h>

void setup() {
  Serial.begin(9600); 
  IrReceiver.begin(5, ENABLE_LED_FEEDBACK);
}
 
void loop(){
  if (IrReceiver.decode()) {
        IrReceiver.printIRResultShort(&Serial);
        if (IrReceiver.decodedIRData.protocol == UNKNOWN) {
            IrReceiver.printIRResultRawFormatted(&Serial, true);
        }
        Serial.println();
        IrReceiver.resume(); // Enable receiving of the next value
    }
}

Steuern des MP3 Shields per IR-Fernbedienung

Nachdem wir nun die Funktionstasten zum Steuern des MP3 Moduls ausgelesen haben, können wir diese in ein Sketch integrieren.

Als Grundgerüst nutze ich das Beispiel „GetStartet“ von DFRobot.

#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
#include <IRremote.h>

// RX auf Pin D10 & TX auf D12
SoftwareSerial mySoftwareSerial(10, 12);
DFRobotDFPlayerMini player;

bool actionPlay = false;

const int PREVIOUS = 0x44;
const int NEXT = 0x40;
const int PLAY_PAUSE = 0x43;
const int VOLUME_UP = 0x15;
const int VOLUME_DOWN = 0x7;

void setup() {
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);

  IrReceiver.begin(5, ENABLE_LED_FEEDBACK);
  
  delay(50);
  if (!player.begin(mySoftwareSerial)) {
    Serial.println("Fehler beim Aufbau der seriellen Verbindung!");
  } else {
    Serial.println("Verbindung zum DFPlayer Mini hergestellt.");
    player.volume(10);
  }
}

void loop() {
  if (IrReceiver.decode()) {
    int command = IrReceiver.decodedIRData.command;
    switch (command) {
      case PREVIOUS:
        player.previous();
        break;
      case NEXT:
        player.next();
        break;
      case PLAY_PAUSE:
        actionPlay = !actionPlay;
        if (actionPlay) {
          player.pause();
        } else {
          player.play();
        }
        break;
      case VOLUME_UP:
        player.volumeUp();
        break;
      case VOLUME_DOWN:
        player.volumeDown();
        break;
      default:
        break;
    }
    IrReceiver.resume();
  }
}

Im nachfolgenden Beispiel zeige ich dir nun wie man mit der IR Fernbedienung das MP3 Shield steuern kann. Die Musik habe ich aus der YouTube Audiolibrary entnommen, wo du auch freie Musik findest.

simple MP3 Player with MAKER Nano & IR Receiver modul
Dieses Video auf YouTube ansehen.

Ausblick

Jetzt habe ich dir gezeigt, wie man einen einfachen MP3-Player programmieren kann, jetzt könnte man noch mit ein paar wenigen Bauteilen visuelle Effekte zum Takt der Musik erzeugen lassen oder die Lautstärke mit einer LED-Bar visualisieren.

Mein nächstes Projekt wird jetzt auf dieses aufbauen und ich werde dort speziell auf diese zusätzlichen Features eingehen.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}