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
Lukas E. schrieb: > ein zufälliges WAV-File von > der SD-Karte abzuspielen. Du wirfst Prioritaeten durcheienander. 1) WAV abspielen: e.g. https://www.c-sharpcorner.com/article/audio-play-using-sd-card-module-and-arduino/ 2) zufaellig ... folgt wenn 1) geht, e.g. "shuffle sd title" leo
Den Zufall hatte ich bereits hinten angestellt, mit dem Code aus dem Post und auch dem Beispielscode, der der Library beiliegt, bekomme ich keinen Ton aus dem Arduino, ich habe auch mal einen anderen Arduino probiert, falls der andere kaputt sein sollte, das ändert aber nichts.
Lukas E. schrieb: > bekomme ich > keinen Ton aus dem Arduino, Ja dann wuerde ich (noch) mal die HW checken. leo
Ich habe zwei Arduinos getestet, die SD Karte funktioniert und kann angesprochen werden, die Directory kann gelistet werden. Selbst wenn ich direkt das Scope an den PWM Pin halte, kommt nichts raus ...
Erwartest du jetzt Hilfe für ein nicht genanntes Programm? Wir sind keine Hellseher. Zeige uns dein Programm.
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 | }
|
Das soll gehen? Mit einem Atmega328? Ich habs mit einem Tiny861 mit Hig Frequency PWM gemacht und schon das war grenzwertig. Aber mit einem ATmega, der max. 30kHz PWM Frequenz bei 8bit hat?
An dem Programm gibt es nichts aufregendes zu sehen. Ich würde mich daher an den Autor der Bibliothek wenden.
Lukas E. schrieb: > tmrpcm.speakerPin = 6; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc Ich wuerde mal die (vom Autor hoffentlich getesteten) Default-Pins fuer PWM und SPI probieren. leo
Das hat nichts geändert, aber ich habe jetzt noch einen weiteren Arduino probiert, damit geht es. Die zwei anderen scheinen irgendwie einen an der Waffel gehabt zu haben... Ich danke euch Lukas
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.