Forum: Mikrocontroller und Digitale Elektronik automatisches "pausieren" der Musikwiedergabe


von Alex (Gast)


Lesenswert?

Hallo,

ich bin gerade am planen für eine kleine "Spielerrei".
Ist mein erstes µC-Projekt. Bin also leider noch sehr unerfahren.
Die Basics würde ich sagen habe ich. Schaltungstechnisch bekomme ich es 
auch hin. Nur die Software will nicht so richtig hinhauen. Hab einfach 
keine richtige idee, wie ich dem Avr beibringe, was er machen soll!

Es ist nicht ganz einfach zu erklären. Hab auch nicht wirklich einen 
passenden Betreff für das Thema gefunden...

Ich versuch einfach mal es zu erklären.


Also:
Es geht darum ich möchte mit diesem SD-MP3-Modul 
http://www.mdfly.com/index.php?main_page=product_info&products_id=284 
ein Art Jingle-Box bauen, wie sie elv früher mal im Angebot hatte.
Also, ca. 10 Taster, die ein Soundfile von der SD wiedergeben.
Muss auch keine Ports sparen, da der Controller nur dafür genutzt werden 
wird...

Das ist ja noch kein alzugroßes Problem.
Im Titel hab ich es schon angedeutet:
Ich möchte die laufende Musikwiedergabe "pausieren" (sie darf im 
Hintergrund aber ruhig weiterlaufen!!) lassen, sobald ein Taster für das 
MP3 Modul betätigt wurde.
Dabei soll natürlich kein nervendes "plopp" geräusch entstehen...

Nach der Wiedergabe des Files soll das zuvor gespielte per softstart 
einfach wieder anfangen zu spielen.
Also langsam wieder zur eingestellten Lautstärke zurückkehren.

Da wird also schon ein digitales Poti fällig. Am besten 2 unabhängig von 
einander steuerbare, die auch getrennt "gemutet" werden können.
So einen chip fand ich dann im DS1802.
Die Taster zum Manuellen lauter/leiser machen verwende ich auch. (wie im 
Datenblatt)

Was machen denn eigentlich die Pins "ZCEN" und "Cout"?


Leider weiss ich nicht, wie ich die Taster anschließe, dass (egal 
welcher betättigt wird) die bisherige Wiedergabe gemutet wird und 
gleichzeitig der SD-Player "scharf" gestellt wird.
Die Ansteuerung über SPI verstehe ich auch noch nicht so ganz!

Außerdem würde ich gerne wissen, wie ich das mit dem Softstart 
hinbekomme, nachdem der SD-Player die Wiedergabe gestoppt hat.


Der Busy ausgang am Modul sollte eigentlich schon genügen (oder brauch 
ich den fürs Timming bei der Kommunikation?)
Normal ist er High. Busy wird er dann low.

Wofür sind eigentlich die ganzen Pins bei diesem Modul? Pin 1-13 hat 
keine beschiftung ist aber mit dem Controller verbunden!?

Bin ich mit diesem Lösungsweg überhaupt ansatzweise richtig?
Wie würdet ihr so was denn angehen?


Ich hoffe, meine Fragen sind nicht alzu blöd!

Ist wirklich mein erstes Projekt.
Von der Logik her verstehe ich, was wann passieren muss. Wie ich das 
aber in meinen Quellcode schreibe, damit es der AVR auch versteht ist 
mir momentan noch ein Rätsel.
Hallo-Welt-Ausgaben ect. waren da doch noch einfacher :D

Achja, was ich noch erwähnen sollte: Die Signale sind Mono (von nem 
simplen OPV Summierer addiert)
Zuvor ist noch eine Quellenwahl mit Lautstärke-Regler. Irgendein 
PGA-Chip, der max. 2VRMS ausgiebt. (weiss nicht, ob das relevant ist?!)

Abschließend will ich noch einen Equalizer einbauen.
Die Frage: Zwischen Lautstärke-Regler und dem jetzt geplanten oder nach 
dem SD-Modul?
http://www.knollep.de/Hobbyelektronik/projekte/55/index.htm

Vielen Dank schonmal für eure Hilfe!

MfG,
Alex

von Jingle (Gast)


Lesenswert?

Guckst Du hier.

http://www.sparkfun.com/products/11029

Gruss

Jingle

von Krapao (Gast)


Lesenswert?

> Ich möchte die laufende Musikwiedergabe "pausieren" (sie darf im
> Hintergrund aber ruhig weiterlaufen!!)

Wenn das Modul die Musikwiedergabe und das Jingle machen soll, dann 
geht dein Vorhaben nicht. Das Modul kann entweder eine Musikdatei oder 
eine Jingledatei wiedergeben. Ich sehe auch keine Möglichkeit, dass das 
Modul mitten in ein Audiofile einsteigt, um z.B. eine unterbrochene 
Musikwiedergabe fortzusetzen. Bei dem Sparkfun-Modul ist das genauso.

von Karl H. (kbuchegg)


Lesenswert?

Alex schrieb:

> ich bin gerade am planen für eine kleine "Spielerrei".
> Ist mein erstes µC-Projekt. Bin also leider noch sehr unerfahren.

Du hast dir anscheinend auch die 'Doku' für dein Modul nicht angesehen.

> Es geht darum ich möchte mit diesem SD-MP3-Modul
> http://www.mdfly.com/index.php?main_page=product_info&products_id=284
> ein Art Jingle-Box bauen, wie sie elv früher mal im Angebot hatte.
...
> Da wird also schon ein digitales Poti fällig.

Wozu?
Das Modul kann in der Lautstärke eingestellt werden. Hast du dir den 
'Befehlssatz' deines Moduls nicht angesehen. Es versteht diese Befehle

* Zahl von 1 bis 199        spiele Stück n
* Volume +                  Lautstärke erhöhen
* Volume -                  Lautstärke verringern
* Play / Pause              mit dem Abspielen beginnen, Pausieren
* Hold                      ..
* Resume                    ich schätze mal: aus einer Pause heraus
                            weiterspielen
* Stop                      mit dem Abspielen aufhören.

Ich würde mal sagen, das ist ein überschaubarer Befehlssatz. Nichts 
kompliziertes. Alle Befehle sind 1 Byte Befehle, also auch kein 
kompliziertes Protokoll.

> Außerdem würde ich gerne wissen, wie ich das mit dem Softstart
> hinbekomme, nachdem der SD-Player die Wiedergabe gestoppt hat.

Den Player auf Play stellen und dann in Hunderstelsekunden Schritten die 
Lautstärke sukzessive erhöhen.

> Wofür sind eigentlich die ganzen Pins bei diesem Modul? Pin 1-13 hat
> keine beschiftung ist aber mit dem Controller verbunden!?

Die Pins sind höchst wahrscheinlich entweder Testpins oder aber sie 
sollen einfach nur für Stabilität der Verbindung sorgen. Und der 
SD-Karten Halter muss ja schliesslich auch noch irgendwo angeschlossen 
werden.

> Bin ich mit diesem Lösungsweg überhaupt ansatzweise richtig?
> Wie würdet ihr so was denn angehen?

Sound Modul
dazu passend einen kleinen Verstärker
µC-Platine
an diese ein paar Taster

von Alex (Gast)


Lesenswert?

Doch, doch, die Doku hab ich mir angeschaut!

Aber - wie schon mehrfach erwähnt - kann das Modul keine 2 sachen 
gleichzeitig abspielen. Das muss es aber auch nicht!


Der Sound, der unterbrochen werden soll, kommt von einer anderen Quelle 
(je nachdem, was gerade bei der Quellenwahl eingestellt ist)
Dieses File kann ich auch nicht ohne weiteres Pausieren lassen. Macht 
aber - wie gesagt - nix, wenn es nicht genau an der Stelle weitergeht!

Die Befehle des Moduls kann ich aufgrund der Situation also nicht 
nutzen..


Sind wir wieder beim digitalen Poti, oder?
Ich hoffe, jetzt ist klar, was ich wollte.
War wohl ein bisschen unglücklich formoliert!


Also fremde Quelle soll unterbrochen werden, während das MP3 Modul 
spielt und am Ende der Wiedergabe soll dann die fremde Quelle wieder 
"einspringen"



Wenn mein Weg so richtig ist, wie würdet ihr alles über den BUSY Pin des 
Moduls machen?
Weiss leider nicht, ob der von Anfang bis zum Ende der Wiedergabe dann 
low ist.

Was muss ich eigentlich über SPI senden, wenn ich z.B ein Mute beim 
DS1802 auslösen will?
Und was muss ich mit dem Pin Zcen bzw. Cout anstellen?


Das Modul anzusprechen, dass es ein bestimmtes File bekomm ich sicher 
hin!
Fehlt eben der automatische Teil.



Gruß Alex

von Karl H. (kbuchegg)


Lesenswert?

Alex schrieb:

> Sind wir wieder beim digitalen Poti, oder?
> Ich hoffe, jetzt ist klar, was ich wollte.
> War wohl ein bisschen unglücklich formoliert!
>
>
> Also fremde Quelle soll unterbrochen werden,

Ah. Da gibt es auch noch eine andere Quelle!
Ja, das muss einem gesagt werden.

> Sind wir wieder beim digitalen Poti, oder?

Hast du schon mal nach Vorverstärker-ICs gesucht, die mehrere Eingänge 
haben?

von Karl H. (kbuchegg)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Hast du schon mal nach Vorverstärker-ICs gesucht, die mehrere Eingänge
> haben?

Das ist jetzt der erste der mir 'in die Hände gefallen ist'. Die 
Audio-Profis hier kennen sicherlich auch noch andere oder bessere IC.
Bei Reichelt gibt es zb den TDA7439
4 Stereo-Eingänge, Lautstärkeregelung, Bass-Mitte-Höhe Regler, steuerbar 
über I2C, und das ganze um 2 Euro.

von Alex (Gast)


Lesenswert?

Danke für den Tipp!
Ist grundsätzlich eine super Idee.
Hab zwar nur 2 mono Kanäle. Ist zwar egal, aber man kann sich so 
schonmal einiges an Platz auf der Platine sparen.

Ich muss auch ehrlich sagen, dass ich mit der Ansteuerung überfordert 
wäre.
Equalizer brauche ich eigentlich auch keinen, da ich  den 10 Band vom 
Link oben verwenden würde. So hat man mehr Kontrolle.
Wobei eine lowcut Funktion sehr nett wäre!

Naja, leider komm ich mit der Ansteuerung nicht klar...

Das mit der clock-Leitung verwirrt mich irgendwie total!
Ich werd jetzt mal noch bisschen lesen und dann mal sehen!


Gruß alex

von Alex (Gast)


Lesenswert?

So, werde mir das Modul morgen erst mal bestellen.
Hab mich mal ein bisschen in I2C eingelesen - bekomm ich mit ein wenig 
Hilfe und ein klein wenig Zeit schon hin!


Zur Not probier ich halt ein wenig rum.
Durch falsche Befehle kann ich beim modul ja nichts kaputt machen, oder?


Fals jemand auch so ein Modul haben möchte, kann ich es gerne 
mitbestellen.
Vielleicht sucht ja jemand gerade so etwas ähnliches!


Gruß Alex

von Alex (Gast)


Lesenswert?

So, Modul ist nun da!
Als Lautstärke IC hab ich mir jetzt den PGA2311 besorgt.

Die Frage ist nun, ob ich Ein- und Ausgangsseitig noch einen 
Impedanzwandler brauche?

Vor dem Pga, der das automatische "ein - ausfaden" übernehmen soll, 
liegt ebenfals ein PGA, der zuvor als lautstärkeregelung bzw. 
Quellenwahl betrieben wird.
Schaltplan siehe hier: 
http://sites.google.com/site/picplayer/VolCon.pdf?attredirects=0
Ist nicht mein Projekt! Lediglich nachgebaut wurde es. Funktioniert auch 
super. Echt empfehlenswert!

Der zweite PGA wird wohl max. mit Verstärkung 1 gefahren bzw. schwächt 
das eingangssignal ab, um es anschließend langsam bis V=1 hochzufahren.


Die Software sollte ich hinbekommen allerdings stellt sich mir die Frage 
nach der Beschaltung!


Gruß Alex

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
Noch kein Account? Hier anmelden.