Go Down

Topic: Collegare 2 arduino da seriale (Read 4 times) previous topic - next topic

m.alverman

E' possibile collegare due schede arduino e farle 'parlare' da seriale.
Cioè da un arduino accendere dei led sull'altra scheda arduino comunicando dalla rispettiva porta seriale.

Grazie, Alberto

leo72

I pin D0 e D1 sono per le comunicazioni seriali. Se colleghi il pin TX del 1° Arduino al pin RX del 2° Arduino e viceversa, puoi fare in modo che si scambino informazioni (impostando i dovuti sketch su entrambi).


Federico

Potresti collegarle anche via i2c, che forse e' piu' interessante come soluzione e mantieni la comunicazione con un eventuale computer
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

m.alverman

Ok :)

I due arduino dovrei collegarli con un cavo di 10/15 metri ........ non dovrei avere problemi sulla seriale vero ?

Grazie, Alberto

uwefed

Se la Baudrate non é troppo alta non hai problemi.

Se usi la seriale sui pin 0 e 1 digitali non potrai piú usare l' interfaccia USB perché verrá bloccata dal collegamento col altro Arduino. Per poterla usare deci scollegare il cavo tra i 2 Arduini.
Soluzione: usare una seriale emulata via sotware.

Ciaop Uwe

erpomata

Riprendo questa discussione perchè dovrei fare proprio quello indicato in oggetto.
Visto che il thread è rimasto a mezz'aria vorrei sapere cosa si intende per:

Soluzione: usare una seriale emulata via sotware.



uwefed

C'é la libreria  http://arduino.cc/en/Reference/SoftwareSerial che gestisce una seriale non implementata via HW ma via SW (programma) che puó essere usato su tutti i pin. In questo modo tieni libera la seriale per la comunicazione col PC.
Ciao Uwe

erpomata

Grazie mille.
Ho dato uno sguardo alla libreria ma francamente non ho capito come fare i collegamenti.
Devo cortocircuitare i pin rx/tx su una stessa scheda arduino o nell'esempio utilizza 2 schede distinte.


Grazie

leo72

Devi incrociare i pin 0 e 1.

I pin D0 e D1 sono per le comunicazioni seriali. Se colleghi il pin TX del 1° Arduino al pin RX del 2° Arduino e viceversa, puoi fare in modo che si scambino informazioni (impostando i dovuti sketch su entrambi).

erpomata

Allora io ho collegato 2 arduino uno sui pin 2/3 invertiti (il 2 del primo sul 3 del secondo e viceversa).
Avviando lo script di esempio Software Serial Example ovviamente installato su entrambi gli arduino mi da tutti caratteri strani sulla console seriale.

Secondo voi dove posso sbagliare?

PaoloP

L'esempio da te citato imposta la seriale hardware a 57600. Devi settare questa velocità nel serial monitor dell'IDE.
Mentre le due seriali emulate viaggiano a 4800. A seconda della distanza puoi provare anche ad aumentare questa velocità o a diminuirla in caso di errori di comunicazione.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

erpomata

La velocità della console seriale l'ho abbassata a 9600 (a 57600 non funzionava anche modificando il valore nella tendina) mentre ho lasciato invariata la velocità delle seriali emulate (4800). Ma così non funziona.


Proverò ad abbassarla.

pietro78

Scusa ma hai collegato i gnd dei due arduini in comune ??
Mi sembra che vada fatta questa cosa...

erpomata

ops questa cosa non l'ho fatta ma il pc a cui erano collegate le arduino era lo stesso.
Domani provo.

tuxduino

Penso che questo possa interessarti. Io non l'ho (ancora) provata, ma mi sembra valga decisamente la pena dare un'occhiata.

http://www.billporter.info/easytransfer-arduino-library/

Go Up