Marcadores

Comunicação entre Arduinos (usando Wire ou I2C)

Existem diversas maneiras de fazer 2 arduinos se comunicarem , eu utilizei a mais clássica usando Wire ou I2C. O Detalhe é que você pode conectar até mais que 2 arduinos usando o I2C.


Para comunicar 2 arduinos Megas usando I2C , você precisa ligar os seguintes pinos entre eles  :

Mega256020 (SDA), 21 (SCL)

Ex  de código:

Enviando um byte para outro arduino



Arduino 1:
const byte SlaveDeviceId = 1;
void setup()
{
   Wire.begin(SlaveDeviceId);
}

void setup()
{
   Wire.begin();
}

void loop()
{
  Wire.beginTransmission(SlaveDeviceId);
  Wire.write(1);
  Wire.endTransmission();
  delay(1000);
}


Recebendo os dados em outro arduino
Arduino 2:

const byte SlaveDeviceId = 1;
void receiveCallback(int numberOfBytes)
{
  while(1 < Wire.available()) 
 { 
   // read byte as a character 
   char c = Wire.read(); 
   if (c == 1)
    {
    //TODO:
    } 
  }
}

void setup()
{
  Wire.begin(SlaveDeviceId);
  Wire.onReceive(receiveCallback);
}

void loop()
{
}

Nenhum comentário:

Postar um comentário