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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.