Dubbi usb host shield

Ciao a tutti, ho acquistato dalla Cina un usb host shield

https://it.aliexpress.com/item/32812237683.html

Volevo chiedere dei chiarimenti, dato che ho acquistato lo shield a occhi chiusi senza uno scopo preciso. Dato il prezzo volevo provarlo, senza però accorgermi del poco supporto/materiale disponibile in rete. L'unico sito che condivide materiale utile pare essere http://domoticx.com/arduino-shield-usb-2-0-host-shield/

il primo quesito è: vicino ai pin Vin, GND, 5V 3.3V ci sono dei pin che sembrano essere delle vias che interrompono il circuito... devo fare io le saldature per alimentare l'usb? quindi andrei a chiudere i terminali 5V essendo il mio obiettivo utilizzare tale tensione di alimentazione per la usb.

secondo quesito: ho scaricato la libreria usb host library 2.0 USB Host Shield Library 2.0 - Arduino Reference
ma qualsiasi esempio non sembra funzionare.. probabilmente perché devo ancora eseguire quanto riportato nel quesito 1.

infine, tale shield, con una chiavetta opportunamente formattata in fat32, può operare in lettura/scrittura di un file txt come fanno ad esempio gli shield microsd?

grazie mille in anticipo

Intato sappi che, se quella scheda è un clone ESATTO della scheda che produceva in origine Arduino, anche se NON mi sembra ... c'è un bel problema che la rende, di base, inutilizzabile con qualsiasi altra cosa usi il bus SPI. Trovi tutti i dettagli in una vecchia discussione, specialmente da QUI in poi ... :roll_eyes: Però la tua è piuttosto differente e bisognerebbe vedere lo schema elettrico per capire se hanno tenuto conto della cosa o meno ...

Per l'uso con chiavette ... ti devi studiare la libreria che hai indicato (e che è l'unica che mi sembra esistere per quelle shields) e vedere se le chiavette USB sono tra le cose supportate e, se si, formattate come.

Guglielmo

Grazie mille per la risposta

Sul bus SPI c’è solo lei quindi non vi sono particolari problemi, per quanto riguarda invece le piccole saldature di interruzione vicino l’alimentazione? Sono sa chiudere?

Qui ho trovato uno schema elettrico http://domoticx.com/arduino-shield-usb-2-0-host-shield/

Nella pagina di cui hai messo il link c'è chiaramente indicato COSA occorre fare con quei ponticelli a seconda della scheda che si usa.

Nel tuo caso, se ho ben caito, la vuoi usare con un Arduino UNO/MEGA quindi un Arduino che lavora a 5V quindi dovrai usare le indicazioni riportate nel paragrafo "Shield klaarmaken voor Arduino" (Preparazione dello shield per Arduino) dove si vede quali piazzole occorre chiudere. La nota ti dice chiaramente:

Attenzione: prima che questo shield possa essere usato su un arduino UNO/MEGA ecc, bisogna saldare un certo numero di "piazzole" (lo shield è universale per essere usato anche con con altre piattaforme di microcontroller):

  • selezione dell'alimentazione 3.3v
  • SELEZIONE ALIMENTAZIONE 5V
  • VBUS PWR 5V

... quindi devi fare unire le piazzole come da foto.

Guglielmo

... in ogni caso questa sembra fatta meglio e, dallo schema, sembra correttamente gestisto il pin SS.

Guglielmo

Ciao e grazie per le risposte.

Chiudendo le piste come indicato lo Shield ha iniziato a dare segni di vita

L'unica libreria relativa a questo Shield è USB HOST SHIELD LIBRARY 2.0 e provato l'esempio USBHIDBootMouse per rilevare la posizione/funzionamento di un mouse e va correttamente.

allora ho proceduto nell'inserire una memoria usb formattata in FAT32 e avviato l'esempio testusbhostFAT, sempre della stessa libreria, ottenendo come output su seriale quanto segue:

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: 7084 Bytes
SP 21f4
Available heap: 7069 Bytes
VBUS on
USB state = 20
USB state = 40
USB state = 50
USB state = 51
USB state = 90
LUN: 0
Total Sectors: 00f00800 15730688
Sector Size: 0200 512
Available heap: 6587 Bytes

Ciò che non riesco a reperire sono istruzioni per aprire e scrivere un file txt... continuo le mie ricerche, ma se qualcuno ha idee sono ben accette

buona giornata

Su github della libreria, mi pare di capire che devi anche caricare altre lib per quel esempio.
Tra le lib c'e' * generic_storage FATfs *
e al suo github vedo che ha una sottolibreria FAT e sembra che li dentro ci siano funzioni per leggere/scrivere settori del "disco". Non x gestire file ma settori di disco.

... si, infatti, mi sembra che sia ... tutto da sviluppare partendo dalla generica FatFs ed implementando tutto quello che serve ... :roll_eyes:

Guglielmo

Cosa decisamente al di sopra delle mie competenze :sweat_smile:

Quindi allo stato attuale per fare un sistema di log su file txt con Arduino l’unica via sono i moduli SD/microSD?

Sicuramente usare una MicroSD è la cosa più semplice.

Come dice anche "docdoc" direi di SI ... salvo non hai veramente pochi dati che riesci a salvare magari su una memoria esterna di tipo non volatile.

Guglielmo

La mia idea era quella di avere un sistema esterno dove riversare in un txt delle impostazioni, in modo che all’occorrenza il sistema basato su micro carica tali dati da sfruttare in un algoritmo che li utilizza.

Nel mio immaginario pensavo che la strada più semplice fosse tramite storageUSB (cosa smentita a quanto pare😂), a seguire c’è la strada microsd o, per raggiungere livello masochismo, provvedere a realizzare una ‘cartuccia’ esterna contenente una eeprom i2c che viene innestata nel circuito primario e quindi letta…

Fra tutte la strada sd shield mi sembra la più semplice economia e veloce

Ma se sono "impostazioni" NON saranno un gran che di dati ... :roll_eyes:

Se sono sotto il KByte (che, per delle impostazioni, mi sembra veramente tanto), puoi usare la EEPROM che è a bordo della MCU senza dover aggiungere nulla ...

Guglielmo

Non può esportare quelle informazioni...
In alternativa, si potrebbe fare una connessione seriale con cui l'altro dispositivo chiede l'invio di ciò che desidera.