Pages: [1] 2   Go Down
Author Topic: Collegare 2 arduino da seriale  (Read 4436 times)
0 Members and 1 Guest are viewing this topic.
Cremona
Offline Offline
Full Member
***
Karma: 2
Posts: 148
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22817
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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).

Logged


Milano, Italy
Offline Offline
Faraday Member
**
Karma: 11
Posts: 3091
Sideralis Arduino!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Potresti collegarle anche via i2c, che forse e' piu' interessante come soluzione e mantieni la comunicazione con un eventuale computer
Logged

Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

Cremona
Offline Offline
Full Member
***
Karma: 2
Posts: 148
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok smiley

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

Grazie, Alberto
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21671
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Roma (RM)
Offline Offline
God Member
*****
Karma: 3
Posts: 634
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Logged


BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21671
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Roma (RM)
Offline Offline
God Member
*****
Karma: 3
Posts: 634
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22817
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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).
Logged


Roma (RM)
Offline Offline
God Member
*****
Karma: 3
Posts: 634
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged


Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7126
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Roma (RM)
Offline Offline
God Member
*****
Karma: 3
Posts: 634
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Offline Offline
Full Member
***
Karma: 2
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Roma (RM)
Offline Offline
God Member
*****
Karma: 3
Posts: 634
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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


Offline Offline
Edison Member
*
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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/
Logged

Pages: [1] 2   Go Up
Jump to: