Hallo,
ich möchte einen Atmega328 und ein MP3 SD Karten abspielgerät
miteinander verbinden.
Das ist soweit auch kein Problem. Es soll ein "Jingle" Board werden -
bekannt u.a. von "Herrn Prosieben" - Stefan Raab.
Ich suche nun nach einer Möglichkeit, die Audio-Dateien auf der SD-Karte
einfach aus zu tauschen.
Dafür fallen mir jetzt 2 Ansätze ein:
1. Audio-Dateien per UART an den Arduino schicken, der sie dann auf die
SD-Karte schreibt. (umständlich, langsam)
2. SD Karten Lesegerät mit reinbauen z.B:
http://www.pollin.de/shop/dt/MDE2NzcyOTk-/Computer_Informationstechnik/Speichermedien/Cardreader/6_in_1_USB_2_0_Cardreader_Platine_RTS5159.html
(schneller, weniger Aufwand)
Für beide Ansätze brauche ich aber die Möglichkeit, die SD-Karte vom
SD-Card-Player Modul wegzuschalten und entweder an den CardReader oder
den µC zu switchen.
Jetzt ist die Frage: Welche Leitungen muss ich jeweils umschalten?
Die Versorgungsspannug des SD-Players kann ich automatisch abschalten,
wenn das USB-Kabel zum PC eingesteckt wird.
Reicht es, die Leitungen der SD-Karte parallel an beide Geräte zu hängen
und immer dafür zu sorgen, dass nur das Gerät, welches auf die SD-Karte
zugreifen will mit Spannung versorgt wird?
Leider weiß ich nicht, wie RESET-Beschaltung der Geräte ist. Ob die
betrefenden Leitungen hochohmig sind, oder ein Pulldown/Pullup
geschalten wird...
Um alle Leitungen zu schalten bräuchte ich dann zwei CD4016...
Danke!
Gruß Daniel
>Reicht es, die Leitungen der SD-Karte parallel an beide Geräte zu hängen>und immer dafür zu sorgen, dass nur das Gerät, welches auf die SD-Karte>zugreifen will mit Spannung versorgt wird?
Wenn an der SD Karte ein abgeschaltetes Gerät hängt wird gar nichts
funktionieren.
holger schrieb:>>Reicht es, die Leitungen der SD-Karte parallel an beide Geräte zu> hängen>>und immer dafür zu sorgen, dass nur das Gerät, welches auf die SD-Karte>>zugreifen will mit Spannung versorgt wird?>> Wenn an der SD Karte ein abgeschaltetes Gerät hängt wird gar nichts> funktionieren.
Warum das? Beeinflusst das abgeschaltene Gerät die Datenleitungen der
SD-Karte?
Also müssen alle Leitungen geschalten werden?
Oder gibt es Leitungen, die nicht geschalten werden müssen?
GND oder CLK z.B.?
Gibt es dafür ein "passendes" IC? Hätte es mal mit dem CD4016 versucht.
Davon bräuchte ich aber 3, wenn ich alle Leitungen umschalten will...
Lasse ich GND, sind es nur 2...
Gruß Daniel
holger schrieb:> Wieso ziehst du die Karte nicht einfach aus dem Gerät> um sie am PC neu zu beschreiben?
ich würde eher Fragen warum keine MP3 Player nehmen, das das kann was du
brauchst. Wenn du keinen findest dann eine Raspi + Soundkarte.
holger schrieb:> Wieso ziehst du die Karte nicht einfach aus dem Gerät> um sie am PC neu zu beschreiben?
Das Gerät ist zu, die SD-Karte ist von außen nicht zugänglich. Daher
müsste es jedes mal aufgeschraubt werden...
Außerdem sollen auch während der Laufzeit, die Files geändert werden
können.
(brauche ich für ein neues Projekt).
Ist es wirlich nötig, alle Leitungen um zu schalten?
Reichen nicht evtl. auch nur die Datenleitungen?
Gruß Daniel
Daniel schrieb:> Außerdem sollen auch während der Laufzeit, die Files geändert werden> können.
das geht eh nicht, weil du den Player kaum dazu bringen kannst, das
Dateisystem neu einzulesen. Es kann nur eine Software gleichzeitig auf
die FAT zugreifen.
Daniel schrieb:> Also müssen alle Leitungen geschalten werden?> Oder gibt es Leitungen, die nicht geschalten werden müssen?
Deinen µC kannst doch so programmieren, dass die IO-Pins als Eingang
definiert sind, solange er nicht auf die SD-Karte zugreifen soll.
Warum willst du da irgendwelche Leitungen schalten oder gar die
Betriebsspannung wegschalten?
Guck dir mal im Datenblatt des ATmega328 an, was an so einem IO-Pin an
Beschaltung dran hängt und dann überlege mal, was passiert, wenn du die
Betriebsspannung abschaltest, i.e. VCC=0V setzt (Kap. 14, Fig. 14-1 und
Fig. 14-2). Dazu kannst du auch bei den elektrischen Eigenschaften einen
Blick auf die Absolute Maximum Ratings für die Spannung an einem Pin
werfen (Kap. 29.1).
Okay, ich sehe ich muss mal genauer erklären.
Also, es läuft ein Odroid C2.
Dieser läuft aber nicht immer. Außerdem will ich z.B. Soundausgaben beim
starten von Android machen (boot-Sound).
Dies Funktioniert mit dem Odroid leider nicht, da der Treiber für die
USB-Soundkarte erst später geladen wird. (der Odroid hat keinen
Aux-Ausgang)
Es werden natürlich nicht immer Soundausgaben gemacht. Wenn ich die
Files ändern will, schalte ich das SD-Modul ab, änder die Files wie ich
es haben möchte und schalte das SD-Modul erst wieder ein, wenn wirklich
eine Sound-Ausgabe erfolgen soll.
Ich nutze z.B. auch den Wecker des AndroidOS. Beim Stellen des Alarms,
wird über UART und den Atmega eine DS2321 RTC mit dem Alarm gefüttert.
Wird der Alarm PIN der dann high, wecke ich den Atmega aus dem
sleep-Mode und spiele das File ab.
Auch Sensorwerte (z.B. Temperatur) können so ausgegeben werden.
Ich möchte von Android aus, diese Files ändern können (simple APP), die
die Daten auf die SD Karte schreibt.
Diese APP kümmmert sich dann auch um die Benennung der.mp3-files (001,
002 usw...)
Gruß Daniel
Falscher Ansatz, falscher Prozessor.
Du schaltest die SD-Karte nicht.
Du suchst Dir einen Prozessor mit Hardware-USB Device Interface, der das
USB Mass Storage Protokoll implementiert. Wenn die SD-Karte per USB
gemounted ist, dann ist kein Audio möglich. Wenn die USB-Verbindung
getrennt ist, kann der Prozessor per internem Filesystemtreiber die
Karte mounten und Audio abspielen. Ganz einfach. Ist alles fertig
verfügbar und funktioniert.
fchk
Okay, es gibt da schon einige Module, die den direkten Anschluss an den
PC erlauben.
Leider sind die Angaben in den Datenblätter - wie immer - etwas mau :/
Das hab ich gefunden:
FN-RM01: Playback und Aufnahme auf SD Karte oder USB Stick.
Angabe im Datenblatt bezüglich PC Anschluss: "Can freely replace sound
files in the micro SD card via USB port"
Außerdem "Supports USB sound card mode" -> Keine Ahnung, was das sein
soll!
Über Operation System steht rein garnix dabei :/
FN-M22P: Nur Wiedergabe der Datein von SD Card oder USB-Stick
Angabe im Datenblatt bezüglich PC Anschluss: "Possible to update audio
files in the SD card via the USB connecting with PC(supports Win XP
and Win7 systems)" -> Android = ?
Außerdem hat es einen ganz anderen Nachteil:
Wenn ich die datei 0001.mp3 ersetzen will, müsste ich erst alle Datein
von der Karte runterkopieren, löschen und dann zusammen mit meinem
0001.mp3 wieder auf die Karte schreiben.
Grund hierfür: Es wird nicht nach datei-name abgespielt also 0001.mp3,
sondern in der Reihenfolge, wie die Files auf die SD-Karte geschrieben
wurden. Mir rätselhaft, wie das funktioniert...Es steht aber zumindest
so im Datenblatt.
Mein Fovorit wäre jetzt das FN-RM01. Leider ist es eher wieder trial and
error, da ich nicht weiß, ob Android das überhaupt erkennt!
Sind euch evtl. noch Module bekannt? Oder setzt ihr was ein/habt es
eingesetzt?
Gruß Daniel