Forum: Mikrocontroller und Digitale Elektronik Arduino USB Host Shield + USB Stick


von Toni N. (ich3)


Lesenswert?

Hallo zusammen,
ich habe mir ein USB Host Shield gekauft. Ich habe jetzt ein bisschen 
damit rum gespielt(Tastertur, Joystick, ...) uns ich wollte eigentlich 
von Anfang an damit einen USB Stick auslesen. Das funktioniert mit der 
Library dafür aber erst mit dem Mega weil der UNO zu wenig Speicher hat. 
Kann ich dass doch noch irgendwie mit dem UNO realisieren und wenn ja 
wie? HAt das jemand schon mal hinbekommen oder gibt es anregungen. Wäre 
für jede Hilfe dankbar!

LG

von Arduino UNO (Gast)


Lesenswert?

Die Aussage zum Host-Shield ist doch klar:

http://www.arduino.cc/en/Main/ArduinoUSBHostShield

von dort verwiesen auf:

https://www.circuitsathome.com/mcu/mass-storage-support-for-usb-host-library-2-0-released

"At present, the code example, also featuring Andrew’s FAT and extended 
memory implementation, can only be run on “big” Arduinos such as Mega 
and Mega 2560."

Lösungsempfehlung: Kauf einen Mega2560.

Alternativ leg selbst Hand an: "On the other hand, the mass storage 
component can be used without a file system by simply reading/writing 
physical sectors; this approach can save a lot of memory. The 
documentation for the mass storage class code is available here."

aber: "Many hours has been spent testing the code;"

Fertige Lösungen sind nicht in Sicht.

von Guido L. (guidol1970)


Lesenswert?


von Toni N. (ich3)


Lesenswert?

Hallo Guido,
ok der wäre ok aber wo kann ich den kaufen ebay amazon?

LG

von Re S. (cospieler)


Lesenswert?

Hallo zusammen

Ich habe mir auch ein Mega 2560 und ein SainSmart USB Host Shield Rev 
2.0 gekauft.

Mein Ziel  ist es, dass der Mega Daten auf ein USB Stick schreiben soll.

Habe zwar schon viel gelesen und auch Herr Google befragt. Aber keinen 
passenden Quellcode zusammenstellen können.

Hat einer von euch schon Erfahrung in diesem Thema und mag mir 
Hilfestellung geben?

Vor weg gesagt, ich habe schon andere kleine Projekte in c geschrieben.

Gruß Cospieler

von Re S. (cospieler)


Lesenswert?

Hiermit habe ich versucht Dateien zu erzeugen aber bekomme es nicht hin.

https://github.com/felis/USB_Host_Shield_2.0?files=1

Bitte um Hilfe

von Re S. (cospieler)


Lesenswert?

Hallo zusammen

Mein Ziel ist es weiterhin, dass der Arduino Messdaten auf einen 
USB-Stick schreibt, um sie dann an einem Windows PC anzusehen.

Folgendes gemacht:

1.  Daraufhin habe ich mir ein Mega 2560 R3 und ein SainSmart USB Host 
Shield gekauft.

2.  Dazu habe ich mir hier die passenden Daten heruntergeladen:
https://github.com/felis/USB_Host_Shield_2.0
https://github.com/xxxajk/xmem2
https://github.com/xxxajk/generic_storage
https://github.com/xxxajk/RTClib

3.  Habe  Arduino 1.6.2 IDE für Windows heruntergeladen und installiert. 
(Grund: Weil aktuelle IDE Version nur Fehler zeigt beim hochladen.)

4.  Dann Arduino 1.6.2 gestartet und dort den Library Manager gestartet 
und die Bridge aktualisiert auf Version 1.6.2

5.  Die gedownloadeten Daten hier bereitgestellt:
C:\Users\[Benutzer]\Documents\Arduino\libraries\generic_storage
C:\Users\[Benutzer]\Documents\Arduino\libraries\RTClib
C:\Users\[Benutzer]\Documents\Arduino\libraries\xmem2
C:\Users\[Benutzer]\Documents\Arduino\libraries\USB_Host_Shield_20

6.  Arduino 1.6.2 IDE neugestartet.

7.  Die Datei Makefile nach Anleitung auf Mage 2560 umgestellt.
C:\Users\[Benutzer]\Documents\Arduino\libraries\USB_Host_Shield_20\examp 
les\testusbhostFAT\Makefile

8.  Mit Arduino 1.6.2 IDE die Datei testusbhostFAT.ino geöffnet und 
hochgeladen.
Ohne Fehlermeldung.
C:\Users\[Benutzer]\Documents\Arduino\libraries\USB_Host_Shield_20\examp 
les\testusbhostFAT\  testusbhostFAT.ino

9.  Habe am Mega ein 2GB Stick angeschlossen.

10.  Der Serieller Monitor zeigt jetzt das an:
Start
Current UsbDEBUGlvl 81
'+' and '-' increase/decrease by 0x01
'.' and ',' increase/decrease by 0x10
't' will run a 10MB write/read test and print out the time it took.
'e' will toggle vbus off for a few moments.

Long filename support: Enabled
Total EXT RAM banks 0
Available heap: 7124 Bytes
SP 21ef
Available heap: 7097 Bytes
VBUS on
USB state = 20
USB state = 40
USB state = 50
USB state = 51
USB state = 90
Available heap: 6650 Bytes
Available heap: 6650 Bytes
Available heap: 6650 Bytes
.
.
.


Jetzt meine Fragen
Ist diese Ausgabe hier OK?
Wenn ja, wo muss ich am Code Anpassungen vornehmen, damit der Arduino 
Dateien auf dem USB-Stick erzeugt?

Ich habe zwar schon viel in Google erfahren, aber irgendwie wollen meine 
Selbstversuche nicht zum Ziel führen.

Bitte von daher um Radschläge.

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.