Pages: [1]   Go Down
Author Topic: Trasmissione variabile tra due arduino  (Read 357 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mettiamo il caso che io debba condividere il valore di due variabili tra due arduino, completi o stand alone che siano, così da demandare al primo la creazione di tali variabili tramite l'interazione con l'utente, ad al secondo l'elaborazione...come è meglio fare?
Diciamo che le variabili siano 2 ad hanno entrambi valori da 0 a 16 e che quindi siano necessari 4 bit per la trasmissione, per un totale di 8 bit, inizialmente pensavo di poter semplicemente collegare in parallelo bit per bit ai pin (in tal caso come sarebbe meglio...serve una resistenza di pull-up o pull-down?) ma poi ho pensato che utilizzare 8 bit per comunicare semplicemente 1 byte è un bello spreco quando con l'I2C ne basterebbero 2...per quanto non un fulmine è pur sempre 1 byte!
La domanda a questo punto è: essendo le due variabili non necessariemente modificate allo stesso momento, è possibile comunicare un valore da attribuire ad una variabile o si può semplicemente inviare un valore assoluto?
Logged

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

Mettiamo il caso che io debba condividere il valore di due variabili tra due arduino, completi o stand alone che siano, così da demandare al primo la creazione di tali variabili tramite l'interazione con l'utente, ad al secondo l'elaborazione...come è meglio fare?
Diciamo che le variabili siano 2 ad hanno entrambi valori da 0 a 16 e che quindi siano necessari 4 bit per la trasmissione, per un totale di 8 bit, inizialmente pensavo di poter semplicemente collegare in parallelo bit per bit ai pin (in tal caso come sarebbe meglio...serve una resistenza di pull-up o pull-down?) ma poi ho pensato che utilizzare 8 bit per comunicare semplicemente 1 byte è un bello spreco quando con l'I2C ne basterebbero 2...per quanto non un fulmine è pur sempre 1 byte!
smiley-eek
Ho perso il filo...
Non capisco cosa c'entrino le resistenze col pilotaggio dei pin manipolando direttamente le porte logiche del chip.
Non capisco alla fine quando dici che per spedire 8 bit su I2C ne impieghi solo 2.

Quote
La domanda a questo punto è: essendo le due variabili non necessariemente modificate allo stesso momento, è possibile comunicare un valore da attribuire ad una variabile o si può semplicemente inviare un valore assoluto?
Se "spedisci" un valore, spedisci questo valore, non mandi un riferimento o quant'altro.

Questo link intanto ti può chiarire come assegnare contemporaneamente agli 8 pin agganciati ad una stessa porta lo stato che devono assumere:
http://www.arduino.cc/en/Reference/PortManipulation
Logged


Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non capisco cosa c'entrino le resistenze col pilotaggio dei pin manipolando direttamente le porte logiche del chip.
Non capisco alla fine quando dici che per spedire 8 bit su I2C ne impieghi solo 2.

Il fatto è che provando ad utilizzare un interruttore, senza resistenze di pull down i valori che leggono le porte a volte sono sballati...e mi chiedevo quindi se collegando un pin in output di un arduino ad un pin di input direttamente non si incorra nello stesso problema...
Per quanto riguarda l'I2C dicevo che per spedire un byte in quel modo impiegherei solo 2 pin contro gli 8 necessari in parallelo


Quote
Se "spedisci" un valore, spedisci questo valore, non mandi un riferimento o quant'altro.

Questo link intanto ti può chiarire come assegnare contemporaneamente agli 8 pin agganciati ad una stessa porta lo stato che devono assumere:
http://www.arduino.cc/en/Reference/PortManipulation


Il link è molto interessante, fa proprio al caso mio, anche perchè da quanto mi dici l'I2C non permette di specificare altro se non un valore, a quel punto la cosa da fare nell'arduino slave sarebbe quella di interpretare tale valore e ricostruire le due variabili separatamente no?
Logged

Pages: [1]   Go Up
Jump to: