ADC esterno via SPI

Salve a tutti sto usando un Arduino Uno R3 e uno shield WiFi ufficiale. Vorrei collegare esternamente un ADC con una maggiore risoluzione (16 bit) via SPI, e possibile?
In senso dato che Arduino uno e lo shield wifi comuniocano via SPI e possibile aggiungere un ADC esterno?...
Grazie mille.

Se hai un pin libero per il Select del ADC ... certamente SI, su SPI puoi connettere più devices, a patto che ne selezioni una per volta :wink:

Guglielmo

ok ma devo scegliere un pin digitale qualsiasi?...Perche ho visto che il 10 e usato per comunicare con lo shield e il 4 con l SD dello shield

Come ti ho detto ... "un pin libero" ... che significa NON usato da nessun'altra cosa ...

Lo shield WiFi, se ben ricordo, usa già il 4, 7, 9 (solo per il LED), 10, 11, 12, 13 quindi, questi di sicuro no ... però puoi usare il 5, 6, e 8 :slight_smile:

Guglielmo

ok grazie mille, la mia domanda era per capire se potessi usare uno qualsiasi ...grazie comunque...

Ah ... ovviamente, se libero, puoi usare anche qualsiasi pin analogico. Tutti i pin analogici possono essere difatti usati anche come pin digitali :wink:

Quindi ... hai l'imbarazzo della scelta :slight_smile:

Guglielmo

Ti posso chiedere un ulteriore favore...se dovessi usare un ADC esterno a 12 o 16 bit con tempi di conversione dell`ordine del microsecondo me ne sapresti consigliare qualcuno?..dinamica a 5 o 3.3 V...
io ho trovato questo

Senza metterti a fare saldature con quei componenti, se vuoi trovi anche delle economiche schedine già pronte I2C da Adafruit ...

... qui un 4 canali a 12 bit : ADS1015 12-Bit ADC - 4 Channel with Programmable Gain Amplifier [STEMMA QT / Qwiic] : ID 1083 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits (3300 samples/second)

... qui un 4 canali a 16 bit : ADS1115 16-Bit ADC - 4 Channel with Programmable Gain Amplifier [STEMMA QT / Qwiic] : ID 1085 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits (860 samples/second)

Io te le consiglio :wink:

Guglielmo

Guglielmo (ora che ci sono chiedo scusa per non averti salutato a dovere sabato scorso ma pensavo ci fossi anche la domenica :disappointed_relieved:)

Tornando in topic, sai se cè un adc a 2-3 canali magari in DIP o SOP che riesca a leggere a 12 o più bit frequenze fino al Mhz?

Ciao, tranquillo, nessun problema, speriamo di reincontraci presto a qualche nuovo evento :slight_smile:

No, non ho mai usato ADC a quelle velocità di campionamento, mi spiace ... però ... S.Google se metti "ADC 12bit megasample" ... tira fuori vari risultati ...
... tra cui un AD9434 della Analog Device che è un "12-Bit, 370 MSPS/500 MSPS, 1.8 V Analog-to-Digital Converter" XD :grin: XD

Guglielmo

Certo :slight_smile:
Avevo cercato ma non con la parola megasample xD
ottimo, grazie mille:)

ciao guglielmo il problema che mi serve un throughput di almeno 10 ksps e 10 canali...scusa ma ieri non te lo avevo detto...

ale16289:
ciao guglielmo il problema che mi serve un throughput di almeno 10 ksps e 10 canali...scusa ma ieri non te lo avevo detto...

Ah bé ... allora credo dovrai orientarti sul chip che mi hai indicato, o su qualche cosa di equivalente ...

Guglielmo

scusa ti chiedo un ultima cosa...ma considerando un blocco hardware costituito da arduino uno+ shield wifi+adc sarebbe possibile, allo stesso tempo, trasmettere dati tra arduino e adc e tra arduino e link wireless?

... "allo stesso tempo" è una parola grossa XD

Il problema è che il bus SPI prevede UN SOLO device attivo per volta, selezionato tramite il pin SS; tale pin per il modulo WiFi è il 10, per la scheda SD è il 4 e per il tuo ADC sarà N ... quindi ... NO, non puoi acquisire e simultaneamente trasmettere i dati, puoi acquisire un blocco e dopo trasmetterlo ...

Guglielmo

ah ok grazie mille ancora