6 votos

¿Cómo puedo utilizar un cable USB OTG para leer una memoria USB en Arduino Uno?

¿Es posible utilizar un cable USB OTG (On-The-Go) conectado al conector USB del Arduino Uno (o similar) para leer una memoria USB u otro dispositivo? Si es posible, ¿qué software se necesitaría?

6voto

Eric Puntos 152

No sin ensuciarse las manos o comprar un escudo.

Los Arduinos están configurados por defecto como dispositivos usb esclavos. Los dispositivos esclavos no pueden conectarse a otros dispositivos esclavos, por lo que conectar una unidad de disco duro a través de un cable USB OTG no tiene sentido.

Si no quiere ensuciarse las manos, existe la Escudo de host USB como sugiere @Kevin que debería funcionar.

Si usted hacer quiere ensuciarse las manos, puede probar flashear el nuevo firmware en el chip 8u2/16u2 en el Uno. Este chip es el que da al ATmega328 principal la capacidad de cargar programas y enviar la salida en serie a través de USB. Puede ser reprogramado para ser varias cosas: un joystick, un ratón, un teclado.

Sin embargo, no se limita a los dispositivos esclavos, también se puede programar para que sea un host. Con un Due, ser un Anfitrión USB para un ratón o un teclado es bastante fácil, pero para otros Arduinos hay que programar el chip 8u2/16u2.

Tenga en cuenta que la programación de un Arduino para entender un dispositivo de almacenamiento masivo USB no se ha hecho todavía. Habrá una cantidad significativa de código si se desea hacer esto.

Básicamente, se utiliza el LUFA biblioteca, concretamente el Host de almacenamiento masivo USB clase. No puedo encontrar cualquier cosa aparte de esa página doc y el código fuente de la clase (que es extenso), así que no puedo escribir el código yo mismo. Sin embargo, es posible que desee echar un vistazo a este tutorial sobre cómo hacer un joystick Arduino a través de LUFA para empezar.

3voto

cavver Puntos 397

Esto no es exactamente lo que has descrito pero yo miraría en el Escudo de host USB . Hay un versión completamente ensamblada por 5 dólares más. Viene con un impresionante conjunto de bibliotecas desarrolladas activamente que permiten controlar fácilmente una variedad de dispositivos (PS3/Xbox/Wii controller, y más) con buenas APIs. Te proporciona todo lo que necesitas para ponerte en marcha rápidamente con el USB. Hay un almacenamiento_genérico lib que puede ayudar a leer/escribir en unidades flash.

Lo he utilizado para comunicarme con un mando de PlayStation 3 conectando un dongle Bluetooth con gran éxito.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X