Go Down

Topic: Collegare 2 arduino da seriale (Read 5093 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.


http://www.paologiammarco.it
http://www.valentinamagni.it

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
http://www.paologiammarco.it
http://www.valentinamagni.it

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?
http://www.paologiammarco.it
http://www.valentinamagni.it

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.

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.
http://www.paologiammarco.it
http://www.valentinamagni.it

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.
http://www.paologiammarco.it
http://www.valentinamagni.it

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