Arduino Ethernet e NRF24L01+

Ciao a tutti,

dal presente articolo,

Ho capito che il protocollo SPI di un Arduino (UNO / MEGA) non può funzionare allo stesso tempo con un arduino ethernet shield e un transceiver NRF24L01+ perché entrambi i dispositivi utilizzano la SPI. Inoltre, è necessario duplicare il bus SPI.

Quindi, per evitare questi problemi, pensavo che usando un Arduino Ethernet è possibile utilizzare il NRF24L01 + e il cavo ethernet senza problemi sulle connessioni SPI.

Secondo voi è corretta la mia analisi?

Grazie in anticipo,
Gianfranco

non proprio.

Usare una scheda UNO + Ethernet shield o un Arduino Ethernet e' la stessa identica cosa.
In tutti e due sono usati gli stessi pin SPI.

Comunque l'Ethernet e il NRF24L01 possono coesistere, basta che usi un CS ( Chip Select ) diverso
SCK = 13
MISO = 12
MOSI = 11
CS Ethernet = 10
In pratica non devi usare il pin 10, perche' riservato alla ethernet

PS. Dato che sia lo Shield che Arduino Ethernet hanno a bordo anche lo slot SD, anche il pin 4 e' riservato

Ciao grazie per la tua risposta.

Ma utilizzando Arduino Ethernet mi eviterebbe almeno la modifica hardware che dovrei fare con la UNO+shield per parallelizzare il bus SPI?(al fine di collegare in parallelo shield+NRF).

Grazie ancora...

Come ti dicevo, e' la stessa cosa. Anche a livello meccanico.
In tutti e due i sistemi hai il bus SPI su quei pin.

La shield riporta TUTTI i pin di collegamento

Si, però quello che non capisco è questo:
mentre nel primo caso la ethernet shield è infilata in arduino UNO tramite i pin maschio(della shield) e i pin femmina(della UNO), per cui per collegare un transceiver NRF sui pin SPI bisogna fare una modifica hardware di fili affinché sia in parallelo con la shield, nel secondo caso dovrei evitare questa parallelizzazione di fili in quanto la arduino ethernet ha i soli pin femmina nei quali posso infilare il transceiver NRF.

Se invece infilassi il transceiver NRF nei pin femmina della ethernet shield, metterei le due periferiche in serie anziché in parallelo. Ecco perchè secondo me converrebbe di più usare la sola ethernet shield.

Ti trovi con me su questa cosa?

Per quanto riguarda la gestione di funzionamento, mi sto informando meglio e mi trovo con quello che dici e cioè che tramite il pin CSN (chip enable), posso attivare uno e spengnere l'altro e viceversa (ponendo i pin a LOW/HIGH) a seconda dell'uso.

Intanto grazie ancora e scusa le domande banali...
Gianfranco

Ti faccio un disegnino, cosi' ti rendi conto che esiste solo un collegamento in parallelo.

Per quanto riguarda la gestione di funzionamento, mi sto informando meglio e mi trovo con quello che dici e cioè che tramite il pin CSN (chip enable), posso attivare uno e spengnere l'altro e viceversa (ponendo i pin a LOW/HIGH) a seconda dell'uso

Ci pensano le librerie

Cavolo, io pensavo che il bus arduino_UNO<->ethernet_shield forse in serie!

Ora ho capito grazie!!

Quindi sui pin femmina della ethernet_shield (una volta collegata sulla UNO), posso collegare l'NRF e si trova già in parallelo?

A questo punto, poichè arduino ethernet per essere programmata via PC necessita dell'adattatore seriale/USB, mi sa conviene di più la combinazione della UNO+shield.
:blush: :blush:

Quindi sui pin femmina della ethernet_shield (una volta collegata sulla UNO), posso collegare l'NRF e si trova già in parallelo?

Yes

A questo punto, poichè arduino ethernet per essere programmata via PC necessita dell'adattatore seriale/USB, mi sa conviene di più la combinazione della UNO+shield.

Ci sono fattori economici e fattori di praticita'.
Se non hai problemi di dimensione.... allora usa lo shield

Ok grazie mille, chiarissimo.

ps. come mai mi hai indicato che anche che il pin 4 è riservato? Serviva a qualcosa nel problema che ho posto o l'hai indicato giusto per info?