Kommunikation zwischen 2 "Arduinos"

Ok, aber genauer soll ich das realisieren?
Ich hab momentan folgenden Code:

[...]
const int MatrixWidth = NUM_ROWS;
const int MatrixHeight = NUM_COLUMNS;

int PixelColor[MatrixWidth+1][MatrixHeight+1][4];

int SerialData;

int CurrentRow = 1;
int CurrentColumn = 1;

String CurrentColor = "r";

String rValue = "";
String gValue = "";
String bValue = "";

int LEDCounter = 0; //Wenn auf 64, sprich alle Pixel gesendet wurden, Bild zeichnen
[...]
if (Serial1.available())
  {
    SerialData = Serial1.read()-'0';
    if (CurrentColor=="r")
    {
      if(SerialData<0||SerialData>9)
      {
        CurrentColor="g";
      }
      else
      {
        rValue+=SerialData;
      }
    } 
    else if (CurrentColor=="g")
    {
      if(SerialData<0||SerialData>9)
      {
        CurrentColor="b";
      }
      else
      {
        gValue+=SerialData;
      }
    } 
    else if (CurrentColor=="b")
    {
      if(SerialData<0||SerialData>9)
      {
        //Serial.println("r="+r+" g="+g+" b="+b);
        LEDCounter++;
        
        char rValue_as_char[rValue.length()+1];
        rValue.toCharArray(rValue_as_char, rValue.length()+1);
        int rValue_as_int = atoi(rValue_as_char);
        
        char gValue_as_char[gValue.length()+1];
        gValue.toCharArray(gValue_as_char, gValue.length()+1);
        int gValue_as_int = atoi(gValue_as_char);
        
        char bValue_as_char[bValue.length()+1];
        bValue.toCharArray(bValue_as_char, bValue.length()+1);
        int bValue_as_int = atoi(bValue_as_char);
        
        //Serial.println("r="+String(rValue_as_int)+" g="+String(gValue_as_int)+" b="+String(bValue_as_int));

        rValue = "";
        gValue = "";
        bValue = "";
        
        CurrentColor="r";
        
        PixelColor[CurrentRow][CurrentColumn][1] = rValue_as_int;
        PixelColor[CurrentRow][CurrentColumn][2] = gValue_as_int;
        PixelColor[CurrentRow][CurrentColumn][3] = bValue_as_int; 
      
        if(CurrentRow == 8)
        {
          if(CurrentColumn == 8)
          {
            CurrentColumn = 1;
          }
          else
          {
            CurrentColumn += 1;
          }
          CurrentRow = 1; 
        }
        else
        {
         CurrentRow += 1;
        }
      }
      else
      {
        bValue+=SerialData;
      }
    }
  }
[...]