Hallo zusammen,
hat jemand schonmal eine Lösung gesehen, wie man über das USB-Kabel durch den Arduino hindurch Daten von einer SD-Karte (z.B. von einem shield) in den PC bekommt?
Ich habe vor längerer Zeit mal gesucht, aber nichts gefunden. Eigentlich muss es da doch was geben, denn es wäre schon sehr praktisch, wenn man einen robusten Datenlogger nur über ein USB und ein Netzkabel bedienen könnte, anstatt ihn zum Bergen der Daten immerzu aufmachen zu müssen (USB-Buchsen gibt es schließlich in IP85 und ähnlich dicht, was man von Kartenschlitzen nicht sagen kann).
Vielen Dank für Hinweise und Kommentare, schönes Wochenende.
Ciao
Sebastian
Spontan würde mir da einfallen die SD karte über SPI auszulsen (über ein Shield oder wie auch immer) dann über den Arduino mit Serial auf den Serielenport an den rechner, welche die Daten mit einem (wahrscheinlich selbst geschrieben Programm) annimmt und verarbeitet.
Auch ich sehe nur diesen Weg. Man kann aber die Daten die bei der seriellen Schnittstelle hereinkommen über DOS-Befehle in ein File schreiben lassen und so nicht ein Programm schreiben zu müssen.
uwefed:
Auch ich sehe nur diesen Weg. Man kann aber die Daten die bei der seriellen Schnittstelle hereinkommen über DOS-Befehle in ein File schreiben lassen und so nicht ein Programm schreiben zu müssen.
Das ist wahrscheinlich der einzige sinnvolle Weg. Dazu müsste natürlich noch eine Kommando Routine implementiert werden, die den Datentransfer regelt.
Zum Auslesen würde ich dir raten, da es sich um ein Logger Projekt handelt, den seriellen Transfer direkt in Excel-VBA abzuwickeln. Dann kansst du auch schön in eine Tabelle schreiben und umrechen (Punkt zu Komma) etc...
Vielen Dank schonmal, so was in der Art hatte ich schon befürchtet. Es ist wohl etwas naiv anzunehmen, dass es einen Sketch geben könnte, der aus einem Arduino mit SD einfach einen USB-Stick macht?!
Wieso mußt Du aus dem Arduino eine USB-Stick machen. Genügt es nicht daß der Arduino die Daten seriell an den PC schickt? Das kann nämlich jeder Arduino ohne Zusatzhardware.
Grüße Uwe
Ich meine damit, dass ich das Gerät gerne einfach über USB anschließen würde und es dann als Datenspeicher im Windowsexplorer sehe, damit ich die Daten möglichst simpel kopieren kann.
Gibt's einen Link mit ein bißchen mehr Info zu dem Vorschlag mit der Firmware? Ich hab nichts gefunden. Danke!
Da ich das gleiche auch irgendwann benötige, würde ich mich für den Windows-Part anbieten.
Wenn jemand den Arduino-Part übernimmt(Verzeichnis Befehle ähnlich wie DIR,CD etc.. vorstellbar) könnte ich den Windows-Part übernehmen. Momentan reicht es mir aber zeitlich nicht für beides, da andere Notwendigkeiten bestehen...
Angebot: VB.NET Programm, das dann über die serielle Schnittstelle die Daten empfängt und als Datei ablegt.
Billigen USB-Kartenleser zerlegen und an SD Halterung + USB Buchse löten; Schalter der bei Bedarf die Stromversorgung zwischen Arduino + Kartenleser wechselt.
Ob das wohl klappt? Ich würde nicht darauf wetten, dass die Chinesen bei ihren Cardreader ASICs korrekt arbeiten...
Müsste man mal nachmessen, ob die Hochohmig geschaltet werden/sind.
Ich hatte mal einen, der im abgeschalteten Zustand alle Leitungen (auch die Eingänge!) auf Masse gezogen hat.
Nabend,
ich hab das mit dem SD-KIartenleser mal probiert und mir ein kleines Testboard geätzt, siehe unten. Da ich nicht wusste, was der Cardreader (billig, Conrad) für ein Format benutzt, hab ich mal alle 8 Kontakte über SV1 rausgeführt.
Wenn ich eine Karte einschiebe, ohne den Arduino (Uno) an SV2 anzuschließen, dann findet der Rechner halt einen Cardreader.
Wenn ich nur den Arduino anschließe, dann kann ich diverse Späße mit der Karte machen.
Wenn ich aber den Arduino stromlos dranlasse und dann den USB-Stecker vom Cardreader reinstecke, dann findet er ihn gar nicht. Er findet ihn nur, wenn ich höchstens einen der 6 Pins angeschlossen lasse, egal welchen.
Hat jemand einen Tip? Ich werde mal den Bus komplett hochziehen, das hat bei Busproblemen in einem anderen Zusammenhang schon mal geholfen.
Leider kann ich nicht ausreichend programmieren, um das Problem auf eine der vorher genannten Arten zu lösen. Gibt's da eigentlich einen Fortschritt?
Schönen Abend
Sebastian