utilizzo parallelo di due arduino collegati in seriale

Salve!!
Avrei bisogno di collegare in seriale due arduino (uno e mega) in modo tale da impostarne uno come master e l'altro come slave.
Il master dovrebbe eseguire uno sketch costantemente, mandando allo slave dei dati che dovrà elaborare e poi restituire.
Il punto è che lo slave dovrebbe fare un procedimento piuttosto lento a livello informatico (muovere un motore passo passo) ed avrei bisogno che, nel frattempo, il master continuasse ad eseguire lo sketch, per poi tornare a ricevere i dati elaborati dallo slave.

Ovviamente il problema è che in tutti gli esempi che ho trovato il master manda dei dati e poi resta ad aspettare la risposta...è possibile farlo invece tramite interrupt o creando uno sketch per il master che controlla se lo slave ha qualcosa da trasferire ed eventualmente abilitando la trasmissione?!
Per il tipo di protocollo seriale pensavo all'i2c perché mi sarebbe comodo per altri motivi, ma è indifferente.

Sai che il titolo "utilizzo parallelo di due arduino collegati in seriale" é molto contradittorio. Una cosa non puó essere seriale e paralello. :wink: :wink:

Puoi usare un Pin di Arduino dove il slave segnala che ha un dato da mandare al Master e di conseguenza il master manda la richiesta di trasmissione del dato.

Piú semplice é usare la seriale al posto della I2C perché la trasmissione é bidirezionale. Lí basta controllare se ci sono dati avviabili (con Serial.available) vedi Serial.available() - Arduino Reference

Ciao Uwe

Si in effetti il titolo è un po' criptico! :slight_smile:

Grazie, proverò poi sicuramente via seriale, che in effetti è più logico, tornerò a chiedere lumi, una cosa che non mi è chiara però è come funziona la trasmissione, cioè dimmi se ho capito bene:

il dispositivo che trasmette dice di avere dati, il ricevente, ad un certo punto dello sketch, che può anche essere 20 secondi dopo che il trasmittente da la disponibilità dei dati, controlla se questi dati sono presenti ed eventualmente li legge.
Nel caso in cui si voglia una trasmissione immediata si imposta, come mi hai suggerito, un terzo pin che genera un'interrput

Funziona così giusto?