Comunicazione Bidirezionale tra due schede

Salve a tutti sto cercando di mettere in comunizione due schede Arduino.

Ho visto in rete vari esempi molto esaustivi. Però tutti fanno si che una scheda trasmetta e l'altra riceve.

Vorrei capire come potrei fare affinchè comunichino tra di loro in modo bidirezionale.
Cioè una scheda invia dei dati l'altra li riceve li elabora e li reinvia.
Quindi entrambe le schede si devono comportare da server e client allo stesso tempo.
E' possibile come si potrebbe fare???

Grazie del vostro aiuto.

Se colleghi i pin seriali tra le due schede hai già RX e TX..

Se la seriale ti serve per altro puoi usare SPI o I2c.

SukkoPera:
Se la seriale ti serve per altro puoi usare SPI o I2c.

Entrambi però sono protocolli single master multi slave, per configurazione standard. In caso i dispositivi sono due ed è necessario il full duplex molto meglio liberarsi una bella UART HW.

I2c non lo conosco molto, quindi non so dire, ma SPI funziona benissimo anche con solo un master e uno slave. Anzi, in questo caso ti risparmi anche la gestione dello SS. La comunicazione è bidirezionale, unico vincolo è che decide il master quando scambiare i dati. A seconda dei casi questo può comunque non essere un problema. Ovvio che se ci sono UART libere è inutile complicarsi la vita :). Eventualmente si possono anche creare seriali software!

Raramente un progetto finito che contempla due Arduino in comunicazione diretta va collegato ad un PC, quindi do per scontato che la UART sia libera. Il "problema" se vogliamo proprio chiamarlo cosi del SPI e del I2C è appunto che solo il master può iniziare una trasmissione. Con configurazioni più avanzate a livello SW si può implementare un multi master, ma non raggiunge la velocità e la stabilita di una UART HW.

Se non sapete la distanza tra le schede, come fate a suggerire un SPI un I2c o un seriale?

Grazie per le varie risposte ora ceercherò di informarmi sulle tipologie che mi avete fornito e farò qualche prova.

Comunque la mia richiesta (cosa che ho dimenticato di specificare) è una connessione bidirezionale senza fili utilizzando un modulo a radiofrequenza o un modulo wifi o bluethoot.

Grazie a tutti.

Ah ottimo, ti sei solo dimenticato di dire che volevi un collegamento senza fili :zipper_mouth_face:.

hiddenhack:
Comunque la mia richiesta (cosa che ho dimenticato di specificare) è una connessione bidirezionale senza fili utilizzando un modulo a radiofrequenza o un modulo wifi o bluethoot.

... stessa cosa di cui si è accennato in QUESTO thread. Vale la stessa risposta e gli stessi documenti allegati.

Guglielmo

E comunque non hai ancora specificato la distanza, col bluethoot non vai molto lontano.

pablos:
Se non sapete la distanza tra le schede, come fate a suggerire un SPI un I2c o un seriale?

E hai proprio ragione, do per scontato che chi pone la domanda ci pensi e se lo trascura do per scontato che la distanza sia trascurabile, ma se si è dimenticato di dire che la connessione doveva essere senza fili, direi che non posso assolutamente dare per scontato che abbia considerato che la distanza sia trascurabile.

pablos:
... col bluethoot non vai molto lontano.

... insomma ... con un Classe 1 come QUESTO raggiungi 100 mt :wink:

Guglielmo

Speriamo che non voglia trasmettere/ricevere da Milano a Venezia :smiley: