Zufälliges Wave-File abspielen mit Arduino

OP #6033063
Lesenswert?

Hi,

ich stelle mich momentan ein bisschen doof an.
Es geht im Prinzip nur darum, auf Knopfdruck mit einem Microcontroller, 
ich hatte mir einen Arduino Nano ausgesucht, ein zufälliges WAV-File von 
der SD-Karte abzuspielen. Der Zugriff auf die SD-Karte funktioniert 
einwandfrei, aber bei der Wiedergabe des Files habe ich ein Problem. Ich 
habe die TMRpcm Bibliothek ausprobiert, aber am PWM-Pin kommt damit gar 
nichts raus, ich nutze den Example-Code, auf der seriellen Konsole 
allerdings sagt er, er würde abspielen... Die SimpleSDAudio Bibliothek 
spielt mit dem Beispielscode zwar etwas ab, allerdings ist das Sound 
File viel zu schnell und ich höre sehr viel Rauschen, das File selbst 
ist kaum zu hören, egal ob ich einen kleinen Verstärler mit LM386 
dazwischen schalte, oder nicht..


Vielleicht hat jemand dazu Ideen? Oder Alternativen? Ich habe vom 
DFPlayer Modul gehört, ist das eine Alternative? Kann das auch zufällige 
Files abspielen?

LG

Lukas
OP #6033163
Lesenswert?

Es geht um den Beispielscode für die TMRpcm Bibliothek, hier ist der 
Code:
1
#include <SD.h>                      // need to include the SD library
2
//#define SD_ChipSelectPin 53  //example uses hardware SS pin 53 on Mega2560
3
#define SD_ChipSelectPin 10  //using digital pin 4 on arduino nano 328, can use other pins
4
#include <TMRpcm.h>           //  also need to include this library...
5
#include <SPI.h>
6

7
TMRpcm tmrpcm;   // create an object for use in this sketch
8

9

10
void setup(){
11

12
  tmrpcm.speakerPin = 6; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc
13

14
  Serial.begin(9600);
15
  if (!SD.begin(SD_ChipSelectPin)) {  // see if the card is present and can be initialized:
16
    Serial.println("SD fail");  
17
    return;   // don't do anything more if not
18
  }
19
  tmrpcm.play("000"); //the sound file "000" will play each time the arduino powers up, or is reset
20
}
21

22

23

24
void loop(){  
25

26
  if(Serial.available()){    
27
    if(Serial.read() == 'p'){ //send the letter p over the serial monitor to start playback
28
      tmrpcm.play("000");
29
    }
30
  }
31

32
}
Gast #6036124
Lesenswert?

Ich hatte kürzlich ein Problem, bei dem ich egal ob wav oder mp3 was 
angespielt habe, ein Knacksen vom DAC ausgegeben wurde. Gestreamt per 
Web gabs keine Probleme.

Ergebnis: Es lag an den Jumperwires zwischen uC und SD-Reader.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren