Soundboard mit AZ-Nano V3 und DFPlayer Mini - AZ-Delivery

Ein Soundboard ist ein beliebtes Hilfsmittel, das insbesondere in Fernsehsendungen oder Live-Produktionen zur Untermalung mit akustischen Effekten eingesetzt wird. Durch das Betätigen eines Tasters können vorab festgelegte Sounds oder Geräusche direkt abgespielt werden, was eine schnelle und intuitive Nutzung ermöglicht. Diese Funktionalität findet vor allem in Unterhaltungsformaten Anwendung, um Berichte, Sketche oder Moderationen aufzulockern und dem Publikum ein ansprechendes Erlebnis zu bieten. 

Die Idee: Durch das Drücken einer der an den Mikrocontroller angeschlossenen Tasten wird eine entsprechende Sounddatei, die zuvor auf einer SD-Karte gespeichert wurde, über ein DFPlayer-Modul abgespielt. Jede Taste ist dabei im Programm einer spezifischen Datei zugeordnet.

Der DFPlayer spielt eine zentrale Rolle, da er es ermöglicht, Sounds in hoher Qualität mit minimalem Hardwareaufwand wiederzugeben. Der Nano dient hierbei als Steuerzentrale, die die Auswahl der Sounds basierend auf den gedrückten Tasten trifft und die entsprechenden Steuerungsbefehle an den DFPlayer sendet.

Hardware

Übersicht der Komponenten

Für den Aufbau des Soundboards benötigen Sie die folgenden Hardware-Komponenten:

     Nano V3

     DFPlayer Mini

     Taster Sortiment

     microSD-Karte (32 GB oder kleiner)

     Lautsprecher

     Widerstand (1 kΩ)

     Jumper-Kabel und Steckbrett

optional:

     PCB Set

     3D-gedrucktes Gehäuse

     Schrauben + Muttern (M3)

     Einbau-Taster

Aufbau der Schaltung

  1.  DFPlayer Mini:
    Der DFPlayer wird über RX und TX mit dem Nano verbunden, an den RX-Pin wird ein 1kOhm Widerstand zwischen den DFPlayer und Mikrocontroller angeschlossen, um einen störungsfreien Betrieb zu gewährleisten. Zusätzlich erfolgt eine Verbindung zur Stromversorgung (5 V und GND). Der Lautsprecher wird direkt an den DFPlayer angeschlossen.
  2.  Taster und Widerstände:
    Jeder Taster wird an einen eigenen digitalen Pin des Mikrocontrollers angeschlossen, während die andere Seite mit Masse (GND) verbunden wird.
    Im Programm werden die internen Pull-up-Widerstände aktiviert, dadurch sind keine weiteren Widerstände notwendig.
  3.  Stromversorgung:
    Der Mikrocontroller und der DFPlayer teilen sich in den meisten Fällen die Spannungsversorgung. Eine USB-Verbindung oder ein Akku über den VIN-Pin kann hier genutzt werden.

Der Aufbau auf einem Steckbrett ist für den Anfang ideal, um die Funktionalität zu testen und falsche Verbindungen einfach zu beheben.

Software

Programmierung des Boards

Das Herzstück des Projekts ist die Software. Der Nano wird programmiert, um jeden Tastendruck zu erkennen und den DFPlayer entsprechend zu steuern.

Vorbereitung

  1.  Laden Sie die Arduino IDE von der offiziellen Website herunter.
  2.  Installieren Sie die Bibliotheken: DFPlayer_Mini_MP3 und SoftwareSerial. Diese sind für die Kommunikation zwischen dem Mikrocontroller und dem DFPlayer notwendig. Die Libraries können mit der internen Bibliotheksverwaltung heruntergeladen und installiert werden.
  3. Für die Kommunikation mit dem Mikrocontroller über USB ist ein Treiber für den CH340 Chip notwendig. Dieser kann nach folgender Anleitung installiert werden.

Beispielcode

Laden Sie folgenden Code unter Auswahl des richtigen Boards (Arduino Nano | ATmega328P) und richtigem seriellen COM Port (Siehe Gerätemanager) auf den Mikrocontroller:

 

#include "Arduino.h"
#
include "SoftwareSerial.h"
#
include "DFRobotDFPlayerMini.h"

// Pins
#
define DFPLAYER_RX 10
#
define DFPLAYER_TX 11

// DFPlayer und Kommunikation initialisieren
SoftwareSerial mySerial(DFPLAYER_TX, DFPLAYER_RX);
DFRobotDFPlayerMini myDFPlayer;

// Array für Taster-Pins
int buttonPins[] = {2, 3, 4, 5};

void setup() {
 
// Serieller Monitor für Debugging
 
Serial.begin(9600);
 
 
// DFPlayer starten
  mySerial.
begin(9600);
 
if (!myDFPlayer.begin(mySerial)) {
   
Serial.println("Kein DFPlayer Mini gefunden!");
   
while (true);
  }
 
Serial.println("DFPlayer Mini bereit!");
 
 
// Pins für Taster definieren
 
for (int i = 0; i < 4; i++) {
   
pinMode(buttonPins[i], INPUT_PULLUP);
  }
}

void loop() {
 
for (int i = 0; i < 4; i++) {
   
if (digitalRead(buttonPins[i]) == LOW) {
      myDFPlayer.play(i +
1); // Sound 1 bis 10
     
delay(500);             // Entprellung
    }
  }
}

Das Programm können Sie unter diesem Link herunterladen.

SD-Karte vorbereiten

Formatieren Sie die SD-Karte in das FAT32 Format. Die Sounddateien, z.B. im MP3- oder WAV-Format, müssen vor der Nutzung auf die SD-Karte übertragen werden. Es ist wichtig, dass sie vor dem Kopieren aufsteigend nummeriert und entsprechend umbenannt werden, damit der DFPlayer diese korrekt abrufen kann. Benennen Sie dabei die Dateien nach folgendem Schema:

     `0001.mp3`

     `0002Name.mp3`
(Bezeichnung kann optional nach der Nummerierung eingefügt werden)

     `0003.mp3`

     usw.

Wichtig: Sämtliche Dateien müssen in einem einzigen Kopiervorgang auf die SD-Karte übertragen werden. Wird dies nicht beachtet und die Dateien nacheinander oder in mehreren Schritten kopiert, kann die interne Datei-Benennung durch das Dateisystem verändert werden, was zu unerwünschtem Verhalten führen könnte.

Testen der Funktion

Nach dem Hochladen des Codes und dem Einlegen der SD-Karte können Sie das Soundboard testen. Drücken Sie einen Taster, und prüfen Sie, ob der entsprechende Sound abgespielt wird.

Mit dem Befehl myDFPlayer.volume(30); kann die Lautstärke eingestellt werden, 30 ist die maximale Lautstärke.

Gehäuse

Nachdem Sie das Projekt auf dem Breadboard getestet haben, können Sie es zum Schluss in ein 3D-gedrucktes Gehäuse bauen. Als Taster eignen sich Einbautaster als Ersatz zu den bisherigen Mikro Tastern, da diese einfach in das Gehäuse geschraubt werden können.
Drucken Sie die .stl Dateien (Soundboard3D.stl, Soundboard3DTop.stl) mit einem 3D-Drucker aus und montieren Sie die Taster im Deckel. Die Elektronik können Sie auf das 5x7 cm PCB mit entsprechenden Buchsenleisten löten. Zur Stromversorgung kann eine 9V Blockbatterie an den VIN- und GND Anschluss angeschlossen und in das Gehäuse gelegt werden.

Gerne können Sie das Projekt nach Ihren Vorstellungen erweitern. Für Anpassungen am Gehäuse stehen die Rohdateien (Soundboard3D.FCStd, Soundboard3DTop.FCStd) zur Verfügung. Diese kann in FreeCad, einem kostenlosen Open-Source-Programm, individuell bearbeitet werden.

Falls Ihnen dieses Projekt gefallen hat, können Sie gerne einen Blick auf das TonUINO Projekt werfen, hier werden je nach RFID-Tag die verschiedenen Dateien abgespielt. Am Ende der dreiteiligen Reihe (Teil 2; Teil 3) bekommt das TonUINO Set noch optische Erweiterungen, wie ein Display und einen LED-Ring.

Viel Spaß beim Nachbauen :)

Für arduinoProjekte für anfänger

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery