Go Down

Topic: problemi i2c e comunicazione seriale tra 2 arduino (Read 2 times) previous topic - next topic

lupo95

Jan 13, 2013, 12:39 pm Last Edit: Jan 17, 2013, 07:10 pm by lupo95 Reason: 1
ciao a tutti
in questi giorni stavo provando a utilizzare la connessione i2c fra due arduini:leonardo (master) e uno (slave)
c'è qualcosa che non va mi sapreste aiutare?
grazie mille

Code: [Select]

//MASTER
#include <Wire.h>

int x=1;

void setup()
{
 Wire.begin(); //inizializza la libreria wire come master
 Serial.begin(9600);
}

void loop()
{
 delay(500);
 Serial.println("AVVIA");
 /* invio sul bus i2c di un byte al device che ha come indirizzo
    il valore 0x04*/
 // avvio transmissione
 Wire.beginTransmission(0x04);
 //invio di un byte
 Wire.write(x);
 //chiude la transmissione
 Wire.endTransmission();
 delay(10);
 x=x+1;
}



Code: [Select]

//SLAVE
#include <Wire.h>
int x=0;

void setup()
{
 // inizializzo la libreria
 // imposto l'indirizzo dello slave
 Wire.begin(0x04);
 //eventi per la ricezione del dato
 //e per la richiesta del dato
 Wire.onReceive(receiveEvent);
 Wire.onRequest(requestEvent);
 Serial.begin(9600);
}

void loop()
{
 Serial.println(x);
}

void receiveEvent(int data)
{
 // questo evento è generato quando sul bus
 // è presente un dato da leggere
 // eseguo la lettura
 x=Wire.read();
 
}

void requestEvent()
{
 // questo evento viene generato quando il master
 // richiede ad uno specifico slave
 // una richiesta di dati
 // spedisco il dato al master
 Wire.write(x);
}


grazie a tutti :)

uwefed

Quote
c'è qualcosa che non va

Cos'é di preciso quel "qualcosa che non va"?
Ciao Uwe

lupo95

nn saprei cosa non va i programmi li carica quindi non ci sono errori di lettura ma lo slave dovrebbe stampare su seriale i numeri che il master gli invia ma stampa sempre e solo 0

superzaffo

leggi questo link e prova quello che è scritto.. http://www.gammon.com.au/forum/?id=10896
A me tempo fa ha funzionato...

lupo95

qua dice di collegare la porta analogica 4 e cinque di un arduino con rispettivamente la porta 4 e 5 dell'altro
io collegavo la 4 con l'sda e la 5 con scl sbagliavo?

Go Up