wav datei abspielen

Guten Morgen da draussen,
Ich plane eine Tierstimme ab zu spielen.
Habe mir das so vorgestellt das ich von einem CF-Cardadapter die Wave Datei einlese und auf einen Minilautsprecher ausgebe wenn ein Sensor ausgelöst wird. Verwenden werde ich zum testen den UNO.
gefunden habe ich im Netz diese Tuturial.

Leider bringt er mir eine Fehlermeldung welche sich auf:
#include <TMRpcm.h>
bezieht.
Habe Versucht die Datei nach zu installieren bin aber wie so häufig gescheitert.

Meine Frage(n) ist(sind):
-gibt es einen einfacheren Weg auch im bezug auf den Speicher?
-wie binde ich die Datei richtig ein?

Eine CF Karte??

Besog Dir einen billigen MP3 Player und steuere ihn über Arduino.

Grüße Uwe

Ich habe es selbst auch schon mal mit einem SD-Card-Adapter versucht. Leider habe ich kein Erfolg gehabt.

Seit dem nutze ich diesen Player: DFPlayer MP3/WAV

Wie du Libraries einbinden musst, findest du hier: Libraries

Der Ordner für die Library muss genau so heißen, wie die Library selbst.

SD ok, aber CF??

Das wird wohl ein Schreibfehler sein.

CF=CompactFlash, gibt es für den Arduino wohl nicht.

CF kann es für Arduino nicht geben, ist quasi ein P-ATA-Anschluss, viel zu aufwändig zu steuern. SD-Card ist dagegen seriell, SPI ... das geht rel. einfach (bis aufs Timing) ...

Vielen Dank für die Antworten.
Ich benutze eine SD Card und somit einen SD Card Reader. Mein fehler.Das Sketch Funktiniert mitlerweile so wie es soll. Habe mich beim ; verschrieben und statt dess ein : gesetzt. Vieleich sollte ich die Brille doch öfters aufsetzen
Einen billigen MP3-Player möchte ich nicht verwenden weil sonst der Spass flöten geht. Das ist zwar nur die halbe Wahrheit aber was solls. Das spätere Soundmodul soll in der nähe von Tiermodellen platziert werden und durch Taster, Erschütterungssensoren oder abstandssensoren ausgelöst werden. Der Einbau soll dann in spetziellen, vergossenen und Naturnahen Gehäusen erfolgen(zB. einem Astnachbau). Jetzt mal aber noch ne Frage:
ist es möglich das WAV File(um die 200KB) auf den UNO zu speichern so das kein SD Card benötigt wird?

Gundelputz:
Jetzt mal aber noch ne Frage:
ist es möglich das WAV File(um die 200KB) auf den UNO zu speichern so das kein SD Card benötigt wird?

Kein Problem. Du läßt 90% der Nullen im WAV-File weg (nullen geben ja keinen information) und so bekommst Du das File in die 32kByte Flash des Arduino UNO. :wink: :wink: :wink: ;D 8) :smiley: :money_mouth_face: :roll_eyes: :smiling_imp: :grin: :sunglasses: :grin: :grinning:

Mal im Erst: Wie willst Du 200kByte in 1k EEprom bzw 32kByte Flash bekommen?

Du könntest eine externe EEprom mit SPI nehmen, aber das läuft aufs gleiche hinaus wie bei SD - Karte. Die EEprom ist teurer als die Sd Karte und es ist nicht so einfach die Files draufzuladen.

Außerdem kannst Du auf der SD Karte alle Tierstimmen drauf haben und nur durch die Programmierung/ einige Switches die gewollte Stimme abspielen. So sind alle Module untereinander austauschbar und Du brauchst nur 1 oder 2 Reservemodule.

Grüße Uwe

Ich finde diese kleinen MP3-Player-Module wie Hotsystems vorschlägt ideal. Du hast den SD-Kartenleser dabei, die Ausgabe hat eine sehr gute Qualität und der Arduino kann sich voll um Sensoren usw. kümmern. Nimmst du zur Ansteuerung keinen Uno, sondern Pro mini, micro oder nano, ist das fertige Soundmodul schön klein.

habe gerade bei EBay gestöbert und das WTV020-SD Modul gefunden. hat jemand damit erfahrung?

Gundelputz:
habe gerade bei EBay gestöbert und das WTV020-SD Modul gefunden. hat jemand damit erfahrung?

Ja, nur schlechte.

Kann keinen MP3 direkt abspielen, müssen vorher manuell gewandelt werden.

Nimm den MP3 Player und keine Kompromisse.

Gundelputz:
habe gerade bei EBay gestöbert und das WTV020-SD Modul gefunden. hat jemand damit erfahrung?

Siehe: WTV020-Soundmodul_am_AVR-Microcontroller

Ich würde in den DFPlayer investieren. So extrem teuer ist der ja auch nicht.

Ich verstehe dieses ganze hin und her nicht.

Du möchtest Spass haben, wobei?
Wenn du ein MP3-Player nimmst hast du viel Spass, da der Player auf anhieb funktioniert und einen guten Sound abgibt.

Mit dem "billig Player" wirst du keinen Spass haben.
Der MP3-Player funktioniert sogar als Standallone, ohne Arduino.
Und das Teil ist per Serial sehr einfach zu steuern.

DAS MACHT SPASS. :wink: :wink:

Mit Spass dachte ich eher am Spass beim bastelln. Ich möchte keine Quallitativen höchstleistungen haben. Bei der ganzen Geschichte geht es darum einen 3D Kurs(Bogenschiessen) ein wenig auf zu peppen. So soll beim nichttreffen eines Bären Balus Song: “Probiers mal mit Gemütlichkeit” (3-10 sec.) angespielt werden. Da das ganze im Freien stattfindet darf es hier auch ein wenig rauschen.
Mit der oben beschriebenen Methode wird das wav File zu schnell wieder gegeben. Eventuell hat da ja noch jemand ne Idee.
hier noch schnell der Code aus dem Tuturial:

#include <TMRpcm.h>
#include <SPI.h>
#include <SD.h>
#define CHIP_SELECT_PIN  4
#define SPEAKER_PIN      9
TMRpcm tmrpcm;
 
void setup( ) {
  tmrpcm.speakerPin = SPEAKER_PIN;
  Serial.begin( 9600 );
  while ( !Serial ) /*mt*/ ;
  if ( !SD.begin( CHIP_SELECT_PIN ) )
    Serial.println( "SD fail" );
  else {
    tmrpcm.play( "snakec16.wav" );
    delay( 5 );
  }
}
 
void loop( ) {
}

Ja, ok.
Basteln soll natürlich Spaß machen. Und wenn das Rauschen nicht stört, auch ok.

Leider kann ich zu dem aktuellen Problem nichts zusteuern.

Einziger Tipp, Taktfrequenz des Atmega stimmt nicht.

Erst mal Danke für die vielen Ratschläge und Anregungen. Hab mir mal ein paar DFPlayer bestellt und melde mich dann wieder.

Gundelputz:
Erst mal Danke für die vielen Ratschläge und Anregungen. Hab mir mal ein paar DFPlayer bestellt und melde mich dann wieder.

Super, eine sehr gute Entscheidung. :slight_smile:

Hallo,
da bin ich wieder.
habe jetzt endliche den besagagten und viel umworbenen DFPlayer Mini bekommen.
Mit dieser Anleitung habe ich es gleich mal probiert:
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299
Leider bekomme ich wieder mal nicht hin.
Folgenen Code habe ich verwendet:

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

//
void setup () {
	Serial.begin (9600);
	mp3_set_serial (Serial);	//set Serial for DFPlayer-mini mp3 module 
	delay(1);  //wait 1ms for mp3 module to set volume
	mp3_set_volume (15);
}


//
void loop () {        
	mp3_play (1);
	delay (6000);

}

auf der Karte befindet sich ein Track mit der Bezeichnung 0001.mp3.
hat jemand ne Idee was ich falsch mache.

Du musst SoftwareSerial noch die Pins mitteilen, die zum Steuern des MP3-Player verwendet werden.
Das wird im Beispiel zur Library genau beschrieben.
Ich kann dir leider aktuell kein Beispiel liefern.

Edit
Dies fehlt in der Definition:

SoftwareSerial mySerial(11, 12);          // RX-SoftSerial, TX-SoftSerial für Player

Verwende aber deine Pin-Nummern.

Und im Setup sollte dies stehen:

  mySerial.begin (9600);
  mp3_set_serial (mySerial);              // set Serial for DFPlayer-mini mp3 module

Du solltest es nicht nur Serial nennen, gibt Probleme.

@HotSystems: Die Probleme haben auf dieser Seite ihren Ursprung. Das erste Beispiel ist murks.