Pages: [1]   Go Down
Author Topic: Arduino"A" invia temperatura a Arduino"B" tramite pin Tx-Rx  (Read 2297 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 2
Posts: 105
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho appena finito di realizzare una centralina per il controllo delle temperature di una caldaia con bollitore per acqua calda sanitaria utilizzando praticamente tutti i pin di un ARDUINO1 con tanto di display LCD e uscite relè di allarme e elettrovalvole....

Ora per completare il mio progetto avrei bisogno di remotizzare i dati di temperatura su internet e non ho più i pin disponibili per la shield Ethernet...
Gli unici PIN disponibili a me sono i PIN 0,1 ( tx e rx) e il PIN A5 quindi mi chiedevo come fosse possibile far inviare i dati dall Arduino A già funzionante a un'altro Arduino B con ethernet shield a bordo tramite  i piedini TX-RX incrociati tra loro e gnd in comune...Come devo impostare gli sketck tra Arduino A e Arduino B ???

Sò bene che se utilizzo i pin 0 e 1  stronco la porta usb ma una volta assicurato che il tutto funziona posso benissimo farne a meno...oppure avete altre soluzioni semplici ???

Grazie per favore ....
Logged

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

Basta che incroci i fili RX/TX tra i 2 Arduino, ossia TX1->RX2 e RX1<-TX2.
Per l'invio dei dati si ne parla continuamente, si tratta di dover ricomporre dei dati che arrivano in forma binaria. Basta cercare sul forum e trovi tutte le soluzioni.

EDIT:
di che distanze parliamo?
Se sono qualche decina di centrimetri va bene, se si parla di decine di metri ti consiglio l'uso del bus RS485, è una semplice seriale "estesa" che puoi usare con 2 semplici integrati, una coppia di 75176 o di MAX485 (consiglio i primi).
« Last Edit: September 16, 2012, 04:49:08 am by leo72 » Logged


Tuscany
Offline Offline
Edison Member
*
Karma: 78
Posts: 2147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Personalmente collegherei il display in I2C  http://ardugonic.blogspot.it/2010/07/controlling-lcd-display-via-i2c-bus.html  in modo da risparmiare pin per inserisci una Shield ethernet.

Logged

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

Personalmente collegherei il display in I2C  http://ardugonic.blogspot.it/2010/07/controlling-lcd-display-via-i2c-bus.html  in modo da risparmiare pin per inserisci una Shield ethernet.


Ma gli manca A4.
Gli unici PIN disponibili a me sono i PIN 0,1 ( tx e rx) e il PIN A5
Logged


Offline Offline
God Member
*****
Karma: 9
Posts: 550
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@leo72:uso la seriale a quasi 20 metri senza problemi..ho provato anche a raddoppiare le distanze,e funge....anzi,la prima volta m'ero dimenticato di connettere la gnd comune,e funzionava tranquillamente,poi mentre stavo chiudendo la scatola vedo un filo e dico: "cos'è questo?"...
PS:non ho mai provato a velocità superiori dei 38000..
Logged

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

@leo72:uso la seriale a quasi 20 metri senza problemi..ho provato anche a raddoppiare le distanze,e funge....anzi,la prima volta m'ero dimenticato di connettere la gnd comune,e funzionava tranquillamente,poi mentre stavo chiudendo la scatola vedo un filo e dico: "cos'è questo?"...
ROTFL  smiley-yell

Se è un ambiente domestico potrebbe anche usare la seriale nuda e cruda. Ma visto che quei 2 chip non costano niente e che alla fine li gestisce sempre come fosse una seriale normale, perché non aggiungerli?
Logged


Tuscany
Offline Offline
Edison Member
*
Karma: 78
Posts: 2147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ma gli manca A4.

l'LCd si porta via 6 pin.
4 sono quelli usati dallo Shield Ethernet
quello che collega al Pin A4 lo connette a uno dei due pin che avanzano e cosi' a l'I2C libera


Logged

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

Ragazzi grazie dei consigli ma la mia richiesta specifica era un'altra....  :

Quote
l'LCd si porta via 6 pin.
4 sono quelli usati dallo Shield Ethernet
quello che collega al Pin A4 lo connette a uno dei due pin che avanzano e cosi' a l'I2C libera

Quote
Personalmente collegherei il display in I2C  http://ardugonic.blogspot.it/2010/07/controlling-lcd-display-via-i2c-bus.html  in modo da risparmiare pin per inserisci una Shield ethernet.

Si ma io ho bisogno di 5 ingressi analogici e per tale motivo mi avanza solamente il pin A5 quindi è da escludere il bus I2c e anche il display...

Ora sono riuscito a liberare 2 pin DIGITALI ( pin 6 e pin 7) e vorrei provare ad usare la libreria soft serial per trasmettere i dati di temperatura dei 5 ingressi Analogici e avere così libera la seriale arduino sui pin 0-1 ma arrivo al dunque come posso fare a trasmettere i dati dalla'Arduino A all'Arduino B ???

E poi se uso i 2 pin digitali  6 e 7 sull'Arduino A come porta seriale "virtuale" come devo collegarli sull'Arduino B ???
...immagino che debba usare comunque altri 2 pin digitali anche sull'altro Arduino B ??!!!

Mi date qualche esempio FACILE di qualche sketch semplice per la comunicazione seriale con la libreria giusta per i 2 Arduini ???
Grazie... smiley-cry   smiley-cry  smiley-confuse
Logged

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

Mi date qualche esempio FACILE di qualche sketch semplice per la comunicazione seriale con la libreria giusta per i 2 Arduini ???
Grazie... smiley-cry   smiley-cry  smiley-confuse

http://arduino.cc/en/Reference/Serial
Un Arduino spedisce i byte con
http://arduino.cc/en/Serial/Print
Sull'altro guardi se ci sono byte disponibili
http://arduino.cc/en/Serial/Available
e poi li leggi con
http://arduino.cc/en/Serial/Read

Come ti ho già detto, sul forum esistono centinaia di discussioni in merito. Facendo una ricerca con ad esempio "comunicazione seriale" vengono fuori un sacco di risultati, ad esempio questa:
http://arduino.cc/forum/index.php/topic,115283.0.html
Logged


0
Offline Offline
Faraday Member
**
Karma: 47
Posts: 5957
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pietro le strade restano due, o ti leggi i topic che dice leo, anche cercando sul forum e trovi roba,
oppure cambia i sensori, presuppondo che i 5 pin analogici li tieni occupati da sensori temperatura ? passa a sensori digitali onewire, e con un solo pin ne metti quanti vuoi, costano meno degli lm35.
in compenso hai pin libero per l'ethernet o il wi-fi shield. il rpogetto sarebbe migliore secondo me.
se vuoi invece restare sul doppio arduino (che onestamente sembra sprecato), con la seriale confermo che non sono pochi centimetri, ci vai lontano, potresti arrivare anche a 100m con cavi schermati, lo standard non definisce un limite
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

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

Scusate ma forse non ho bene in chiaro quello che é la comunicazione con la ethernet shield ma da quello che ho imparato infilando la shield sull'arduino1 essa usa dei pin predefiniti dall'hardware stesso della scheda e quindi non mi pare che liberando i pin analogici a0...a5 io riesca ad usare la ethernet shield per tale motivo ho preferito usare sensori di temperatura NTC a mio avviso piú affidabili e non potendo comprare un arduino mega ho scelto l'Arduino1 per eleborare  e poi per spedire i dati in remoto ed avere modo di pilotare delle uscite volevo utilizzare un altro arduino con scheda di rete...e comunque sarei sempre grato a qualcuno che in qualche modo mi sappia aiutare su come riuscire a far spedire i dati (come stringhe,byte,...) dall'Arduino A all'Arduino B...vorrei qualche esempio pratico di sketch dei due arduini...da modificare per le mie esigenze specifiche...grazie menti geniali...confido in voi...
Logged

0
Offline Offline
Faraday Member
**
Karma: 47
Posts: 5957
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si, la ethernet shield usa dei pin predefiniti, mentre il tuo progetto no, cioe' tu ti vai a guardare quali pin necessita lo shield, e li liberi, soostando su altri pin il resto del progetto.
A te non interessa se un led lo fai accendere su pin 11 o su pin A3, e' indifferente.
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Pages: [1]   Go Up
Jump to: